下载地址
https://www.vulnhub.com/entry/doubletrouble-1,743/
环境搭建
VirtualBox,vmware靶机:192.168.56.106kali:192.168.56.102
获取靶机IP
靶机IP为:192.168.56.106
端口扫描
nmap -A 192.168.56.106 -p 1-65535
发现开启了 22,80端口
打开网站,发现是一个后台登陆界面
最下面也可以看到是qdPM9.1,尝试了万能密码,和弱口令都无法进行登录,sql注入也没法进行注入。
看上去有点像是shiro框架,利用shiro反序列化工具进行测试,无果。
通过搜索引擎查找相关的漏洞,发现都是要登录后台才能利用的
目录扫描
在install目录中发现的也是qdPM9.1
在secret中有一张奇怪的图 doubletrouble.jpg。和靶机的名字一毛一样
使用stegseek对图片进行解密 只能在linux中安装,我是在kali里安装的
github:https://github.com/RickdeJager/stegseek/releases
kali自带了rockyou.txt,不过可能是rockyou.txt.gz形式,需要解压一下
gunzip /usr/share/wordlists/rockyou.txt.gz #解压sudo stegseek ./doubletrouble.jpg /usr/share/wordlists/rockyou.txt
果然这张图有问题 得到账号和密码
otisrush@localhost.com/otis666
成功登录了后台
qdPM漏洞利用
在db里的一个远程代码执行漏洞
https://www.exploit-db.com/exploits/50175
把这个下载下来,在本地使用python运行,格式有点问题 ,有些地方需要把回车调一下
脚本出错,,在upload/目录下没有看到上传的shell,上传失败。
分析漏洞代码,发现就是用户的myAccount界面的图片那一栏是可以上传文件的,那我们就可以上传一个php反弹shell的脚本。
上传shell的地址:
http://192.168.56.106/index.php/myAccount
看着是报错了,感觉没有上传成功,但是去upload目录进行查看,是上传成功了的
kali监听自身端口4444,刷新马子页面,即可获取执行shell。
提权
查看当前用户能使用sudo的权限 ,可免密执行awk命令
搜索引擎搜索awk,发现该命令可以进行提权,使用如下命令
sudo awk 'BEGIN{system("/bin/bash")}'
获得了root权限 ,切换到root家目录
看到了一个和靶机一样的文件
查看靶机是否有python环境
python –-version
python开启http服务进行下载
Python >= 2.4python -m SimpleHTTPServer 8000
在本地导入下载的doubletrouble.ova
获取doubletrouble.ova的IP
靶机IP为:192.168.56.107
端口扫描
nmap -A -p 1-65535 192.168.56.107
开启了22和80端口
80端口进行查看网站是一个登录页面
目录扫描
只得到了一个index.php页面也就是登录界面,进行万能密码的尝试
查看是否存在注入
burp抓包,使用sqlmap测试发现是存在延时盲注
使用sqlmap跑出来两个账号密码
python2 sqlmap.py -r 111.txt -p uname -Ddoubletrouble -T users --dump
使用这两个账号密码登录网站发现都是无法登录
尝试登录ssh,使用第二个账号密码成功登录ssh
提权
不存在sudo命令
查看系统版本uname -runame -a得到的是3.2.0
cat /etc/*-release 发现是debain 7
搜索引擎查找相关提取漏洞,发现可以通过脏牛提权
Github:https://github.com/FireFart/dirtycow
这个poc可以生成一个账号名为firefart的root用户
下载poc上传到靶机的tmp目录下,然后编译,执行
gcc -pthread dirty.c -o dirty -lcrypt./dirty
su – firefartroot
成功提权到root权限,获得flag
本次知识分享到这就结束了,谢谢大家的观看