Vulnhub 靶场 DOUBLETROUBLE: 1
前期准备:
靶机地址:https://www.vulnhub.com/entry/doubletrouble-1,743/
kali攻击机ip:192.168.11.129
靶机 ip:192.168.11.182
一、信息收集
1.使用nmap对目标靶机进行扫描
发现开放了22和80端口
2. 80端口
是个登录界面,用的是 qdPM 9.1 系统,扫一下目录看看有没有什么发现:
查看一下可用的信息:
发现了文件的上传目录:
在 /secret 目录下发现了一个可疑图片:
不像是系统里的图片,应该是提示信息,下载下来图片
3.图片隐写
看看有没有隐写:
发现有密码,那应该思路没错,用隐写爆破工具 stegseek 爆破一下:
查看接出来的 output 文件:
发现邮箱和密码,登陆一下网站:
**otisrush@localhost.com
otis666
**
二、漏洞利用
查看一下网站,看看有没有什么可利用的点,之前扫出来的目录有上传文件的目录,找找有没有可以上传文件地方:
发现修改个人信息里有上传图片地方,不知道检不检查文件格式,写一个php shell文件上传一下试一试:
shell 文件用的是 https://www.revshells.com/ 中的 PHP pentestmonkey,自动就能生成,很方便的网站。
上传之后报错了:
看一下 /uploads 目录:
发现其实上传成功了,那就访问一下并监听:
写入交互式shell:
三、提权
查看一下权限:
发现是以root权限运行的 awk,awk 是一种处理文本文件的语言的文本分析工具。可以进行提权(https://gtfobins.github.io/gtfobins/awk/):
sudo awk 'BEGIN {system("/bin/sh")}'
发现得到root权限。查看一下系统中的文件:
在 /root 下发现了一个镜像,其他的没有什么发现。只能开个把这个镜像下载下来。
四、第二台靶机
安装一下这个镜像,这就不多说了。
地址是 192.168.11.183,使用nmap对第二台目标靶机扫描
发现开了22和80端口,访问一下80端口:
是个登录窗口,尝试登陆了一下,什么也没变化。
五、sql注入
推测有某种sql注入,懒得手测,直接上sqlmap:
发现是易受基于时间的sql注入,爆下数据库:
sqlmap -u "http://192.168.11.183/" -forms -dbs
爆下 doubletrouble 数据库的表:
sqlmap -u "http://192.168.11.183/" -forms -D doubletrouble --tables
发现 users 表,爆下表信息:
sqlmap -u "http://192.168.11.183/" -forms -D doubletrouble -T users --dump
发现两个账号,ssh登陆一下:
只有 clapton 用户能登进去,查看一下系统文件:
发现 clapton 用户的主目录中有一个flag。然后进行提权。
六、第二台靶机提权
查看一下系统信息:
发现是 Linux 内核 3.2.x。而且,有一个著名的漏洞 “Dirty Cow” 已经影响了包括这个在内的很多版本。
参考:https : //github.com/FireFart/dirtycow/blob/master/dirty.c
把这个源码复制下来编译一下:
gcc -pthread dirty.c -o dirty -lcrypt
然后执行 ./dirty root
这里是创建了一个密码为 root 的 root 用户 firefart。此外,它还将原始 /etc/passwd 文件备份为 /tmp/passwd.bak。一旦我们获得了用户,我们
就可以通过 SSH 进入它,切换到 firefart 用户。
这里就拿到root了,查看flag:
这里还可以改 root 的密码。