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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-4309-Analysis — BGT-Pentest-LAB最終プロジェクト: Xiaomi HyperOSシステムアップデーターOTA署名検証バイパス (CVE-2024-4309) 詳細分析 | Kitploit
ツール/GitHubGitHub/winslowe/cve-2024-4309-analysis
脆弱性分析エクスプロイト暗号化ペネトレーションテストモバイルセキュリティ学習と教育インシデントレスポンスバイナリエクスプロイトラボと実践
GitHubwinslowe/cve-2024-4309-analysis

CVE-2024-4309-Analysis

BGT-Pentest-LAB最終プロジェクト: Xiaomi HyperOSシステムアップデーターOTA署名検証バイパス (CVE-2024-4309) 詳細分析

11ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

🛡️ CVE-2024-4309

Xiaomi HyperOS System Updater — OTA署名検証バイパス&RCE


CVSS RCE Python


Status Course License Docker Tests Zero Deps


⚠️ 教育目的のみ — 実際のシステムでの使用は禁止されています。




📋 プロジェクト概要 / Project Overview

BGT-Pentest-LAB サイバーセキュリティ最終プロジェクトの一環として作成されました。

Xiaomi HyperOS System Updater コンポーネントに存在し、リモートコード実行(RCE)を可能にする CVE-2024-4309 脆弱性の詳細な分析、攻撃シミュレーション、検出エンジン、およびインタラクティブWebダッシュボードがこのリポジトリに含まれています。




💀 攻撃キルチェーン / Attack Kill Chain

root@kitploit:~
flowchart TD
    subgraph MITM ["フェーズ1: ネットワークアクセスの取得(MITM)"]
        A["🌐 1. MITM (ARP Spoofing)"] --> B["🎯 2. DNSハイジャック (update.miui.com)"]
    end

    subgraph INJECTION ["フェーズ2: データベースとパッケージの操作"]
        B --> C["💾 3. ハッシュインジェクション (ota_hashes.db)"]
        C --> D["📦 4. 悪意のあるOTAパッケージの作成"]
    end

    subgraph BYPASS ["フェーズ3: セキュリティチェックのバイパス"]
        D --> E["🔓 5. RSA署名のバイパス (Fast Channel)"]
        E --> F["⚡ 6. ハッシュ検証のバイパス (strstrバグ)"]
    end

    subgraph EXPLOIT ["フェーズ4: 権限昇格&侵入"]
        F --> G["💀 7. RCE & 永続的ルート (system.img フラッシュ)"]
    end

    %% スタイル定義
    style MITM fill:#0f172a,stroke:#38bdf8,stroke-width:1px,color:#38bdf8
    style INJECTION fill:#0f172a,stroke:#818cf8,stroke-width:1px,color:#818cf8
    style BYPASS fill:#0f172a,stroke:#f59e0b,stroke-width:1px,color:#f59e0b
    style EXPLOIT fill:#0f172a,stroke:#ef4444,stroke-width:2px,color:#ef4444

    style A fill:#1e293b,stroke:#0284c7,stroke-width:2px,color:#e2e8f0
    style B fill:#1e293b,stroke:#0284c7,stroke-width:2px,color:#e2e8f0
    style C fill:#1e293b,stroke:#4f46e5,stroke-width:2px,color:#e2e8f0
    style D fill:#1e293b,stroke:#4f46e5,stroke-width:2px,color:#e2e8f0
    style E fill:#451a03,stroke:#d97706,stroke-width:2px,color:#fef3c7
    style F fill:#451a03,stroke:#d97706,stroke-width:2px,color:#fef3c7
    style G fill:#4c0519,stroke:#e11d48,stroke-width:3px,color:#ffe4e6
📖 詳細説明 — 各ステップの技術詳細はクリック



⚙️ 開発ツール / Developed Tools




🐛 根本原因 / Root Cause




🗂 リポジトリ構成 / Repository Structure

root@kitploit:~
📦 CVE-2024-4309-Analysis
├── 📄 README.md                    # このファイル
├── 📄 ROADMAP.md                   # プロジェクトロードマップ (5フェーズ)
├── 🐳 Dockerfile                   # コンテナ設定
├── 🐳 docker-compose.yml           # サービスオーケストレーションファイル
├── 🔑 .env.example                 # 環境変数テンプレート
├── 📄 .gitignore                   # Git除外ルール
├── 📄 requirements.txt             # 依存関係リスト (ゼロ依存)
│
├── 📁 docs/
│   ├── 📁 presentations/           # 🎨 プレゼンテーションファイル (HTMLスライド、インフォグラフィック)
│   ├── 📁 research/                # 🔬 リサーチノートと詳細分析
│   └── 📁 references/              # 📚 参考文献と参照
│
└── 📁 src/
    ├── 🖥️  app.py                   # C2 Web Dashboard (プレミアムUI)
    ├── ⚔️  attack.py                # OTA MITM攻撃シミュレータ
    ├── 🔍 detector.py               # 多段階攻撃検出エンジン
    ├── 🔧 fix_demo.py               # strstr() vs strcmp() デモ
    ├── 📄 report_generator.py       # PDF対応HTMLレポート生成
    └── 🧪 test_suite.py             # 27個の自動単体テスト



🚀 セットアップ / Getting Started

前提条件

  • Python 3.12+ (外部依存なし — 標準ライブラリのみ)
  • Docker (オプション)

📥 クローン

root@kitploit:~
git clone https://github.com/Winslowe/CVE-2024-4309-Analysis.git
cd CVE-2024-4309-Analysis
cp .env.example .env

🐳 Dockerでの実行

root@kitploit:~
docker-compose up -d

Dashboard → http://127.0.0.1:5000

🐍 Dockerなしでの実行

root@kitploit:~
# ターミナル1 — C2 Dashboard
python src/app.py

# ターミナル2 — 攻撃サーバー
python src/attack.py

# ターミナル3 — 検出エンジン
python src/detector.py

🧪 テストの実行

root@kitploit:~
python src/test_suite.py
# または
python -m pytest src/test_suite.py -v



📊 成果物 / Deliverables




📚 ドキュメント / Documentation




🔗 参考文献 / References




🎓 学術情報 / Academic Information




🐍 Pythonで構築 · ゼロ依存 · BGT-Pentest-LAB最終プロジェクト用
© 2026 — 教育および研究目的のみ。

ツールをダウンロード

🔴 脆弱性サマリー

フィールド値
CVE IDCVE-2024-4309
コンポーネントSystem Updater (HyperOS)
深刻度🔴 Critical (CVSS 9.1)
CWECWE-347: 不適切な暗号署名検証
影響永続的RCE、ルートアクセス
修正HyperOS 1.0.4.0+

🎯 攻撃ベクトル

メトリック値
Attack VectorAdjacent Network
ComplexityLow
PrivilegesNone
User InteractionNone
ScopeChanged
CVSS VectorAV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
ステップアクション技術詳細
1MITMポジションARP Spoofingまたは偽のWi-Fiホットスポットでネットワークトラフィックを傍受
2DNSハイジャックupdate.miui.com のDNS応答を攻撃者のサーバーにリダイレクト
3ハッシュインジェクションota_hashes.db データベースに部分的な悪意のあるハッシュを注入
4悪意のあるOTAパッケージX-Xiaomi-Fast-Channel: true ヘッダー付きの偽造 update.zip を作成
5RSAバイパスMiuiRecoveryVerifier がFast Channelヘッダーを見てRSAチェックをスキップ
6ハッシュバイパスquickHashCheck → strstr() による部分一致 → バイパス
7RCERecoveryモードで悪意のある system.img をフラッシュ → 永続的ルート



🖥️ C2 Dashboard
app.py

プレミアムWebパネルで攻撃シミュレーションを
ステップバイステップで可視化するインタラクティブダッシュボード。
キルチェーン、リスクスコア、リアルタイムログ。




⚔️ Attack Simulator
attack.py

偽のOTAサーバーによるMITM攻撃シミュレーション。
4つのRESTエンドポイント、悪意のあるZIP生成、
ハッシュインジェクション、Fast Channelバイパス。




🔍 Detection Engine
detector.py

3段階OTAセキュリティスキャナ。
strstr() 検出、Fast Channel分析、
リスクスコアとIoCレポート。


🔧 Fix Demo
fix_demo.py

strstr() 対 strcmp() のインタラクティブ
比較とパッチデモンストレーション。


📄 Report Generator
report_generator.py

PDF対応のプロフェッショナルHTML
脆弱性分析レポート生成ツール。


🧪 Test Suite
test_suite.py

27個の自動単体テスト。
Attack + Detector 統合テスト。

❌ 脆弱なコード (strstr)✅ パッチ適用済みコード (strcmp)
root@kitploit:~
// NativeVerifier.cpp — BUG!
bool quickHashCheck(const char* hash) {
    for (int i = 0; i < count; i++) {
        if (strstr(whitelist[i], hash))
            return true;  // 部分文字列一致 ⚠️
    }
    return false;
}
root@kitploit:~
// NativeVerifier.cpp — FIXED
bool quickHashCheck(const char* hash) {
    for (int i = 0; i < count; i++) {
        if (strcmp(whitelist[i], hash) == 0)
            return true;  // 完全一致 ✅
    }
    return false;
}
🔴 8文字で十分 — ブルートフォース: 2³²🟢 64文字必要 — ブルートフォース: 2²⁵⁶
成果物ファイルステータス
脆弱性調査とログdocs/research/✅
PoCスクリプトsrc/ (6ファイル)✅
ビジュアル分析 (インフォグラフィック)docs/presentations/✅
C2 Web Dashboardsrc/app.py✅
自動テストスイートsrc/test_suite.py (27テスト)✅
PDF対応レポートreport_generator.py✅
DockerサポートDockerfile + docker-compose.yml✅
ドキュメント説明
docs/research/🔬 詳細な分析と研究ノート
docs/presentations/🎨 HTMLプレゼンテーションとインフォグラフィックファイル
docs/references/sources.md📚 完全な参考文献リスト
ROADMAP.md🗺️ 5フェーズのプロジェクトロードマップ
ソースリンク
Xiaomi Security Bulletintrust.mi.com/misrc/bulletins/advisory
QDebugger Researchota-security.q-debugger.com
CWE-347cwe.mitre.org/data/definitions/347
Android RecoverySystem APIdeveloper.android.com
Xiaomi OTA Researchgithub.com/nicene-0

👨‍🏫 指導教官 / Instructor

氏名Keyvan Arasteh

👤 学生 / Student

氏名SamuroDev
学生番号``

📚 コース / Course

講座Penetration Testing / ペネトレーションテスト
コードBGT006 · 3 ECTS
学期2025-2026 春学期
大学İstinye University