
Android CVE-2024-0044, 43093, 23706 análise de vulnerabilidade e ambiente de laboratório PoC
| Nome Completo | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| [email protected] | |
| keyvanarasteh | |
| Site | qline.tech |
| Nome Completo | Baha Furkan Yıldız |
|---|---|
| Nº de Aluno | 2520****1009 |
| Nome da Disciplina | Teste de Invasão |
|---|---|
| Código da Disciplina | BGT006 |
Este projeto foi desenvolvido como trabalho final da disciplina Teste de Invasão (BGT006) do programa de Tecnologia em Segurança da Informação da Universidade İstinye. No âmbito do projeto, três vulnerabilidades atuais diferentes que afetam o ecossistema Android (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706) foram analisadas em profundidade, um ambiente de laboratório isolado foi montado e analisado com metodologia de detetive cibernético.
As análises tradicionais de segurança Android geralmente consistem apenas em documentação teórica ou imagens estáticas. Este projeto combina o ciclo de ataque e defesa com código funcional para resolver os seguintes problemas fundamentais:
exploit_sim.py) com o detector de logs da equipe azul (detector.py) de ponta a ponta, apresentando um PoC (Proof of Concept) completo de ataque-defesa.Foram adicionados iniciadores PoC de um único comando (run_poc.bat / run_poc.sh) para que um usuário que clone o projeto possa executá-lo e ver a saída em segundos. Esses scripts simulam as etapas de exploração da equipe vermelha e fazem com que o detector da equipe azul gere alarmes e grave no arquivo reports/detection_results.json. Para etapas detalhadas de execução, consulte a seção Instalação e Execução.
O agente de análise de logs de endpoint src/detector.py desenvolvido no âmbito do projeto foi integrado ao NetVanguard, um painel central de monitoramento e alarme de anomalias implementado como projeto intermediário. As assinaturas de vulnerabilidade críticas geradas no emulador foram transferidas para o motor backend do NetVanguard através da rede, simulando uma arquitetura de monitoramento centralizado (SIEM).
O agente de detecção de vulnerabilidades (src/detector.py) é um motor de monitoramento de logs de endpoint leve (lightweight) projetado para detectar atividades de exploração realizadas no dispositivo Android.
adb connect e monitora logs do dispositivo em tempo real.adb logcat | python src/detector.py..log) linha por linha.DETECTION_KEYWORDS no arquivo .env.SIGSEGV), erros de instalação de pacotes (SIGABRT) e aplicações de segurança que falharam (Process has died), gera imediatamente [TEHLIKE - ALARM] no terminal e nos 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)
No âmbito do projeto, a análise de vulnerabilidades e as simulações de defesa foram abordadas através de um ciclo de segurança cibernética composto por 4 fases principais:
graph TD
A["1. Análise de Vulnerabilidade & Exame Estático"] --> B["2. Configuração do Ambiente de Laboratório Isolado"]
B --> C["3. Simulação de Exploração & Registro Dinâmico"]
C --> D["4. Correlação & Dashboard Visual"]
SIGSEGV) foram filtradas e capturadas pelo agente de detecção de vulnerabilidades src/detector.py.web/.# 1. Clone o repositório e entre no diretório
git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git
cd Android-rce-analizi
# 2. Prepare as variáveis de ambiente (configurações padrão são usadas sem .env)
cp .env.example .env
Para testar o mecanismo de ataque e detecção de ponta a ponta, sem necessidade de qualquer instalação ou configuração de emulador:
run_poc.bat
bash run_poc.sh
Para capturar logcat em tempo real com o Emulador Android aberto:
# Inicie o agente (começa a ouvir logs ao vivo via ADB)
python src/detector.py
# Em outro terminal, acione o simulador de ataque
python src/exploit_sim.py
Para iniciar todas as dependências em um contêiner Docker isolado:
docker-compose up -d
Para testar a qualidade do software e os padrões CI/CD:
python -m unittest src/test_detector.py
Qualquer usuário que clone o projeto (git clone) pode executar facilmente a interface web rica contendo relatórios de análise e simulação de terminal em seu ambiente local.
Para visualizar a interface, utilize um dos seguintes métodos:
Para iniciar o servidor HTTP local em segundo plano e abrir a interface automaticamente no seu navegador padrão, execute o comando apropriado para o seu sistema operacional:
start_dashboard.bat no diretório principal do projeto ou executá-lo no terminal com o comando:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
Para executar diretamente sem configurar qualquer servidor local:
web/.index.html para abri-lo diretamente no seu navegador.Se preferir iniciar o servidor Python manualmente:
python -m http.server 8080
Em seguida, acesse http://localhost:8080/web/index.html no seu navegador.
Nosso projeto é gerenciado com princípios de engenharia de software (DevSecOps) de acordo com os padrões de segurança cibernética. Em cada push ou pull request no repositório, o GitHub Actions executa o seguinte pipeline:
ubuntu-latest e windows-latest para verificar a compatibilidade entre plataformas.flake8.bandit (todos os falsos positivos são marcados com # nosec nos padrões de segurança cibernética).exploit_sim.py | detector.py é executado para simular o ciclo de exploração-detecção de ponta a ponta.detection_results.json gerado como resultado do PoC bem-sucedido é carregado automaticamente como um arquivo zip nos artefatos do Actions.
Este projeto é exclusivamente para fins acadêmicos e educacionais. Todos os testes são realizados em ambiente de laboratório controlado, em máquinas virtuais isoladas. Qualquer tentativa de ataque a dispositivos reais ou sistemas de terceiros é ilegal e está fora do escopo deste projeto.
Este projeto está licenciado sob a GNU General Public License v3.0.
| Créditos | 3 AKTS |
| Pré-requisitos | Fundamentos de Redes, Linux CLI |
| Período | 2025-2026 Primavera |
| Código CVE | Tipo de Vulnerabilidade | Pontuação CVSSv3 | Componente Afetado | Vetor de Ataque |
|---|
| CVE-2024-0044 | Bypass de UID Run-as (LPE & RCE) | 8.8 (High) | Android System Server | Local (ADB / Aplicação Maliciosa) |
| CVE-2024-43093 | Bypass de SQLite & DocumentProvider | 7.8 (High) | Android SQLite Library | Local (Acesso a Mídia/Arquivo) |
| CVE-2024-23706 | Bypass de Package Manager | 7.8 (High) | Android Package Manager | Local (Instalação de Aplicação) |
| Tecnologia | Finalidade |
|---|
| Python 3.x | Motor de detecção, simulação de ataque |
| Android SDK / ADB | Gerenciamento de emulador, comunicação com dispositivo |
| Docker | Containerização de ambiente de laboratório isolado |
| Flask | Painel de monitoramento web |
| Logcat | Análise de log do sistema Android |