Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-4309-Analysis — Финальный проект BGT-Pentest-LAB: глубокий анализ обхода проверки подписи OTA обновлений системы Xiaomi HyperOS (CVE-2024-4309). | Kitploit
Инструменты/GitHubGitHub/winslowe/cve-2024-4309-analysis
Анализ уязвимостейЭксплуатацияКриптографияТестирование на ПроникновениеМобильная безопасностьОбучение и ОбразованиеРеагирование на ИнцидентыЭксплуатация Бинарных ФайловЛаборатории и Практика

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHubwinslowe/cve-2024-4309-analysis

CVE-2024-4309-Analysis

Финальный проект BGT-Pentest-LAB: глубокий анализ обхода проверки подписи OTA обновлений системы Xiaomi HyperOS (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.

В этом репозитории представлены углублённый анализ уязвимости CVE-2024-4309, обнаруженной в компоненте System Updater Xiaomi HyperOS и позволяющей удалённое выполнение кода (RCE), симуляция атаки, механизм обнаружения и интерактивная веб-панель.




💀 Цепочка атаки / 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
📖 Подробное описание — нажмите для просмотра технических деталей каждого шага



⚙️ Разработанные инструменты / Developed Tools




🐛 Корневая причина / Root Cause




🗂 Структура репозитория / 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



🚀 Установка / 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

Дашборд → http://127.0.0.1:5000

🐍 Запуск без Docker

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

# Terminal 2 — Saldırı Sunucusu
python src/attack.py

# Terminal 3 — Tespit Motoru
python src/detector.py

🧪 Запуск тестов

root@kitploit:~
python src/test_suite.py
# veya
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)
Критичность🔴 Критическая (CVSS 9.1)
CWECWE-347: Improper Crypto Signature Verification
ВоздействиеПостоянный RCE, root-доступ
Исправление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
ШагДействиеТехническая деталь
1Позиция MITMСетевой трафик перехватывается с помощью ARP Spoofing или поддельной Wi-Fi точки доступа
2DNS HijackDNS-ответы update.miui.com перенаправляются на сервер злоумышленника
3Инъекция хэшаВ базу данных ota_hashes.db внедряется частичный вредоносный хэш
4Вредоносный OTA-пакетСоздаётся поддельный update.zip с заголовком X-Xiaomi-Fast-Channel: true
5Обход RSAMiuiRecoveryVerifier видит заголовок Fast Channel и пропускает проверку RSA
6Обход хэшаquickHashCheck → частичное совпадение через strstr() → BYPASS
7RCEВ режиме Recovery прошивается вредоносный system.img → Постоянный Root



🖥️ C2 Dashboard
app.py

Интерактивная панель, визуализирующая симуляцию атаки
шаг за шагом с премиальным веб-интерфейсом.
Цепочка атаки, оценка риска, логи в реальном времени.




⚔️ Attack Simulator
attack.py

Симуляция MITM-атаки с поддельным OTA-сервером.
4 REST endpoint, генерация вредоносного ZIP,
инъекция хэша и обход Fast Channel.




🔍 Detection Engine
detector.py

Трёхэтапный сканер безопасности OTA.
Обнаружение strstr(), анализ Fast Channel,
оценка риска и отчёт IoC.


🔧 Fix Demo
fix_demo.py

Интерактивное сравнение strstr() vs strcmp()
и демонстрация исправления.


📄 Report Generator
report_generator.py

Генератор профессиональных HTML-отчётов
об анализе уязвимостей, готовых к PDF.


🧪 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;  // 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 символов — Brute-force: 2³²🟢 Требуется 64 символа — Brute-force: 2²⁵⁶
РезультатФайлСтатус
Исследование уязвимости и логиdocs/research/✅
PoC-скриптыsrc/ (6 файлов)✅
Визуальный анализ (инфографика)docs/presentations/✅
C2 Web Dashboardsrc/app.py✅
Автоматический набор тестовsrc/test_suite.py (27 тестов)✅
Отчёт, готовый к PDFreport_generator.py✅
Поддержка DockerDockerfile + 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
УниверситетУниверситет Истинье