
Android CVE-2024-0044, 43093, 23706 анализ уязвимостей и среда лаборатории PoC
| Имя Фамилия | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| [email protected] | |
| keyvanarasteh | |
| Веб-сайт | qline.tech |
| Имя Фамилия | Baha Furkan Yıldız |
|---|---|
| Номер студента | 2520****1009 |
| Название курса | Тестирование на проникновение |
|---|---|
| Код курса | BGT006 |
Этот проект разработан в качестве финального задания по курсу «Тестирование на проникновение» (BGT006) программы «Технологии информационной безопасности» Университета Истинье. В рамках проекта были детально проанализированы три различные актуальные уязвимости, затрагивающие экосистему Android (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706), создана изолированная лабораторная среда и проведён анализ с использованием методологии кибер-детектива.
Традиционные анализы безопасности Android часто ограничиваются теоретической документацией или статическими изображениями. Данный проект объединяет цикл атаки и защиты с работающим кодом, решая следующие основные проблемы:
exploit_sim.py) с детектором мониторинга логов Blue Team (detector.py), предоставляя полноценное подтверждение концепции (PoC) атаки и защиты.Для того чтобы пользователь, клонировавший проект, мог запустить его и увидеть результат за считанные секунды, добавлены запускающие PoC скрипты (run_poc.bat / run_poc.sh). Эти скрипты симулируют шаги эксплуатации Red Team и заставляют детектор Blue Team генерировать тревоги, записывая их в файл reports/detection_results.json. Подробные шаги по запуску смотрите в разделе Установка и запуск.
Агент анализа логов конечных точек src/detector.py, разработанный в рамках проекта, интегрирован с центральной панелью мониторинга и оповещения аномалий NetVanguard, созданной в качестве курсового проекта. Критические сигнатуры уязвимостей, возникающие на эмуляторе, передавались по сети на серверную часть NetVanguard, симулируя архитектуру централизованного мониторинга (SIEM).
Агент обнаружения уязвимостей (src/detector.py) — это легковесный движок мониторинга логов конечных точек, разработанный для обнаружения эксплуатационной активности на Android-устройстве.
adb connect для мониторинга логов устройства в реальном времени.adb logcat | python src/detector.py..log) построчно.DETECTION_KEYWORDS из файла .env.SIGSEGV), ошибки установки пакетов (SIGABRT) и сбой защищённых приложений (Process has died), немедленно генерирует в терминале и логах сообщение [TEHLIKE - ALARM].Android-rce-analizi/
├── .github/
│ └── workflows/
│ └── detector_test.yml # GitHub Actions (CI/CD) Автоматическая конфигурация тестов
├── .gitattributes # Конфигурация языковой статистики и атрибутов файлов GitHub
├── README.md # Основной документ проекта
├── ROADMAP.md # Дорожная карта проекта (Фазы 0-5)
├── start_dashboard.bat # Запуск веб-панели для Windows
├── start_dashboard.sh # Запуск веб-панели для macOS/Linux
├── run_poc.bat # PoC-симулятор одним кликом для Windows
├── run_poc.sh # PoC-симулятор одним кликом для macOS/Linux
├── .gitignore # Файлы, исключённые из отслеживания Git
├── .env.example # Шаблон переменных окружения
├── Dockerfile # Конфигурация Docker
├── docker-compose.yml # Многоконтейнерная конфигурация
├── LICENSE # Файл лицензии
├── mitigation/ # Файлы смягчения и исправления (патчи) уязвимостей
│ ├── cve_2024_0044_patch.diff
│ ├── cve_2024_23706_mitigation.md
│ └── cve_2024_43093_mitigation.md
├── src/ # Исходные коды
│ ├── detector.py # Агент анализа логов конечных точек (движок обнаружения в реальном времени)
│ ├── exploit_sim.py # Симулятор эксплуатации уязвимостей Red Team
│ └── test_detector.py # Автоматические модульные тесты для агента
├── reports/ # Симулированные отчёты сканирования и обнаружения
│ ├── nessus_scan.csv # Симулированный вывод сканирования уязвимостей Nessus
│ └── detection_results.json # Выводы логов, записанные движком обнаружения в реальном времени
├── web/ # Интерфейс веб-панели
│ ├── index.html # Основной HTML-файл панели
│ ├── css/style.css # Стили интерфейса
│ └── js/main.js # Динамика интерфейса и симулятор терминала
├── docs/ # Документация
│ ├── assets/ # Изображения и медиафайлы (включая GIF-демонстрацию)
│ ├── modules/ # Документация модулей
│ ├── references/ # Справочные источники
│ └── research/ # Документы углублённых исследований
│ ├── 01_zafiyet_analizi.md
│ ├── 02_teknik_mekanizma.md
│ ├── 03_saldirgan_perspektifi.md
│ ├── cve_2024_23706.md
│ ├── cve_2024_43093.md
│ ├── detector_test_output.md # Вывод отчёта тестирования
│ └── final_rapor.md # Финальный отчёт для сдачи курса
└── honeypot/ # Файлы среды Honeypot (руководство по установке эмулятора)
В рамках проекта анализ уязвимостей и симуляции защиты были рассмотрены в виде цикла кибербезопасности, состоящего из 4 основных этапов:
graph TD
A["1. Анализ уязвимостей и статическое исследование"] --> B["2. Настройка изолированной лабораторной среды"]
B --> C["3. Симуляция эксплуатации и динамическое логирование"]
C --> D["4. Корреляция и визуальная панель"]SIGSEGV), возникающих при активации уязвимостей, были отфильтрованы и захвачены агентом обнаружения уязвимостей src/detector.py.web/.# 1. Клонируйте репозиторий и перейдите в каталог
git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git
cd Android-rce-analizi
# 2. Подготовьте переменные окружения (без .env используются настройки по умолчанию)
cp .env.example .env
Для тестирования механизма атаки и обнаружения «из конца в конец» без какой-либо установки или настройки эмулятора:
run_poc.bat
bash run_poc.sh
Для захвата logcat в реальном времени при запущенном Android-эмуляторе:
# Запустите агент (начинает прослушивание живых логов через ADB)
python src/detector.py
# В отдельном терминале запустите симулятор атаки
python src/exploit_sim.py
Для запуска всех зависимостей в изолированном контейнере Docker:
docker-compose up -d
Для тестирования качества программного обеспечения и стандартов CI/CD:
python -m unittest src/test_detector.py
Любой пользователь, клонировавший проект, может легко запустить на своём локальном компьютере богатый веб-интерфейс, содержащий отчёты анализа и симуляцию терминала.
Для просмотра интерфейса вы можете использовать один из следующих методов:
Чтобы запустить локальный HTTP-сервер в фоновом режиме и автоматически открыть интерфейс в вашем браузере по умолчанию, выполните команду, соответствующую вашей операционной системе:
start_dashboard.bat в корневом каталоге проекта или выполните его из терминала:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
Для запуска напрямую без настройки локального сервера:
web/.index.html, чтобы открыть его непосредственно в браузере.Если вы хотите запустить Python-сервер вручную:
python -m http.server 8080
Затем в браузере перейдите по адресу http://localhost:8080/web/index.html.
Наш проект управляется в соответствии с принципами DevSecOps, соответствующими стандартам кибербезопасности. При каждом push или pull request в репозиторий GitHub Actions выполняет следующий конвейер (pipeline):
ubuntu-latest и windows-latest для проверки кроссплатформенной совместимости.flake8 проверяется соответствие стандартам написания Python (PEP 8).bandit автоматически сканируются возможные критические шаблоны уязвимостей в коде (все случаи ложных срабатываний отмечены # nosec в соответствии со стандартами кибербезопасности).exploit_sim.py | detector.py для симуляции цикла эксплуатации и обнаружения «из конца в конец».detection_results.json автоматически загружается в виде zip-файла в артефакты Actions.
Этот проект предназначен исключительно для академических и образовательных целей. Все тесты проводятся в контролируемой лабораторной среде на изолированных виртуальных машинах. Любые попытки атак на реальные устройства или сторонние системы незаконны и выходят за рамки данного проекта.
Этот проект лицензирован в соответствии с GNU General Public License v3.0.
| Кредиты | 3 ECTS |
| Предварительные требования | Основы сетей, Linux CLI |
| Семестр | 2025-2026 Весенний |
| Код CVE | Тип уязвимости | Оценка CVSSv3 | Затронутый компонент | Вектор атаки |
|---|
| CVE-2024-0044 | Обход Run-as UID (LPE & RCE) | 8.8 (Высокий) | Android System Server | Локальный (ADB / Вредоносное приложение) |
| CVE-2024-43093 | Обход SQLite и DocumentProvider | 7.8 (Высокий) | Библиотека Android SQLite | Локальный (Доступ к медиа/файлам) |
| CVE-2024-23706 | Обход Package Manager | 7.8 (Высокий) | Android Package Manager | Локальный (Установка приложений) |
| Технология | Назначение |
|---|
| Python 3.x | Движок обнаружения, симуляция атак |
| Android SDK / ADB | Управление эмулятором, связь с устройством |
| Docker | Контейнеризация изолированной лабораторной среды |
| Flask | Веб-панель мониторинга |
| Logcat | Анализ системных логов Android |