
このリポジトリには、FreePBXのCVE-2025-57819に関する2つのPoCスクリプト(新しい管理ユーザーを作成するpoc_admin.py、およびsqlmapを使用して認証情報を抽出するpoc_auto_get_username_pass.py)が含まれています。教育および許可を得た目的のみにご使用ください。
このリポジトリには、FreePBX の重大な認証なしSQLインジェクション脆弱性である CVE-2025-57819 を標的とした2つのPython Proof-of-Concept (PoC) スクリプトが含まれています。
CVE-2025-57819 は FreePBX の複数バージョンに影響を与え、admin/ajax.php の脆弱なパラメータを介して認証されていないリモート攻撃者が任意のSQLクエリを実行できるようにします。
この欠陥は、module=FreePBX\modules\endpoint\ajax エンドポイントにおける不十分な入力サニタイズにより、バックエンドクエリへの直接のSQLインジェクションを許すことに起因します。
| バージョン | ステータス |
|---|---|
| ≤ 15.0.65 | 脆弱 |
| ≤ 16.0.88 | 脆弱 |
| ≤ 17.0.2 | 脆弱 |
| ≥ 15.0.66 | 修正済み |
| ≥ 16.0.89 | 修正済み |
| ≥ 17.0.3 | 修正済み |
| ファイル | 説明 |
|---|---|
poc_admin.py | SQLインジェクション経由で新しい管理ユーザーを作成 |
poc_auto_get_username_pass.py | sqlmapを使用して複数のターゲットから資格情報を自動抽出 |
poc_admin.py – 管理者ユーザーの追加このスクリプトは、特別に細工されたSQLクエリを送信して新しいFreePBX管理ユーザーを作成します。
requests モジュール (pip install requests)python3 poc_admin.py http://target/
[+] Creating admin user: orange0Mint_k9l3zq / X9sfL30wlKp1
[+] Done. Try logging in at: http://target/admin/config.php
[+] Credentials -> Username: orange0Mint_k9l3zq | Password: X9sfL30wlKp1
poc_auto_get_username_pass.py – SQLMapによる資格情報のダンプこのスクリプトは sqlmap を使用して、複数のターゲットの脆弱な ampusers テーブルからユーザー名とパスワードハッシュを抽出します。
sqlmap (sqlmap-master/)各行はベースURLである必要があります:
http://192.168.1.100/
http://pbx.example.com:8080/
python3 poc_auto_get_username_pass.py targets.txt
log/target.txt に記録stop.txt ファイルの存在--batch および --ignore-code=404 フラグを使用sqlmap のすべての結果は log/ ディレクトリ内に、ターゲットホスト名で保存されます:
log/
├── 192.168.1.100.txt
├── pbx.example.com_8080.txt
/admin/ インターフェースへのアクセスを制限ajax.php へのアクセスを監視このPoCは教育目的および許可された侵入テストのためのみに提供されています。
このコードを、所有していない、または明示的なテスト許可を得ていないシステムに対して使用しないでください。
作者は、このスクリプトの誤用またはそれによって生じた損害について一切の責任を負いません。
orange0Mint
GitHub: https://github.com/orange0Mint