连接vpn获取ip:
扫一下端口:
发现目标机器开启了22、80、8089三个端口。
看一下80端口:
应该是个诊所之类的官网。扫一下目录:
about.html:
知道了域名可能为doctor.htb
contact.html页面内容同上。
images:
应该是网页的图片,没啥用处。
js:
详细阅读后也没发现可利用的点,网站主页也没有利用价值。
看看8089端口:
连接被重置。改一下hosts文件试试:
还是有问题,只好先放一放。
直接访问域名看看:
好像有点不一样。看看网页信息:
随手注册一个账号看看:
搞个abcd/abcd账号密码组合。登陆看看:
好像可以发帖子。因为flask有一个ssti注入,所以尝试创建一个新帖子,试试ssti注入:
好像并没有效果。但是查看了源码后我发现了如下内容
说是这个目录还在测试中,尝试访问一下这个目录:
空白页,看一下源码:
确实是执行了1+1,也就是说这边应该是存在一个ssti注入。
尝试直接让他反弹shell:
访问archive后确实直接弹shell了
查看权限:
尝试提权:
查看用户信息:
发现该机器上存在splunk、shaun、web、root四个账户。
尝试直接读取shaun账户中的flag:
权限不允许。
先搞一个tty:
然后尝试sudo -l:
没密码,g。
找找有suid的程序、文件:
没发现可利用内容。
看看文件:
备份日志里出现了这样的内容。由于此处是重置密码页面的日志信息,所以猜测此处所显示的Guitar123是一个密码。
尝试用这个密码去切换到shaun用户:
成功切换。
获取第一个flag:
进一步提权。
我记得之前扫端口的时候扫到过splunk,这玩意好像可以提权:
试试这个脚本:
脚本
开启监听:
执行脚本:
成功getshell,权限为root。查看第二个flag:
搞定。
本文作者:Thelion, 转载请注明来自FreeBuf.COM