
Android CVE-2024-0044, 43093, 23706 Schwachstellenanalyse und PoC-Lab-Umgebung
| Name | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| [email protected] | |
| keyvanarasteh | |
| Website | qline.tech |
| Name | Baha Furkan Yıldız |
|---|---|
| Matrikelnummer | 2520****1009 |
| Kursname | Penetrationstest |
|---|---|
| Kurscode | BGT006 |
Dieses Projekt wurde als Abschlussarbeit für den Kurs Penetrationstest (BGT006) des Studiengangs Informationstechnologie der İstinye Universität entwickelt. Im Rahmen des Projekts wurden drei aktuelle Schwachstellen (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706), die das Android-Ökosystem betreffen, eingehend untersucht, eine isolierte Laborumgebung aufgebaut und mit einer Cyber-Detektiv-Methodik analysiert.
Herkömmliche Android-Sicherheitsanalysen bestehen oft nur aus theoretischer Dokumentation oder statischen Bildern. Dieses Projekt löst die grundlegenden Probleme, indem es den Angriffs- und Verteidigungszyklus mit lauffähigem Code kombiniert:
exploit_sim.py) und der Blue-Team-Log-Überwachungsdetektor (detector.py) Ende-zu-Ende verbunden werden.Für Benutzer, die das Projekt klonen, wurden PoC-Starter mit einem Befehl (run_poc.bat / run_poc.sh) hinzugefügt, damit sie es innerhalb von Sekunden ausführen und die Ausgabe sehen können. Diese Skripte simulieren die Exploit-Schritte des Red Teams und veranlassen den Blue-Team-Detektor, Alarme zu erzeugen und in die Datei reports/detection_results.json zu schreiben. Detaillierte Ausführungsschritte finden Sie im Abschnitt Installation und Ausführung.
Der im Rahmen des Projekts entwickelte Endpunkt-Log-Analyse-Agent src/detector.py wurde in das zentrale Anomalieüberwachungs- und Alarm-Dashboard NetVanguard integriert, das als Zwischenprojekt realisiert wurde. Kritische Schwachstellensignaturen, die auf dem Emulator auftreten, werden über das Netzwerk an die NetVanguard-Backend-Engine übertragen, um eine zentrale Überwachungsarchitektur (SIEM) zu simulieren.
Der Schwachstellenerkennungsagent (src/detector.py) ist eine leichte Endpunkt-Log-Überwachungs-Engine, die entwickelt wurde, um Exploit-Aktivitäten auf Android-Geräten zu erkennen.
adb connect her und überwacht die Gerätelogs live.adb logcat | python src/detector.py mit anderen CLI-Tools verbunden werden..log).DETECTION_KEYWORDS in der .env-Datei gespeist.SIGSEGV), Paketinstallationsfehler (SIGABRT) und abgestürzte Sicherheits-Apps (Process has died) erkannt werden, erzeugt es sofort [TEHLIKE - ALARM] im Terminal und in den Logs.Android-rce-analizi/
├── .github/
│ └── workflows/
│ └── detector_test.yml # GitHub Actions (CI/CD) Automatische Testkonfiguration
├── .gitattributes # GitHub-Sprachstatistiken und Dateiattributkonfiguration
├── README.md # Hauptdokument des Projekts
├── ROADMAP.md # Projektfahrplan (Phase 0-5)
├── start_dashboard.bat # Web-Dashboard-Starter für Windows
├── start_dashboard.sh # Web-Dashboard-Starter für macOS/Linux
├── run_poc.bat # PoC-Simulator mit einem Klick für Windows
├── run_poc.sh # PoC-Simulator mit einem Klick für macOS/Linux
├── .gitignore # Von Git ausgeschlossene Dateien
├── .env.example # Umgebungsvariablenvorlage
├── Dockerfile # Docker-Konfiguration
├── docker-compose.yml # Multi-Container-Konfiguration
├── LICENSE # Lizenzdatei
├── mitigation/ # Schwachstellenminderungs- und Patches
│ ├── cve_2024_0044_patch.diff
│ ├── cve_2024_23706_mitigation.md
│ └── cve_2024_43093_mitigation.md
├── src/ # Quellcode
│ ├── detector.py # Endpunkt-Log-Analyse-Agent (Echtzeit-Erkennungsmotor)
│ ├── exploit_sim.py # Red Team Schwachstellen-Exploit-Simulator
│ └── test_detector.py # Automatisierte Unit-Tests für den Agenten
├── reports/ # Simulierte Scan- und Erkennungsberichte
│ ├── nessus_scan.csv # Simulierte Nessus-Schwachstellenscanner-Ausgabe
│ └── detection_results.json # Vom Erkennungsmotor in Echtzeit aufgezeichnete Logausgaben
├── web/ # Web-Dashboard-Oberfläche
│ ├── index.html # Haupt-Dashboard-HTML-Datei
│ ├── css/style.css # Oberflächenstile
│ └── js/main.js # Oberflächendynamik und Terminal-Simulator
├── docs/ # Dokumentation
│ ├── assets/ # Bilder und Mediendateien (inkl. Demo-GIF)
│ ├── modules/ # Moduldokumente
│ ├── references/ # Referenzquellen
│ └── research/ # Tiefgehende Forschungsdokumente
│ ├── 01_zafiyet_analizi.md
│ ├── 02_teknik_mekanizma.md
│ ├── 03_saldirgan_perspektifi.md
│ ├── cve_2024_23706.md
│ ├── cve_2024_43093.md
│ ├── detector_test_output.md # Testberichtausgabe
│ └── final_rapor.md # Abschlussbericht für die Kursabgabe
└── honeypot/ # Honeypot-Umgebungsdateien (Emulator-Einrichtungsleitfaden)
Im Rahmen des Projekts wurde die Schwachstellenanalyse und Verteidigungssimulation in einem 4-stufigen Cybersicherheitszyklus behandelt:
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) wurden vom Schwachstellenerkennungsagenten src/detector.py gefiltert und erfasst.web/-Oberfläche übertragen.# 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
Ohne Installation oder Emulator-Konfiguration den Angriffs- und Erkennungsmechanismus Ende-zu-Ende testen:
run_poc.bat
bash run_poc.sh
Bei laufendem Android-Emulator Echtzeit-Logcat erfassen:
# 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
Alle Abhängigkeiten in einem isolierten Docker-Container starten:
docker-compose up -d
Um die Softwarequalität und CI/CD-Standards zu testen:
python -m unittest src/test_detector.py
Jeder Benutzer, der das Projekt klont (git clone), kann die umfangreiche Weboberfläche mit Analyseberichten und Terminalsimulation problemlos lokal ausführen.
Zur Anzeige der Oberfläche können Sie eine der folgenden Methoden verwenden:
Führen Sie den für Ihr Betriebssystem passenden Befehl aus, um den lokalen HTTP-Server im Hintergrund zu starten und die Oberfläche automatisch in Ihrem Standardbrowser zu öffnen:
start_dashboard.bat im Hauptverzeichnis des Projekts, oder führen Sie folgenden Befehl im Terminal aus:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
Zur direkten Ausführung ohne lokalen Server:
web/.index.html, um sie direkt im Browser zu öffnen.Wenn Sie den Python-Server manuell starten möchten:
python -m http.server 8080
Öffnen Sie anschließend im Browser http://localhost:8080/web/index.html.
Unser Projekt wird nach den Prinzipien der Softwareentwicklung (DevSecOps) gemäß Cybersicherheitsstandards verwaltet. Bei jedem Push oder Pull-Request in das Repository führt GitHub Actions den folgenden Workflow (Pipeline) aus:
ubuntu-latest als auch auf windows-latest getestet, um die plattformübergreifende Kompatibilität zu überprüfen.flake8 werden die Python-Schreibstandards (PEP 8) überprüft.bandit werden kritische Schwachstellenmuster im Code automatisch gescannt (alle False-Positives wurden gemäß Cybersicherheitsstandards mit # nosec markiert).exploit_sim.py | detector.py wird ausgeführt, um den End-to-End-Exploit-Erkennungszyklus zu simulieren.detection_results.json wird automatisch als Zip-Datei in die Actions-Ausgabe hochgeladen.
Dieses Projekt dient ausschließlich akademischen und Bildungszwecken. Alle Tests werden in einer kontrollierten Laborumgebung auf isolierten virtuellen Maschinen durchgeführt. Jeglicher Angriffsversuch auf echte Geräte oder Systeme Dritter ist rechtswidrig und liegt außerhalb des Anwendungsbereichs dieses Projekts.
Dieses Projekt ist unter der GNU General Public License v3.0 lizenziert.
| 3 AKTS |
| Voraussetzungen | Netzwerkgrundlagen, Linux CLI |
| Semester | 2025-2026 Frühjahr |
| CVE-Code | Schwachstellentyp | CVSSv3-Score | Betroffene Komponente | Angriffsvektor |
|---|
| CVE-2024-0044 | Run-as UID Bypass (LPE & RCE) | 8.8 (Hoch) | Android System Server | Lokal (ADB / bösartige App) |
| CVE-2024-43093 | SQLite & DocumentProvider Bypass | 7.8 (Hoch) | Android SQLite Library | Lokal (Medien-/Dateizugriff) |
| CVE-2024-23706 | Package Manager Bypass | 7.8 (Hoch) | Android Package Manager | Lokal (App-Installation) |
| Technologie | Verwendungszweck |
|---|
| Python 3.x | Erkennungsmotor, Angriffssimulation |
| Android SDK / ADB | Emulatorverwaltung, Gerätekommunikation |
| Docker | Containerisierung der isolierten Laborumgebung |
| Flask | Web-Überwachungsdashboard |
| Logcat | Android-System-Log-Analyse |