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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC_zh_CN — CVE-2026-0073-Android-ADBD-bypass-POC汉化版 | Kitploit
Инструменты/GitHubGitHub/ctn-qvo/cve-2026-0073-android-adbd-bypass-poc_zh_cn
Android SecurityVulnerability AnalysisExploitationPenetration TestingLearning & EducationBinary Exploitation
GitHubctn-qvo/cve-2026-0073-android-adbd-bypass-poc_zh_cn

CVE-2026-0073-Android-ADBD-bypass-POC_zh_CN

CVE-2026-0073-Android-ADBD-bypass-POC汉化版

Популярное

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

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

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

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

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

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

EVP_PKEY_cmp() путаница типов → неавторизованная ADB-оболочка

Python 3.10+ CVE-2026-0073 Android 许可证


🔥 Обзор

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

Уязвимость находится в функции 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:~
# Интерактивная оболочка
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-соединение ──────────────────►│
│──── CNXN (открытый текст) ────────►│
│◄─── STLS (запрос на повышение TLS)──│
│──── Ответ STLS ──────────────────►│
      │                                    │
│════ Рукопожатие TLS 1.3 ════════│
│ (предоставлен клиентский сертификат EC P-256)│
│ EVP_PKEY_cmp(EC, RSA) → -1 │
│ -1 — истина → authorized=true │
      │════════════════════════════════════│
      │                                    │
│◄─── CNXN (информация об устройстве)──────│
│──── Открыть "shell:" ───────────────►│
│◄─── OK ────────────────────────│
│◄──► WRTE/OKAY (I/O оболочки)──────►│
      │                                    │
[Полный доступ к оболочке]

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

Требование

⚠️ Важно: 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:~
Ядро: 6.1.23-android14-4-00257-g7e35917775b8-ab9964412
Платформа: Android 14 (эмулятор Android Studio)

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

Этот форк включает следующие улучшения:

  • ✅ Откат по нескольким ключам — автоматически пробует 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