Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-0047-poc — CVE-2026-0047: Отсутствует проверка разрешений в ActivityManagerService.dumpBitmapsProto() — кража UI-скриншотов из каждого запущенного приложения без каких-либо разрешений (Android 16 QPR2 Beta) | Kitploit
Инструменты/GitHubGitHub/mobilehackinglab/cve-2026-0047-poc
Безопасность AndroidПовышение привилегийАнализ уязвимостейЭксплуатацияСбор информацииМобильная безопасностьОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHubmobilehackinglab/cve-2026-0047-poc

CVE-2026-0047-poc

CVE-2026-0047: Отсутствует проверка разрешений в ActivityManagerService.dumpBitmapsProto() — кража UI-скриншотов из каждого запущенного приложения без каких-либо разрешений (Android 16 QPR2 Beta)

Репозиторий
1343 месяцев назадЕщё не проверено

CVE-2026-0047: Отсутствие проверки разрешений в ActivityManagerService

Куча битмапов, украденных из каждого работающего приложения — ноль разрешений, ноль взаимодействия с пользователем.

Отсутствие проверки enforceCallingOrSelfPermission(DUMP) в ActivityManagerService.dumpBitmapsProto() позволяет любому установленному приложению извлекать UI-битмапы из всех запущенных процессов на Android 16 QPR2 Beta (Baklava).

Примечание: Мы не обнаружили эту уязвимость. Вся заслуга в обнаружении и ответственном сообщении принадлежит оригинальным исследователям. Этот репозиторий содержит наш независимый анализ патча, воспроизведение и учебное описание, чтобы помочь сообществу безопасности понять класс ошибок и методы эксплуатации.

CVECVE-2026-0047
КритичностьКритическая — CVSS 8.4
КомпонентActivityManagerService.dumpBitmapsProto()
Коренная причинаОтсутствие проверки разрешений (CWE-280)
ВоздействиеЛюбое приложение без разрешений крадет UI-битмапы из всех запущенных приложений
ЗатронутыеAndroid 16 QPR2 Beta 1–3 (Baklava), уровень патча < 2026-03-01
ИсправленоБюллетень безопасности Android за март 2026

Содержание репозитория

root@kitploit:~
├── app/                    # PoC эксплойт (UI для аудита)
├── attacker/               # "Flashlight Pro" — замаскированное приложение атакующего
├── apk/                    # Предварительно собранные APK (готовы к установке)
│   ├── cve-2026-0047-poc.apk
│   └── flashlight-pro-attacker.apk
├── exploit.sh              # Одноразовый скрипт эксплойта
├── gradle/                 # Gradle wrapper
└── README.md

Настройка тестового окружения

Вам понадобится эмулятор Android 16 QPR2 Beta (Baklava) с уровнем патча безопасности до 2026-03-01:

root@kitploit:~
# Загрузите уязвимый образ системы
sdkmanager "system-images;android-Baklava;google_apis;arm64-v8a"

# Создайте AVD
avdmanager create avd -n baklava -k "system-images;android-Baklava;google_apis;arm64-v8a"

# Запустите эмулятор
emulator -avd baklava &

# Проверьте, что уровень патча до исправления
adb shell getprop ro.build.version.security_patch
# Всё до 2026-03-01 уязвимо

Быстрый старт

Вариант 1: Одноразовый скрипт (рекомендуется)

root@kitploit:~
# Полный запуск: настройка эмулятора, сборка, эксплойт, извлечение украденных битмапов
./exploit.sh --setup-emulator

# Уже запущен эмулятор Baklava?
./exploit.sh

# Пропустить сборку, только запустить эксплойт
./exploit.sh --skip-build

Вариант 2: Предварительно собранный APK

root@kitploit:~
# Установите приложение PoC
adb install apk/cve-2026-0047-poc.apk

# Откройте несколько приложений (Настройки, почта и т.д.), чтобы отображался UI
adb shell am start -n com.android.settings/.Settings

# Запустите PoC
adb shell am start -n com.poc.cve20260047/.MainActivity

# Нажмите кнопку "Exploit dumpBitmapsProto()"

Вариант 3: Симуляция атакующего ("Flashlight Pro")

root@kitploit:~
# Установите замаскированное приложение атакующего — НОЛЬ разрешений
adb install apk/flashlight-pro-attacker.apk

# Запустите — эксфильтрация происходит бесшумно при запуске
adb shell am start -n com.poc.cve20260047.attacker/.MainActivity

Как это работает

  1. Raw Binder probe — Код транзакции #117 в сервисе activity соответствует dumpBitmapsProto(). Отправка его без аргументов вызывает NullPointerException внутри AMS (а не SecurityException), что доказывает выполнение тела метода без какой-либо проверки разрешений.

  2. Raw Binder exploit — Мы используем IBinder.transact() для отправки специально сформированного Parcel напрямую в AMS. Это полностью обходит ограничения скрытых API Android — не требуется настройка hidden_api_policy. Parcel содержит:

    • Токен интерфейса (android.app.IActivityManager)
    • Маркер не-null + ParcelFileDescriptor (конец канала для записи)
    • Пустой массив строк (все процессы)
    • userId = -2 (USER_CURRENT)
    • dumpAll = true

Результат

На эмуляторе Baklava (BP41.250725.007, патч 2025-08-05) с открытыми Настройками, Часами и Файлами:

  • 679 091 байт protobuf-данных
  • 63 корректных PNG-изображения украдены из всех запущенных приложений
  • Ноль разрешений объявлено приложением PoC

Как это было исправлено

Google добавил enforceCallingOrSelfPermission(DUMP) в качестве первой строки dumpBitmapsProto(), поэтому непривилегированные вызывающие теперь получают SecurityException до того, как будут доступны какие-либо данные.

Ссылки

  • Бюллетень безопасности Android — Март 2026
  • CVE-2026-0047 — NVD
  • CWE-280: Некорректная обработка недостаточных разрешений
  • Статья в блоге: Полный анализ и пошаговое руководство по эксплуатации

Авторы

Исследование и PoC от Mobile Hacking Lab. Мы независимо воспроизвели эту уязвимость в образовательных целях.

Отказ от ответственности

Этот proof of concept предоставляется только для образовательных и авторизованных целей исследования безопасности. Используйте его только на устройствах и в средах, которые вам принадлежат или на тестирование которых у вас есть явное разрешение. Авторы не несут ответственности за любое неправомерное использование.

Скачать инструмент
  • format = "png"
  • Извлечение битмапов — AMS записывает в канал protobuf-данные, содержащие PNG-битмапы. Мы сканируем на наличие магических байтов PNG (89 50 4E 47) и трейлеров IEND для извлечения отдельных изображений.