声明:请勿利用文中相关技术非法测试,如因此产生的一切不良后果与文章作者及本公众号无关!
DC-6是一个易受攻击的实验环境,最终目的是让入侵者获得root权限,并读取flag。DC_6使用的操作系统为Debian 64位,可以再virtualBox VM ware上直接运行。作者在后面列出了相关提示:
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
靶场下载链接:
Download: http://www.five86.com/downloads/DC-6.zip
Download (Mirror): https://download.vulnhub.com/dc/DC-6.zip
Download (Torrent): https://download.vulnhub.com/dc/DC-6.zip.torrent ( Magnet)
01
环境搭建
根据作者的安装说明,将压缩文件下载后,通过vm或者virtualbox打开即可,注意由于作者设置为桥接模式,为了试验方便此处可以人为改为NAT模式。
02
主机发现
通过arp(地址解析协议)进行局域网内主机发现,arp是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。此处利用metasploit工具下auxiliary模块,通过arp协议发现内网主机的ip地址为192.168.71.132。
03
端口探测
利用nmap工具进行端口探测,相信大家对于nmap已经相当熟悉了,下面列举了一些nmap常见参数:
-sT TCP扫描 -sS SYN扫描 -sF FIN扫描 -sA ACK扫描 -sU UDP扫描 -sR RPC扫描 -sP ICMP扫描 -sn ping扫描 -iL 文件读取ip地址 -O 操作系统识别 -T4 级别越高,扫描速度越快 -sV 版本检测(sV) | -oN 标准保存 -oX XML保存 -oG Grep保存 -oA 保存到所有格式 --host-timeout 主机超时时间 通常为18000 --open 只显示开放端口 |
---|
有端口扫描结果可知系统开放了两个端口:22端口(ssh),80端口(http)。此处有两个利用思路,第一种是通过hydra对ssh服务进行爆破,第二种思路则是通过web进行渗透。可以进一步发现http服务被重定向到了http://wordy/
04
访问web服务
由于web服务被重定向到了http://wordy/ 此时可以本地添加域名到主机文件,这样以后我们访问http://wordy/
就相当于访问对应的ip地址。添加完域名及对应ip后,可以发现已经能够访问http://wordy/
vim /etc/hosts
05
利用工具对wordpress网站信息搜集
查看打开的页面为wordpress搭建的web环境,利用工具wpscan对该web环境进黑盒扫描(WPScan是一个扫描WordPress漏洞的黑盒子扫描器),可以获取到wordpress的版本,主题,插件,后台用户以及后台用户密码等。执行过程如下:
wpscan --url http://wordy --enumerate vp --enumerate vt --enumerate t --enumerate u
获取到的可用信息如下:
http://wordy/xmlrpc.phphttp://wordy/readme.htmlhttp://wordy/wp-cron.php
wordpress版本为:5.1.1Author: the WordPress team
枚举出的用户姓名如下:
admin
graham
mark
sarah
jens
06
利用已知提示登录系统
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
在kali系统执行词条语句,生成密码字典passwords.txt
根据枚举出的用户名和密码进行登录(http://wordy/wp-login.php
)可以看到如下图所示界面,通过wordspress管理后台分析,并没有发现可以利用的漏洞。此时尝试寻找是否存在插件漏洞:activity monitor
07
activity monitor 漏洞利用
将45274.html中的内容根据如下格式进行修改:
nc -l -v -p 9999
在本机进行监听,通过web访问45274.html文件,点击运行后。可以看到nc成功反弹,效果如下图所示:
进一步执行如下指令获取完整的shell:
python -c 'import pty; pty.spawn("/bin/bash")'
通过目录查看,发现在/home/mark/stuff
目录下存在thing-to-do.txt
文件,其内容为:
Things to do:
- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement
添加了一个用户graham 口令为 GSo7isUM1D4 ,因为系统开放了22端口,此时可以通过ssh登录该用户。
08
提权
ssh graham@192.168.1.103
输入登录口令:GSo7isUM1D4
ssh成功进行了登录,此时登录用户为graham。
继续输入 sudo -l
查看可执行的操作。发现能够以jens用户,不使用口令执行情况下执行backups.sh。打开文件backups.sh为一个文件减压的命令行,可将减压指令删除,换成/bin/bash
以jens用户去执行操作。
此时用户为jens,进一步,继续执行sudo -l
查询可执行的操作,发现能够以root用户,在不使用口令的的情况下执行nmap。故可通过nmap指令调用自己设定好的脚本如执行/bin/bash。新建一个nmap可执行的脚本 root.nse,输入如下内容:
通过nmap运行该root.nse脚本,进入root用户。