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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/redpack-kr/cve-2024-5243-pwn2own-toronto-2023
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育リモートアクセスツールバイナリエクスプロイト
GitHubredpack-kr/cve-2024-5243-pwn2own-toronto-2023

CVE-2024-5243-pwn2own-toronto-2023

TP-Link Omada ER605ルーターのDDNSクライアントデーモン(cmxddnsd)を介した認証前のリモートコード実行エクスプロイト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-5243-pwn2own-toronto-2023

TP-Link ER605 認証前RCE (CVE-2024-5242 / CVE-2024-5243 / CVE-2024-5244)

TP-Link Omada ER605のDDNSクライアントデーモン(cmxddnsd)がComexe DDNSサービスを使用するように設定されている場合を標的とした、Proof-of-Concept(PoC)エクスプロイトチェーン。

⚠️ 法律/倫理: このリポジトリは許可されたセキュリティ研究および管理されたラボでの再現のみを目的としています。所有していない、または明示的な許可がないシステムに対して使用しないでください。


概要

このPoCは、以下の3つを組み合わせた連鎖的アプローチを示しています。

  1. DDNSプロトコル層に対するスプーフィング/なりすましプリミティブ、
  2. ASLRをバイパスするための情報漏洩、
  3. ROPベースのコード実行に至る制御フローハイジャック。

このチェーンは、以下の公開された問題に対応しています。

CVEZDI Advisoryタイプ(ZDI/NVDによる説明)チェーンにおけるハイレベルな役割
CVE-2024-5244ZDI-24-503難読化によるセキュリティへの依存(DDNSメッセージへのアクセス/スプーフィングが可能)正当なDDNSメッセージの作成/スプーフィングを可能にする
CVE-2024-5243ZDI-24-502DNS名の処理におけるバッファオーバーフローDNS名に関連する状態への影響/汚染、およびASLRバイパスリーク経路の実現に使用
CVE-2024-5242ZDI-24-501DDNSエラーコードの処理におけるスタックベースのバッファオーバーフローROPベースのRCEのための制御フローハイジャックプリミティブとして使用

注: このREADMEはCVE ↔ 問題の説明をZDI/NVDの表現に合わせています。実際のエクスプロイトの振り付けはファームウェアのビルドやローカルでの再現の詳細によって異なる場合があります。詳細については、exploit.pyおよびこのリポジトリ内の分析ノートを参照してください。


影響を受けるバージョン

  • 対象: TP-Link Omada ER605 VPNルーター
  • 脆弱性: < ER605(UN)_V2_2.2.4
  • テスト済み: 2.2.2
  • 修正済み: ER605(UN)_V2_2.2.4 Build 20240119(以降)

脅威モデル / 前提条件(ハイレベル)

ZDIは、Comexe DDNSが有効/設定されている場合の影響をネットワーク隣接と説明しています。実際には、再現には通常、ルーターのDDNS/DNSトラフィック経路を十分に観察および操作して、以下を実行できる必要があります。

  • Comexe DDNSサーバー側へのリダイレクト/なりすまし、
  • 操作されたDDNS応答をルーターに配信する。

このリポジトリは、管理されたラボの外部でそのようなポジショニングを実現するためのステップバイステップの運用ガイダンスを意図的に避けています。


攻撃フロー(概念)

root@kitploit:~
┌─────────────────┐                    ┌─────────────────────────┐
│   TP-Link ER605  │                    │       攻撃者         │
│   (cmxddnsd)     │                    │ (許可されたラボ設定) │
└───────┬─────────┘                    └───────────┬─────────────┘
        │                                          │
        │ (1) DDNSメッセージのスプーフィング/なりすまし│  CVE-2024-5244
        │<-----------------------------------------│
        │                                          │
        │ (2) 解析時のオーバーフローがDNS名に関連    │  CVE-2024-5243
        │     する状態に影響を与え、後にDNSクエリ    │
        │     送信経路(例:sndDnsQuery)でリークが  │
        │     発生しASLRをバイパス                  │
        │<-----------------------------------------│
        │                                          │
        │ (3) エラーコードオーバーフローによる制御     │  CVE-2024-5242
        │     フローハイジャック → ROP → system(command)│
        │<-----------------------------------------│

主要な分離点:

  • 解析オーバーフローはDDNSメッセージ解析中に発生(特に、エラーコード/DNS名処理に関する_chkPktに近い解析ロジック)。
  • ASLRバイパスリークは、DNS名に関連する状態を汚染した後、DNSクエリ送信経路を介して達成される。

リポジトリの内容

  • exploit.py — ラボ再現で使用するPoC実装(ビルド固有の定数/オフセットを埋める必要あり)。
  • README.md — このドキュメント。

設定上の注意(ビルド固有)

このPoCには、対象のファームウェアとlibcに依存するビルド固有の値(例:オフセット、ガジェットの位置、リークの解釈)が必要です。これらの値は意図的にプレースホルダーとして残されており、テストされたビルドの分析を通じて導出する必要があります。

プレースホルダーの例(exploit.pyを参照):

  • libcベースの導出(リークオフセット → libcベース)
  • system()のオフセット
  • 適切なMIPSガジェットシーケンスと制約
  • ROPチェーンで使用する安定したコマンド文字列参照のアドレス

技術的注記(ハイレベル)

根本原因のパターン(概念)

解析ロジックにおける繰り返し現れるアンチパターンは、デリミタから導出された長さを使用して攻撃者が制御するフィールドデータをコピーする際に、宛先バッファサイズに適切に制限しないことです(概念的には以下)。

root@kitploit:~
char *end = strchr(ptr, '\x01');   // デリミタ
int len = end - ptr;               // 攻撃者が影響を与える長さ
memcpy_or_strncpy(dest, ptr, len); // 境界チェック欠如 -> オーバーフロー

ROPガジェット(MIPS delay slot)

このPoCは、MIPS delay slotに対応した以下のようなガジェット形状を使用します。

root@kitploit:~
move    $t9, $s0
jalr    $t9
move    $a0, $s1      ; delay slot

レジスタ退避の上書きにより$s0と$s1を制御することで、コンパクトなsystem(command)呼び出しシーケンスを実現します。

ペイロードの制約(実装依存)

実際のペイロード構築は、以下の要因によって制約されます。

  • プロトコルフィールドのデリミタ(例:\x01)、および
  • コピーデータを切り詰めたり変更したりする可能性のある文字列/解析動作。

この再現で使用される正確な制約については、exploit.pyを参照してください。


免責事項

このコードとドキュメントは、教育目的および許可されたセキュリティ研究のためにのみ提供されています。明示的な許可なしに使用することは禁止されており、違法となる可能性があります。


クレジット

  • 脆弱性の発見およびPwn2Own Toronto 2023の研究: Claroty Research Team82
  • このリポジトリ: 独立した再現と分析作業

参考文献

  • ZDI-24-501 (CVE-2024-5242): https://www.zerodayinitiative.com/advisories/ZDI-24-501/
  • ZDI-24-502 (CVE-2024-5243): https://www.zerodayinitiative.com/advisories/ZDI-24-502/
  • ZDI-24-503 (CVE-2024-5244): https://www.zerodayinitiative.com/advisories/ZDI-24-503/
  • NVDエントリ:
    • CVE-2024-5242: https://nvd.nist.gov/vuln/detail/CVE-2024-5242
    • CVE-2024-5243: https://nvd.nist.gov/vuln/detail/CVE-2024-5243
    • CVE-2024-5244: https://nvd.nist.gov/vuln/detail/CVE-2024-5244
ツールをダウンロード