Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-4309-Analysis — BGT-Pentest-LAB Progetto Finale: Xiaomi HyperOS System Updater OTA Signature Verification Bypass (CVE-2024-4309) Analisi Approfondita. | Kitploit
Strumenti/GitHubGitHub/winslowe/cve-2024-4309-analysis
Analisi delle VulnerabilitàExploitCrittografiaPenetration TestingSicurezza MobileApprendimento e FormazioneRisposta agli IncidentiBinary ExploitationLab e Pratica
GitHubwinslowe/cve-2024-4309-analysis

CVE-2024-4309-Analysis

BGT-Pentest-LAB Progetto Finale: Xiaomi HyperOS System Updater OTA Signature Verification Bypass (CVE-2024-4309) Analisi Approfondita.

Vedi Repository
192 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

🛡️ CVE-2024-4309

Xiaomi HyperOS System Updater — OTA Signature Verification Bypass & RCE


CVSS RCE Python


Status Course License Docker Tests Zero Deps


⚠️ SOLAMENTE A SCOPO DIDATTICO — È vietato l'uso su sistemi reali.




📋 Riepilogo del Progetto / Project Overview

BGT-Pentest-LAB siber güvenlik final projesi kapsamında hazırlanmıştır.

L'analisi approfondita della vulnerabilità CVE-2024-4309 presente nel componente System Updater di Xiaomi HyperOS, che consente l'esecuzione remota di codice (RCE), la simulazione dell'attacco, il motore di rilevamento e la dashboard web interattiva sono contenuti in questo repository.

🔴 Riepilogo della Vulnerabilità

CampoValore
CVE IDCVE-2024-4309
ComponenteSystem Updater (HyperOS)
Gravità🔴 Critical (CVSS 9.1)
CWECWE-347: Improper Crypto Signature Verification
ImpattoPersistent RCE, Root Access
CorrezioneHyperOS 1.0.4.0+

🎯 Vettore d'Attacco

MetricaValore
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



💀 Flusso di Attacco / Attack Kill Chain

flowchart TD
    subgraph MITM ["Fase 1: Intercettazione di Rete (MITM)"]
        A["🌐 1. MITM (ARP Spoofing)"] --> B["🎯 2. DNS Hijack (update.miui.com)"]
    end

    subgraph INJECTION ["Fase 2: Manipolazione del Database e del Pacchetto"]
        B --> C["💾 3. Iniezione di Hash (ota_hashes.db)"]
        C --> D["📦 4. Preparazione del Pacchetto OTA Dannoso"]
    end

    subgraph BYPASS ["Fase 3: Bypass dei Controlli di Sicurezza"]
        D --> E["🔓 5. Bypass della Firma RSA (Fast Channel)"]
        E --> F["⚡ 6. Bypass della Verifica Hash (Bug strstr)"]
    end

    subgraph EXPLOIT ["Fase 4: Elevazione dei Privilegi & Infiltrazione"]
        F --> G["💀 7. RCE & Root Persistente (Flash di system.img)"]
    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
📖 Spiegazione Dettagliata — Clicca per i dettagli tecnici di ogni passo
PassoAzioneDettaglio Tecnico
1Posizione MITMIl traffico di rete viene intercettato tramite ARP Spoofing o un hotspot Wi-Fi falso
2DNS HijackLe risposte DNS di update.miui.com vengono reindirizzate al server dell'attaccante
3Iniezione di HashUn hash parziale dannoso viene iniettato nel database ota_hashes.db
4Pacchetto OTA DannosoViene creato un falso update.zip con intestazione X-Xiaomi-Fast-Channel: true
5Bypass RSAMiuiRecoveryVerifier vede l'intestazione Fast Channel e salta il controllo RSA
6Bypass HashquickHashCheck → corrispondenza parziale con strstr() → BYPASS
7RCEIl system.img dannoso viene flashato in modalità Recovery → Root Persistente



⚙️ Strumenti Sviluppati / Developed Tools




🖥️ C2 Dashboard
app.py

Dashboard interattivo che visualizza passo dopo passo la simulazione dell'attacco con un pannello web premium.
Kill chain, punteggio di rischio, log in tempo reale.




⚔️ Attack Simulator
attack.py

Simulazione dell'attacco MITM con un server OTA falso.
4 endpoint REST, generazione di ZIP dannoso,
iniezione di hash e bypass Fast Channel.




🔍 Detection Engine
detector.py

Scanner di sicurezza OTA a 3 fasi.
Rilevamento strstr(), analisi Fast Channel,
punteggio di rischio e report IoC.


🔧 Fix Demo
fix_demo.py

Confronto interattivo e dimostrazione della patch
tra strstr() e strcmp().


📄 Report Generator
report_generator.py

Generatore di report di analisi delle vulnerabilità
HTML professionale pronto per PDF.


🧪 Test Suite
test_suite.py

27 test unitari automatici.
Test di integrazione Attack + Detector.




🐛 Vulnerabilità Principale / Root Cause

❌ Codice Vulnerabile (strstr) ✅ Codice Corretto (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 caratteri sufficienti — Forza bruta: 2³² 🟢 64 caratteri necessari — Forza bruta: 2²⁵⁶



🗂 Struttura del Repository / Repository Structure

Scarica lo strumento