
Analisi delle vulnerabilità Android CVE-2024-0044, 43093, 23706 e ambiente lab PoC
| Nome e Cognome | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| [email protected] | |
| keyvanarasteh | |
| Sito Web | qline.tech |
| Nome e Cognome | Baha Furkan Yıldız |
|---|---|
| Numero di Matricola | 2520****1009 |
| Nome del Corso | Test di Penetrazione |
|---|---|
| Codice del Corso | BGT006 |
Questo progetto è stato sviluppato come elaborato finale del corso di Test di Penetrazione (BGT006) del programma Tecnologia della Sicurezza delle Informazioni dell'Università di İstinye. Nell'ambito del progetto, 3 diverse vulnerabilità attuali che colpiscono l'ecosistema Android (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706) sono state esaminate in profondità, è stato allestito un ambiente di laboratorio isolato e sono state analizzate con una metodologia di investigazione cyber.
Le analisi di sicurezza Android tradizionali consistono solitamente solo in documentazione teorica o immagini statiche. Questo progetto, combinando il ciclo di attacco e difesa con codice funzionante, risolve i seguenti problemi fondamentali:
exploit_sim.py) con il rilevatore di monitoraggio dei log del team blu (detector.py), offrendo una PoC (Proof of Concept) completa di attacco-difesa.Per consentire a un utente che clona il progetto di eseguirlo e vedere l'output in pochi secondi, sono stati aggiunti avviatori PoC a comando singolo (run_poc.bat / run_poc.sh). Questi script simulano i passaggi di sfruttamento del team rosso e consentono al rilevatore del team blu di generare allarmi e scriverli nel file reports/detection_results.json. Per i passaggi di esecuzione dettagliati, consultare la sezione Installazione ed Esecuzione.
L'agente di analisi dei log di endpoint src/detector.py, sviluppato nell'ambito del progetto, è stato integrato nel dashboard centrale di monitoraggio delle anomalie e degli allarmi NetVanguard, realizzato come progetto di metà semestre. Le firme delle vulnerabilità critiche generate sull'emulatore vengono trasferite via rete al motore backend di NetVanguard, simulando così un'architettura di monitoraggio centralizzato (SIEM).
L'agente di rilevamento delle vulnerabilità (src/detector.py) è un motore leggero (lightweight) di monitoraggio dei log di endpoint, progettato per rilevare le attività di sfruttamento eseguite sui dispositivi Android.
adb connect e monitora i log del dispositivo in tempo reale.adb logcat | python src/detector.py..log).DETECTION_KEYWORDS contenuta nel file .env.SIGSEGV), errori di installazione dei pacchetti (SIGABRT) e applicazioni sicure terminate (Process has died), genera immediatamente [TEHLIKE - ALARM] nel terminale e nei log.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)
Nell'ambito del progetto, l'analisi delle vulnerabilità e le simulazioni di difesa sono state affrontate con un ciclo di sicurezza informatica composto da 4 fasi principali:
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) emerse quando vengono attivate le vulnerabilità sono state catturate filtrandole con l'agente di rilevamento delle vulnerabilità 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
Per testare end-to-end il meccanismo di attacco e rilevamento, senza richiedere alcuna installazione o configurazione dell'emulatore:
run_poc.bat
bash run_poc.sh
Per catturare logcat in tempo reale mentre l'emulatore Android è aperto:
# 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
Per avviare tutte le dipendenze in un container Docker isolato:
docker-compose up -d
Per testare la qualità del software e gli standard CI/CD:
python -m unittest src/test_detector.py
Qualsiasi utente che clona il progetto (git clone) può eseguire facilmente in locale la ricca interfaccia web che include i report di analisi e la simulazione del terminale.
Per visualizzare l'interfaccia, è possibile utilizzare uno dei seguenti metodi:
Per avviare il server HTTP locale in background e aprire automaticamente l'interfaccia nel browser predefinito, esegui il comando appropriato per il tuo sistema operativo:
start_dashboard.bat nella directory principale del progetto, oppure eseguirlo dal terminale con il comando:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
Per eseguirlo direttamente senza configurare alcun server locale:
web/.index.html per aprirlo direttamente nel browser.Se desideri avviare manualmente il server Python:
python -m http.server 8080
Quindi, vai all'indirizzo http://localhost:8080/web/index.html nel tuo browser.
Il nostro progetto è gestito secondo i principi di ingegneria del software (DevSecOps) conformi agli standard di cybersecurity. A ogni push o pull request sul repository, GitHub Actions esegue il seguente flusso di lavoro (pipeline):
ubuntu-latest che su windows-latest, verificando la compatibilità tra piattaforme.flake8.bandit vengono scansionati automaticamente i pattern di vulnerabilità critiche che potrebbero verificarsi nel codice (tutti i casi di falsi positivi sono contrassegnati con # nosec secondo gli standard di cybersecurity).exploit_sim.py | detector.py, simulando il ciclo end-to-end di sfruttamento-rilevamento.detection_results.json generato dal PoC eseguito con successo viene caricato automaticamente come file zip negli artefatti di Actions.
Questo progetto è destinato esclusivamente a scopi accademici ed educativi. Tutti i test vengono eseguiti in un ambiente di laboratorio controllato, su macchine virtuali isolate. Qualsiasi tentativo di attacco verso dispositivi reali o sistemi di terze parti è illegale ed esula dallo scopo di questo progetto.
Questo progetto è concesso in licenza con la GNU General Public License v3.0.
| Crediti |
| 3 AKTS |
| Prerequisiti | Fondamenti di Rete, Linux CLI |
| Semestre | Primavera 2025-2026 |
| Codice CVE | Tipo di Vulnerabilità | Punteggio CVSSv3 | Componente Interessata | Vettore di Attacco |
|---|
| CVE-2024-0044 | Run-as UID Bypass (LPE & RCE) | 8.8 (Alto) | Android System Server | Locale (ADB / App dannosa) |
| CVE-2024-43093 | SQLite & DocumentProvider Bypass | 7.8 (Alto) | Libreria SQLite di Android | Locale (Accesso a file multimediali/documenti) |
| CVE-2024-23706 | Package Manager Bypass | 7.8 (Alto) | Android Package Manager | Locale (Installazione di applicazioni) |
| Tecnologia | Scopo di Utilizzo |
|---|
| Python 3.x | Motore di rilevamento, simulazione di attacco |
| Android SDK / ADB | Gestione dell'emulatore, comunicazione con il dispositivo |
| Docker | Containerizzazione dell'ambiente di laboratorio isolato |
| Flask | Pannello di monitoraggio web |
| Logcat | Analisi dei log di sistema Android |