Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC — CVE-2026-0073 — Omisión de autenticación TLS en el demonio ADB (adbd) de Android mediante confusión de tipos en EVP_PKEY_cmp. Obtén acceso de shell no autorizado por WiFi aprovechando la discrepancia de claves EC/Ed25519. Exploit PoC para Android 14+. | Kitploit
Herramientas/GitHubGitHub/xqi1337/cve-2026-0073-android-adbd-bypass-poc
Seguridad AndroidExplotaciónExplotación de Aplicaciones WebCriptografíaPruebas de PenetraciónSeguridad MóvilAutenticación
GitHubxqi1337/cve-2026-0073-android-adbd-bypass-poc

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

CVE-2026-0073 — Omisión de autenticación TLS en el demonio ADB (adbd) de Android mediante confusión de tipos en EVP_PKEY_cmp. Obtén acceso de shell no autorizado por WiFi aprovechando la discrepancia de claves EC/Ed25519. Exploit PoC para Android 14+.

Ver Repositorio
1hace 5 mesesAún no revisado

CVE-2026-0073 — Bypass de autenticación TLS en ADBD de Android

Confusión de tipos en EVP_PKEY_cmp() → shell ADB no autorizada

Python 3.10+ CVE-2026-0073 Android License


🔥 Descripción general

Un bypass de autenticación crítico en el daemon ADB de Android (adbd) permite a cualquier atacante en la red local obtener una shell completa en un dispositivo objetivo sin autorización del usuario.

La vulnerabilidad existe en adbd_tls_verify_cert() dentro de daemon/auth.cpp, donde EVP_PKEY_cmp() se utiliza como un booleano. Cuando la clave almacenada es RSA y el certificado de cliente TLS presentado porta una clave no RSA (EC P-256 o Ed25519), EVP_PKEY_cmp() devuelve -1 (discrepancia de tipos), lo cual es verdadero en C/C++, por lo que authorized = true.

// Vulnerable code pattern in daemon/auth.cpp
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← BUG: -1 is truthy!
    authorized = true;
}
Retorno de EVP_PKEY_cmp()Significado¿Verdadero en C?Resultado
1Las claves coinciden✅Autorizado (correcto)
0Las claves difieren❌Rechazado (correcto)
-1Incompatibilidad de tipos✅Autorizado (BUG)

⚡ Inicio rápido

Instalar dependencias

pip install cryptography

Ejecutar el exploit

# 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"

Forzar un tipo de clave específico

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

Por defecto, el script prueba automáticamente EC P-256 → Ed25519 → EC/TLS 1.2 hasta que uno tenga éxito.


🎯 Flujo de explotación

   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]                    │

📋 Requisitos previos

RequisitoDetalles
Opciones de desarrolladorHabilitadas en el dispositivo objetivo
Depuración inalámbricaHabilitada (o ADB sobre TCP en el puerto 5555)
Clave RSA almacenadaEl dispositivo debe haber sido emparejado por USB al menos una vez (/data/misc/adb/adb_keys)
Acceso a la redEl atacante debe poder alcanzar el puerto TCP de adbd

⚠️ Importante: La clave RSA debe estar en /data/misc/adb/adb_keys, que se completa mediante el emparejamiento de depuración USB (aceptando el diálogo "¿Permitir depuración USB?"). El emparejamiento de depuración inalámbrica (adb pair) almacena las claves en una ubicación diferente (adb_known_hosts.pb) y NO cumple este requisito.


🛡️ Versiones afectadas

  • Android 14 (AOSP) — ✅ Confirmado vulnerable
  • Android 15 (AOSP) — Probablemente vulnerable (compilaciones sin parchear)
  • Las compilaciones específicas de cada fabricante pueden variar (Samsung One UI, Pixel, etc.)

Cómo comprobar el nivel de parche

adb shell getprop ro.build.version.security_patch

🧪 Entorno de Pruebas

Probado y confirmado su funcionamiento en:

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

🔧 Mejoras sobre el original

Este fork incluye varias mejoras:

  • ✅ Respaldo multi-clave — Prueba automáticamente EC P-256 → Ed25519 → EC/TLS 1.2
  • ✅ Soporte de Ed25519 — Tipo de clave alternativo para una mayor compatibilidad
  • ✅ Respaldo de TLS 1.2 — Flujo de certificado de cliente diferente (enviado durante el handshake vs. después del handshake)
  • ✅ Certificado mejorado — Extensiones X.509 adecuadas (BasicConstraints, KeyUsage)
  • ✅ Compatible con Windows — Utiliza E/S con hilos en lugar de select() para soporte multiplataforma
  • ✅ Tiempos de espera aumentados — Mayor fiabilidad en redes más lentas
  • ✅ Diagnósticos detallados — Traza detallada del protocolo con el flag -v

📁 Estructura del proyecto

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

⚠️ Aviso legal

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Obtenga siempre la autorización adecuada antes de realizar pruebas. El autor no asume ninguna responsabilidad por el uso indebido de este software.


📚 Referencias

  • CVE-2026-0073 — MITRE
  • Boletín de seguridad de Android
  • Documentación de OpenSSL EVP_PKEY_cmp
  • Referencia del protocolo ADB

Si esto ayudó a tu investigación, deja una ⭐

Descargar herramienta