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 ![badge](https://img.shields.io/badge/Status-POC-red) ![badge](https://img.shields.io/badge/FreePBX-15%2C%2016%2C%2017-blue) ![badge](https://img.shields.io/badge/Type-RCE-critical) ## 📋 概述 本概念验证演示了 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, 安全漏洞, 无后门, 暴力破解, 编程工具, 远程代码执行, 逆向工具