Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacyΒ© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2024-4309-Analysis β€” BGT-Pentest-LAB Final Project: Xiaomi HyperOS System Updater OTA Signature Verification Bypass (CVE-2024-4309) Deep Analysis. | Kitploit
Tools/GitHubGitHub/winslowe/cve-2024-4309-analysis
Vulnerability AnalysisExploitationCryptographyPenetration TestingMobile SecurityLearning & EducationIncident ResponseBinary ExploitationLabs & Practice
GitHubwinslowe/cve-2024-4309-analysis

CVE-2024-4309-Analysis

BGT-Pentest-LAB Final Project: Xiaomi HyperOS System Updater OTA Signature Verification Bypass (CVE-2024-4309) Deep Analysis.

1253 months agoNot yet reviewed
View Repository

Most Popular

View all β†’

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools β†’
Share

πŸ›‘οΈ CVE-2024-4309

Xiaomi HyperOS System Updater β€” OTA Signature Verification Bypass & RCE


CVSS RCE Python


Status Course License Docker Tests Zero Deps


⚠️ EDUCATIONAL PURPOSES ONLY β€” Use on real systems is prohibited.




πŸ“‹ Project Overview / Project Overview

Prepared as part of the BGT-Pentest-LAB cybersecurity final project.

Xiaomi HyperOS System Updater bileşeninde bulunan ve uzaktan kod çalıştırmaya (RCE) imkan tanıyan CVE-2024-4309 zafiyetinin derinlemesine analizi, saldırı simülasyonu, tespit motoru ve interaktif web dashboard'u bu depoda yer almaktadır.

πŸ”΄ Vulnerability Summary

FieldValue
CVE IDCVE-2024-4309
ComponentSystem Updater (HyperOS)
SeverityπŸ”΄ Critical (CVSS 9.1)
CWECWE-347: Improper Crypto Signature Verification
ImpactPersistent RCE, Root Access
FixHyperOS 1.0.4.0+

🎯 Attack Vector

MetricValue
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



πŸ’€ Attack Flow / Attack Kill Chain

flowchart TD
    subgraph MITM ["Phase 1: Network Access Compromise (MITM)"]
        A["🌐 1. MITM (ARP Spoofing)"] --> B["🎯 2. DNS Hijack (update.miui.com)"]
    end

    subgraph INJECTION ["Phase 2: Database and Package Manipulation"]
        B --> C["πŸ’Ύ 3. Hash Injection (ota_hashes.db)"]
        C --> D["πŸ“¦ 4. Malicious OTA Package Preparation"]
    end

    subgraph BYPASS ["Phase 3: Security Bypass"]
        D --> E["πŸ”“ 5. RSA Signature Bypass (Fast Channel)"]
        E --> F["⚑ 6. Hash Verification Bypass (strstr Bug)"]
    end

    subgraph EXPLOIT ["Phase 4: Privilege Escalation & Exfiltration"]
        F --> G["πŸ’€ 7. RCE & Persistent Root (system.img Flash)"]
    end

    %% Style Definitions
    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
πŸ“– Detailed Explanation β€” Click for technical details of each step
StepActionTechnical Detail
1MITM PositionNetwork traffic is intercepted via ARP Spoofing or a fake Wi-Fi hotspot
2DNS HijackDNS responses for update.miui.com are redirected to the attacker's server
3Hash InjectionA partial malicious hash is injected into the ota_hashes.db database
4Malicious OTA PackageA fake update.zip with X-Xiaomi-Fast-Channel: true header is created
5RSA BypassMiuiRecoveryVerifier sees the Fast Channel header and skips RSA verification
6Hash BypassquickHashCheck β†’ partial match with strstr() β†’ BYPASS
7RCEMalicious system.img is flashed in recovery mode β†’ Persistent Root



βš™οΈ Developed Tools / Developed Tools




πŸ–₯️ C2 Dashboard
app.py

Interactive dashboard that visualizes the attack simulation step by step with a premium web panel.
Kill chain, risk score, real-time logs.




βš”οΈ Attack Simulator
attack.py

MITM attack simulation with a fake OTA server.
4 REST endpoints, malicious ZIP generation,
hash injection and Fast Channel bypass.




πŸ” Detection Engine
detector.py

3-stage OTA security scanner.
strstr() detection, Fast Channel analysis,
risk score and IoC report.


πŸ”§ Fix Demo
fix_demo.py

strstr() vs strcmp() interactive
comparison and patch demonstration.


πŸ“„ Report Generator
report_generator.py

PDF-ready professional HTML
vulnerability analysis report generator.


πŸ§ͺ Test Suite
test_suite.py

27 automated unit tests.
Attack + Detector integration tests.




πŸ› Root Cause / Root Cause

❌ Vulnerable Code (strstr) βœ… Patched Code (strcmp)
// NativeVerifier.cpp β€” BUG!
bool quickHashCheck(const char* hash) {
    for (int i = 0; i < count; i++) {
        if (strstr(whitelist[i], hash))
            return true;  // Substring match ⚠️
    }
    return false;
}
// NativeVerifier.cpp β€” FIXED
bool quickHashCheck(const char* hash) {
    for (int i = 0; i < count; i++) {
        if (strcmp(whitelist[i], hash) == 0)
            return true;  // Exact match βœ…
    }
    return false;
}
πŸ”΄ 8 characters sufficient β€” Brute-force: 2Β³Β² 🟒 64 characters required β€” Brute-force: 2²⁡⁢



πŸ—‚ Repository Structure / Repository Structure

Download Tool