MindCOld/FreePBX-16-RCE-PoC-Unauthenticated-
GitHub: MindCOld/FreePBX-16-RCE-PoC-Unauthenticated-
针对 FreePBX 15/16/17 版本未认证远程代码执行漏洞的概念验证利用工具,用于验证通过输入验证绕过实现无需认证即可获取服务器 shell 访问权限的高危安全风险。
Stars: 0 | Forks: 0
# FreePBX 16 RCE - 未认证远程代码执行 PoC
  
## 📋 概述
本概念验证演示了 FreePBX 15、16 和 17 版本中存在的**严重的未认证远程代码执行漏洞**。由于多个 endpoint 中对用户提供的数据过滤不足,导致该漏洞的存在,攻击者可借此操纵数据库并获取直接的 shell 访问权限。
### 核心功能
- ✅ **无需认证** - 不需要任何凭证
- ✅ **直接 Shell 访问** - 立即以 Web 服务器用户身份实现 RCE
- ✅ **多版本支持** - 影响 FreePBX 15、16 和 17
- ✅ **无需复杂利用** - 直接的攻击向量
## 🔴 漏洞详情
| 属性 | 值 |
|----------|-------|
| **严重程度** | 严重 |
| **CVSS 评分** | 9.8 |
| **攻击向量** | 网络 |
| **攻击复杂度** | 低 |
| **所需权限** | 无 |
| **用户交互** | 无 |
| **影响范围** | 未改变 |
| **受影响版本** | FreePBX 15.x, 16.x, 17.x |
### 漏洞链
1. **输入验证绕过** - 未过滤的 endpoint 参数
2. **数据库操纵** - 通过易受攻击的 endpoint 直接进行 SQL/ORM 操纵
3. **代码执行** - 通过数据库字段进行命令注入
4. **Shell 访问** - 以 Web 服务器用户(www-data)身份执行
## 🚀 快速开始
### 前置条件
```
python3 >= 3.8
requests
```
### 安装说明
```
git clone https://github.com/MindCOld/FreePBX-16-RCE-PoC-Unauthenticated-.git
cd FreePBX-16-RCE-PoC-Unauthenticated-
pip install -r requirements.txt
```
### 基本用法
```
python3 exploit.py -t http://target.com:80
```
### 交互式 Shell
```
python3 exploit.py -t http://target.com:80 -i
```
## 📖 用法示例
### 扫描漏洞
```
python3 exploit.py -t http://192.168.1.100 --check
```
### 执行单条命令
```
python3 exploit.py -t http://192.168.1.100 -c "whoami"
```
### 生成交互式 Shell
```
python3 exploit.py -t http://192.168.1.100 -i
```
### 详细输出
```
python3 exploit.py -t http://192.168.1.100 -c "id" -v
```
### 自定义端口
```
python3 exploit.py -t http://192.168.1.100:8080 -c "cat /etc/passwd"
```
## 📁 文件结构
```
.
├── exploit.py # Main exploitation script
├── requirements.txt # Python dependencies
├── README.md # This file
├── LICENSE # MIT License
└── docs/
├── ANALYSIS.md # Technical vulnerability analysis
├── MITIGATION.md # Remediation steps
└── TIMELINE.md # Disclosure timeline
```
## 🔧 技术分析
### 攻击流程
```
┌─────────────────┐
│ Attacker Host │
└────────┬────────┘
│
│ HTTP Request (Unsanitized Parameter)
▼
┌──────────────────────┐
│ FreePBX Instance │
│ Vulnerable Endpoint │
└────────┬─────────────┘
│
│ Database Query (SQL Injection/ORM Bypass)
▼
┌──────────────────────┐
│ Database Layer │
│ (Malicious Payload) │
└────────┬─────────────┘
│
│ Application Code (Command Execution)
▼
┌──────────────────────┐
│ Shell Execution │
│ (www-data user) │
└──────────────────────┘
```
### 易受攻击的 Endpoint
- `/admin/config.php` - 配置 endpoint
- `/rest/` - RESTful API endpoint
- `/ajax/` - AJAX 处理程序
### 利用方式
该漏洞利用了数据库操作中输入验证不足的问题,注入了恶意代码,这些代码会在 FreePBX 处理某些管理功能时被执行。
## ⚠️ 免责声明
**本工具仅供教育和授权测试使用**
本概念验证提供给以下人员使用:
- ✅ 安全研究人员
- ✅ 测试自有基础设施的系统管理员
- ✅ 授权的渗透测试项目
- ✅ 教育用途
**未经授权访问计算机系统是违法行为**
## 🛡️ 缓解措施
### 立即采取的行动
1. **更新 FreePBX** 至已修复版本(包含安全补丁的 15.0.x、16.0.x 或 17.0.x)
2. **网络隔离** - 限制对 FreePBX 管理界面的访问
3. **WAF 规则** - 实施Web 应用防火墙规则以拦截恶意 payload
4. **监控日志** - 检查可疑的数据库查询和命令执行情况
### 长期解决方案
- 实施输入验证框架
- 使用参数化查询/ORM 保护
- 定期进行安全审计
- 启用 SELinux/AppArmor 限制
请参阅 [MITIGATION.md](docs/MITIGATION.md) 获取详细的修复步骤。
## 📊 测试环境
本 PoC 已在以下环境中测试:
- **OS**: Debian/Ubuntu Linux
- **FreePBX 版本**: 16.0.1, 16.0.2, 16.0.3
- **PHP**: 7.4, 8.0, 8.1
- **Web 服务器**: Apache 2.4, Nginx
## 🔗 参考
- [FreePBX 官方安全页面](https://www.freepbx.org)
- [OWASP SQL 注入](https://owasp.org/www-community/attacks/SQL_Injection)
- [OWASP 命令注入](https://owasp.org/www-community/attacks/Command_Injection)
## 📝 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
## 👤 作者
**MindCOld** - 安全研究员
- GitHub: [@MindCOld](https://github.com/MindCOld)
## 📧 负责任的漏洞披露
如果您发现与此漏洞利用或 FreePBX 相关的漏洞,请负责任地进行报告:
1. **不要**公开披露
2. 联系 FreePBX 安全团队
3. 给予合理的修补时间
4. 遵循协调披露的惯例
**最后更新**:2026 年 6 月 | **版本**:1.0.0
标签:CISA项目, PoC, Python, 安全漏洞, 无后门, 暴力破解, 编程工具, 远程代码执行, 逆向工具