Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-4309-Analysis — Projet final BGT-Pentest-LAB : Analyse approfondie du contournement de la vérification de signature OTA du programme de mise à jour système Xiaomi HyperOS (CVE-2024-4309). | Kitploit
Outils/GitHubGitHub/winslowe/cve-2024-4309-analysis
Analyse des VulnérabilitésExploitationCryptographieTests d'IntrusionSécurité MobileApprentissage et ÉducationRéponse aux IncidentsExploitation de BinairesLabs et Pratique
GitHubwinslowe/cve-2024-4309-analysis

CVE-2024-4309-Analysis

Projet final BGT-Pentest-LAB : Analyse approfondie du contournement de la vérification de signature OTA du programme de mise à jour système Xiaomi HyperOS (CVE-2024-4309).

Voir le dépôt
19il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🛡️ CVE-2024-4309

Xiaomi HyperOS System Updater — OTA Signature Verification Bypass & RCE


CVSS RCE Python


Status Course License Docker Tests Zero Deps


⚠️ UNIQUEMENT À DES FINS ÉDUCATIVES — Interdit sur les systèmes réels.




📋 Résumé du Projet / Project Overview

BGT-Pentest-LAB préparé dans le cadre du projet final de cybersécurité.

Ce dépôt contient l'analyse approfondie de la vulnérabilité CVE-2024-4309 trouvée dans le composant System Updater de Xiaomi HyperOS permettant l'exécution de code à distance (RCE), ainsi qu'une simulation d'attaque, un moteur de détection et un tableau de bord web interactif.

🔴 Résumé de la vulnérabilité

DomaineValeur
CVE IDCVE-2024-4309
ComposantSystem Updater (HyperOS)
Gravité🔴 Critical (CVSS 9.1)
CWECWE-347: Improper Crypto Signature Verification
ImpactPersistent RCE, Root Access
CorrectifHyperOS 1.0.4.0+

🎯 Vecteur d'attaque

MétriqueValeur
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



💀 Chaîne d'attaque / Attack Kill Chain

flowchart TD
    subgraph MITM ["Aşama 1: Ağ Erişimini Ele Geçirme (MITM)"]
        A["🌐 1. MITM (ARP Spoofing)"] --> B["🎯 2. DNS Hijack (update.miui.com)"]
    end

    subgraph INJECTION ["Aşama 2: Veritabanı ve Paket Manipülasyonu"]
        B --> C["💾 3. Hash Enjeksiyonu (ota_hashes.db)"]
        C --> D["📦 4. Zararlı OTA Paketi Hazırlama"]
    end

    subgraph BYPASS ["Aşama 3: Güvenlik Kontrollerini Atlama (Bypass)"]
        D --> E["🔓 5. RSA İmza Atlatma (Fast Channel)"]
        E --> F["⚡ 6. Hash Doğrulama Atlatma (strstr Bug)"]
    end

    subgraph EXPLOIT ["Aşama 4: Yetki Yükseltme & Sızma"]
        F --> G["💀 7. RCE & Kalıcı Root (system.img Flash)"]
    end

    %% Stil Tanımlamaları
    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
📖 Explication détaillée — Cliquez pour les détails techniques de chaque étape
ÉtapeActionDétail technique
1Position MITMLe trafic réseau est intercepté via ARP Spoofing ou un faux hotspot Wi-Fi
2DNS HijackLes réponses DNS de update.miui.com sont redirigées vers le serveur de l'attaquant
3Hash InjectionUn hash malveillant partiel est injecté dans la base de données ota_hashes.db
4Paquet OTA malveillantUn faux update.zip avec l'en-tête X-Xiaomi-Fast-Channel: true est créé
5RSA BypassMiuiRecoveryVerifier voit l'en-tête Fast Channel et contourne le contrôle RSA
6Hash BypassquickHashCheck → correspondance partielle avec strstr() → BYPASS
7RCEEn mode recovery, le system.img malveillant est flashé → Root persistant



⚙️ Outils développés / Developed Tools




🖥️ C2 Dashboard
app.py

Simulation d'attaque avec un panel web premium,
tableau de bord interactif visualisant étape par étape.
Kill chain, score de risque, logs en temps réel.




⚔️ Attack Simulator
attack.py

Simulation d'attaque MITM avec un faux serveur OTA.
4 endpoints REST, génération de ZIP malveillant,
injection de hash et contournement Fast Channel.




🔍 Detection Engine
detector.py

Scanner de sécurité OTA en 3 étapes.
Détection strstr(), analyse Fast Channel,
score de risque et rapport IoC.


🔧 Fix Demo
fix_demo.py

strstr() vs strcmp() interactif
comparaison et démonstration de correctif.


📄 Report Generator
report_generator.py

HTML professionnel prêt pour PDF
générateur de rapport d'analyse de vulnérabilité.


🧪 Test Suite
test_suite.py

27 tests unitaires automatisés.
Tests d'intégration Attack + Detector.




🐛 Vulnérabilité fondamentale / Root Cause

❌ Code vulnérable (strstr) ✅ Code corrigé (strcmp)
// NativeVerifier.cpp — BUG!
bool quickHashCheck(const char* hash) {
    for (int i = 0; i < count; i++) {
        if (strstr(whitelist[i], hash))
            return true;  // Substring eşleşme ⚠️
    }
    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;  // Tam eşleşme ✅
    }
    return false;
}
🔴 8 caractères suffisants — Brute-force: 2³² 🟢 64 caractères nécessaires — Brute-force: 2²⁵⁶



🗂 Structure du dépôt / Repository Structure

Télécharger l’outil