Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
11il 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

root@kitploit:~
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)
root@kitploit:~
// 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;
}
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;  // 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

root@kitploit:~
📦 CVE-2024-4309-Analysis
├── 📄 README.md                    # Bu dosya
├── 📄 ROADMAP.md                   # Proje yol haritası (5 faz)
├── 🐳 Dockerfile                   # Konteyner yapılandırması
├── 🐳 docker-compose.yml           # Servis orkestrasyon dosyası
├── 🔑 .env.example                 # Ortam değişkenleri şablonu
├── 📄 .gitignore                   # Git dışlama kuralları
├── 📄 requirements.txt             # Bağımlılık listesi (sıfır bağımlılık)
│
├── 📁 docs/
│   ├── 📁 presentations/           # 🎨 Sunum dosyaları (HTML slides, infographic)
│   ├── 📁 research/                # 🔬 Araştırma notları ve derin analiz
│   └── 📁 references/              # 📚 Kaynakça ve referanslar
│
└── 📁 src/
    ├── 🖥️  app.py                   # C2 Web Dashboard (Premium UI)
    ├── ⚔️  attack.py                # OTA MITM saldırı simülatörü
    ├── 🔍 detector.py               # Çok aşamalı saldırı tespit motoru
    ├── 🔧 fix_demo.py               # strstr() vs strcmp() demo
    ├── 📄 report_generator.py       # PDF-ready HTML rapor üretici
    └── 🧪 test_suite.py             # 27 otomatik birim testi



🚀 Installation / Getting Started

Prérequis

  • Python 3.12+ (aucune dépendance externe — seulement la bibliothèque standard)
  • Docker (optionnel)

📥 Clonage

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

🐳 Exécution avec Docker

root@kitploit:~
docker-compose up -d

Dashboard → http://127.0.0.1:5000

🐍 Exécution sans Docker

root@kitploit:~
# Terminal 1 — Tableau de bord C2
python src/app.py

# Terminal 2 — Serveur d'attaque
python src/attack.py

# Terminal 3 — Moteur de détection
python src/detector.py

🧪 Exécution des tests

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



📊 Livrables / Deliverables

LivrableFichierStatut
Recherche de vulnérabilité et logsdocs/research/✅
Scripts PoCsrc/ (6 fichiers)✅
Analyse visuelle (Infographie)docs/presentations/✅
C2 Web Dashboardsrc/app.py✅
Suite de tests automatiséssrc/test_suite.py (27 tests)✅
Rapport prêt pour PDFreport_generator.py✅
Support DockerDockerfile + docker-compose.yml✅



📚 Documentation / Documentation

DocumentDescription
docs/research/🔬 Notes d'analyse approfondie et de recherche
docs/presentations/🎨 Fichiers de présentation HTML et infographie
docs/references/sources.md📚 Liste complète des références
ROADMAP.md🗺️ Feuille de route du projet en 5 phases



🔗 Sources / References

SourceLien
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



🎓 Informations académiques / Academic Information

👨‍🏫 Instructeur / Instructor

NomKeyvan Arasteh

👤 Étudiant / Student

Nom completSamuroDev
Numéro d'étudiant``

📚 Cours / Course

CoursPenetration Testing / Test d'intrusion
CodeBGT006 · 3 ECTS
SemestrePrintemps 2025-2026
Universitéİstinye Üniversitesi



Built with 🐍 Python · Zero Dependencies · Made for BGT-Pentest-LAB Final Project
© 2026 — Uniquement à des fins éducatives et de recherche.

Télécharger l’outil