这次的内容是DC系列的第五个靶机,不得不说这个系列每一个靶机都很有代表性,闲话少叙,搞起来。
第一步依然是端口扫描,不解释
从扫描结果来看,靶机除了开放了web服务外,貌似还开放了nfs,尝试扫描一下,没结果,看来被带跑偏了。
接着从web下手,没发现什么上可以利用的地方,google被和谐了,只好求助bing,有大神说thankyou.php这个页面看起来应该有个本地文件包含漏洞可以利用(话说怎么看出来的呢?),如下图。
尝试读取/etc/passwd,确实可以读取到本地的文件。但是也只是可以读取而已,怎么才能写入webshell呢?
大神们的思路真是广,利用nginx的日志实现写入,只要把精心编辑过的代码包含到web的请求中就可以利用日志功能将内容写入到文件了。
那么利用curl向服务端提交一个get请求,并将UA设置为包含反弹shell的php代码。
本地利用nc监听相应端口,利用之前找到的本地文件包含漏洞执行刚刚写入到日志中的php代码,成功反弹shell,再用python的pty得到交互式shell。
通过find命令查找具有suid的文件,找到了两个疑似可以利用的,一个是at,一个是screen-4.5.0,先查看at的uid,不是root,不具备利用条件。
screen-4.5.0这个文件的uid为root,貌似可以利用。
通过sploit-db搜索利用方法。
根据文件中的内容编译libhax.so和rootshell,并上传到目标的/tmp目录下,并执行exploit.sh脚本。
最后执行rootshell,成功得到root权限。
在root目录下找到了flag文件。
成功拿到flag。