
Android CVE-2024-0044, 43093, 23706 analyse de vulnérabilité et environnement de laboratoire PoC
| Nom Complet | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| [email protected] | |
| keyvanarasteh | |
| Site Web | qline.tech |
| Nom Complet | Baha Furkan Yıldız |
|---|---|
| Numéro d'Étudiant | 2520****1009 |
| Nom du Cours | Test d'Intrusion |
|---|---|
| Code du Cours | BGT006 |
Ce projet a été développé comme devoir final du cours Test d'Intrusion (BGT006) du programme Technologie de la Sécurité de l'Information de l'Université d'İstinye. Dans le cadre du projet, 3 vulnérabilités actuelles distinctes affectant l'écosystème Android (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706) ont été examinées en profondeur, un environnement de laboratoire isolé a été mis en place et une analyse a été réalisée selon une méthodologie de cyber-enquête.
Les analyses de sécurité Android traditionnelles se limitent généralement à de la documentation théorique ou à des images statiques. Ce projet résout les problèmes fondamentaux suivants en combinant le cycle d'attaque et de défense avec du code fonctionnel :
exploit_sim.py) au détecteur de surveillance des logs de l'équipe bleue (detector.py), offrant ainsi un PoC (Proof of Concept) complet d'attaque-défense.Des lanceurs PoC en une seule commande (run_poc.bat / run_poc.sh) ont été ajoutés afin qu'un utilisateur qui clone le projet puisse l'exécuter et en voir le résultat en quelques secondes. Ces scripts simulent les étapes d'exploitation de l'équipe rouge et permettent au détecteur de l'équipe bleue de générer des alarmes et de les écrire dans le fichier reports/detection_results.json. Pour les étapes d'exécution détaillées, consultez la section Installation et Exécution.
L'agent d'analyse des logs de point de terminaison src/detector.py, développé dans le cadre du projet, a été intégré au tableau de bord central de surveillance des anomalies et d'alarmes NetVanguard, réalisé en tant que projet de mi-parcours. Les signatures de vulnérabilités critiques générées sur l'émulateur sont transmises via le réseau au moteur backend de NetVanguard, simulant ainsi une architecture de surveillance centralisée (SIEM).
L'agent de détection de vulnérabilités (src/detector.py) est un moteur léger (lightweight) de surveillance des logs de point de terminaison, conçu pour détecter les activités d'exploitation réalisées sur un appareil Android.
adb connect et surveille en direct les logs de l'appareil.adb logcat | python src/detector.py..log).DETECTION_KEYWORDS du fichier .env.SIGSEGV), les erreurs d'installation de paquets (SIGABRT) et les applications sécurisées ayant planté (Process has died), il génère immédiatement [TEHLIKE - ALARM] dans le terminal et les logs.Android-rce-analizi/
├── .github/
│ └── workflows/
│ └── detector_test.yml # GitHub Actions (CI/CD) Otomatik Test Yapılandırması
├── .gitattributes # GitHub dil istatistikleri ve dosya nitelikleri yapılandırması
├── README.md # Proje ana belgesi
├── ROADMAP.md # Proje yol haritası (Faz 0-5)
├── start_dashboard.bat # Windows için Web Dashboard başlatıcı
├── start_dashboard.sh # macOS/Linux için Web Dashboard başlatıcı
├── run_poc.bat # Windows için tek tıkla çalışan PoC simülatörü
├── run_poc.sh # macOS/Linux için tek tıkla çalışan PoC simülatörü
├── .gitignore # Git takip dışı dosyalar
├── .env.example # Ortam değişkenleri şablonu
├── Dockerfile # Docker yapılandırması
├── docker-compose.yml # Çoklu konteyner yapılandırması
├── LICENSE # Lisans dosyası
├── mitigation/ # Zafiyet azaltma ve düzeltme (patch) dosyaları
│ ├── cve_2024_0044_patch.diff
│ ├── cve_2024_23706_mitigation.md
│ └── cve_2024_43093_mitigation.md
├── src/ # Kaynak kodlar
│ ├── detector.py # Uç nokta log analiz ajanı (Gerçek zamanlı tespit motoru)
│ ├── exploit_sim.py # Kırmızı Takım (Red Team) zafiyet istismar simülatörü
│ └── test_detector.py # Ajan için yazılmış otomatik birim (unit) testleri
├── reports/ # Simüle edilmiş tarama ve tespit raporları
│ ├── nessus_scan.csv # Simüle edilmiş Nessus zafiyet tarama çıktısı
│ └── detection_results.json # Tespit motorunun anlık olarak kaydettiği log çıktıları
├── web/ # Web Dashboard arayüzü
│ ├── index.html # Ana dashboard HTML dosyası
│ ├── css/style.css # Arayüz stilleri
│ └── js/main.js # Arayüz dinamikleri ve terminal simülatörü
├── docs/ # Dokümantasyon
│ ├── assets/ # Görseller ve medya dosyaları (Demo GIF dahil)
│ ├── modules/ # Modül belgeleri
│ ├── references/ # Referans kaynakları
│ └── research/ # Derinlemesine araştırma belgeleri
│ ├── 01_zafiyet_analizi.md
│ ├── 02_teknik_mekanizma.md
│ ├── 03_saldirgan_perspektifi.md
│ ├── cve_2024_23706.md
│ ├── cve_2024_43093.md
│ ├── detector_test_output.md # Test rapor çıktısı
│ └── final_rapor.md # Ders teslim final raporu
└── honeypot/ # Honeypot ortam dosyaları (Emülatör kurulum rehberi)
Dans le cadre du projet, l'analyse des vulnérabilités et les simulations de défense ont été traitées selon un cycle de cybersécurité composé de 4 étapes fondamentales :
graph TD
A["1. Zafiyet Analizi & Statik İnceleme"] --> B["2. İzole Lab Ortamı Kurulumu"]
B --> C["3. İstismar Simülasyonu & Dinamik Loglama"]
C --> D["4. Korelasyon & Görsel Dashboard"]
SIGSEGV, etc.) générées lors du déclenchement des vulnérabilités ont été filtrées et capturées par l'agent de détection de vulnérabilités src/detector.py.web/.# 1. Repoyu klonlayın ve dizine gidin
git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git
cd Android-rce-analizi
# 2. Ortam değişkenlerini hazırlayın (.env olmadan varsayılan ayarlar kullanılır)
cp .env.example .env
Pour tester de bout en bout le mécanisme d'attaque et de détection, sans aucune installation ni configuration d'émulateur :
run_poc.bat
bash run_poc.sh
Pour capturer les logs logcat en temps réel lorsque votre émulateur Android est ouvert :
# Ajanı başlatın (ADB üzerinden canlı logları dinlemeye başlar)
python src/detector.py
# Ayrı bir terminalden saldırı simülatörünü tetikleyin
python src/exploit_sim.py
Pour démarrer toutes les dépendances dans un conteneur Docker isolé :
docker-compose up -d
Pour tester la qualité logicielle et les normes CI/CD :
python -m unittest src/test_detector.py
Tout utilisateur qui clone (git clone) le projet peut facilement exécuter localement la riche interface web comprenant les rapports d'analyse et la simulation de terminal.
Pour visualiser l'interface, vous pouvez utiliser l'une des méthodes suivantes :
Pour démarrer le serveur HTTP local en arrière-plan et ouvrir automatiquement l'interface dans votre navigateur par défaut, exécutez la commande adaptée à votre système d'exploitation :
start_dashboard.bat situé dans le répertoire principal du projet ou l'exécuter depuis le terminal avec la commande suivante :
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
Pour exécuter directement sans installer de serveur local :
web/.index.html pour l'ouvrir directement dans votre navigateur.Si vous souhaitez démarrer le serveur Python manuellement :
python -m http.server 8080
Ensuite, accédez à l'adresse http://localhost:8080/web/index.html dans votre navigateur.
Notre projet est géré selon des principes d'ingénierie logicielle (DevSecOps) conformes aux normes de cybersécurité. À chaque push ou pull request effectué sur le dépôt, GitHub Actions exécute le flux de travail (pipeline) suivant :
ubuntu-latest et windows-latest, validant ainsi la compatibilité multiplateforme.flake8.bandit (tous les cas de faux positifs sont marqués # nosec conformément aux normes de cybersécurité).exploit_sim.py | detector.py est exécuté, simulant ainsi le cycle complet d'exploitation-détection.detection_results.json généré à la suite de l'exécution réussie du PoC est automatiquement téléchargé sous forme d'archive zip dans les sorties d'Actions.
Ce projet est uniquement destiné à des fins académiques et éducatives. Tous les tests sont effectués dans un environnement de laboratoire contrôlé, sur des machines virtuelles isolées. Toute tentative d'attaque contre des appareils réels ou des systèmes tiers est illégale et sort du cadre de ce projet.
Ce projet est sous licence GNU General Public License v3.0.
| 3 AKTS |
| Prérequis | Fondamentaux des Réseaux, Linux CLI |
| Semestre | Printemps 2025-2026 |
| Code CVE | Type de Vulnérabilité | Score CVSSv3 | Composant Affecté | Vecteur d'Attaque |
|---|
| CVE-2024-0044 | Run-as UID Bypass (LPE & RCE) | 8.8 (High) | Android System Server | Local (ADB / Application Malveillante) |
| CVE-2024-43093 | SQLite & DocumentProvider Bypass | 7.8 (High) | Android SQLite Library | Local (Accès Média/Fichiers) |
| CVE-2024-23706 | Package Manager Bypass | 7.8 (High) | Android Package Manager | Local (Installation d'Application) |
| Technologie | Objectif d'Utilisation |
|---|
| Python 3.x | Moteur de détection, simulation d'attaque |
| Android SDK / ADB | Gestion de l'émulateur, communication avec l'appareil |
| Docker | Conteneurisation de l'environnement de laboratoire isolé |
| Flask | Panneau de surveillance web |
| Logcat | Analyse des logs système Android |