
Exploit de omisión de autenticación sin clic para Android ADB Wireless Debugging (CVE-2026-0073). Proporciona shell interactivo, ejecución de comandos y escaneo de red para pruebas de seguridad autorizadas.

Zero-Click | Shell remoto | Escáner de red | Herramienta educativa de investigación de seguridad
SOLO USO ÉTICO – PRUEBAS DE SEGURIDAD AUTORIZADAS
Este repositorio proporciona herramientas únicamente para profesionales de seguridad autorizados, equipos defensivos y pentesters.
El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.
CVE-2026-0073 es una vulnerabilidad crítica de omisión de autenticación en el daemon ADB de Android que afecta a la depuración inalámbrica en dispositivos Android 14, 15 y 16. El fallo reside en la lógica de verificación de certificados TLS, donde una confusión de tipos en EVP_PKEY_cmp() permite a los atacantes omitir la autenticación presentando un certificado EC P-256 o Ed25519 contra un dispositivo configurado con una clave RSA.
Este repositorio proporciona dos herramientas separadas: un exploit.py armamentizado para operaciones autorizadas de red team, y un safedetect.py no intrusivo para equipos defensivos y auditorías de seguridad.
Ambas herramientas se proporcionan únicamente para investigación de seguridad autorizada y fines educativos.
| Característica | Descripción |
|---|---|
| Descubrimiento inteligente de puertos | Escanea automáticamente puertos inalámbricos comunes + descubrimiento mDNS, verifica ADB mediante handshake CNXN |
| Omisión de TLS 1.3 | Explota la confusión de tipos en EVP_PKEY_cmp() para omitir la autenticación |
| Soporte de doble clave | Certificados EC P-256 (predeterminado) o Ed25519 |
| Shell interactivo | Acceso completo a terminal con E/S basada en hilos |
| Modo de comando único | Ejecuta un comando y sale - perfecto para scripting |
| Escáner de red | Escanea toda la subred en busca de dispositivos vulnerables |
| Reintento automático | Backoff exponencial + jitter + reintentos máximos configurables |
| Anulación manual de puerto | Especifica el puerto cuando el descubrimiento automático falla |
| Captura de salida | Guarda los resultados de los comandos en un archivo |
| Salida coloreada | Retroalimentación visual profesional mediante colorama |
| Depuración detallada | Registro detallado para solución de problemas |
| Soporte de proxy | Compatibilidad con proxy SOCKS5 / SOCKS4 / HTTP |
| Shell con hilos | Sesión interactiva no bloqueante |
| Descubrimiento mDNS | Detección pasiva del servicio _adb-tls-connect._tcp |
| Pool persistente | Pool de conexiones thread-safe con tamaño configurable |
| Timeouts granulares | Timeouts por etapa (conexión, TLS, autenticación, recepción) |
| Modo sigiloso | Jitter + rotación de SNI + rotación de CN + rotación de claves |
| Limitación de tasa | Limitación de conexiones con token-bucket para evitar IDS |
| Informes JSON/CSV/HTML | Salida estructurada compatible con SIEM para SafeDetect |
| Versión de Android | Afectada |
|---|---|
| Android 14 | ✅ Sí |
| Android 15 | ✅ Sí |
| Android 16 | ✅ Sí |
| Android 13- | ❌ No |
Parche: Android Security Bulletin 2026-05-01
| Característica | exploit.py (Armamentizado) | safedetect.py (Equipo defensivo) |
|---|---|---|
| Propósito | Explotación completa + acceso a shell | Detección y auditoría no intrusivas |
| Entrada de objetivo | Único / escaneo de subred | Único / CIDR / archivo / mDNS |
| Soporte CIDR | ❌ No | ✅ Sí (hasta /20) |
| Soporte de rango de puertos | ❌ No | ✅ Sí (--ports 5555,39311-39400) |
| Objetivos basados en archivo | ❌ No | ✅ Sí (-f targets.txt) |
| Descubrimiento mDNS | ✅ avahi-browse | ✅ zeroconf (Python puro) |
| Descubrimiento automático de red | ✅ Sí (interfaz o /24 predeterminada) | ✅ Sí (interfaz o /24 predeterminada) |
| Escaneo multihilo | ✅ Sí (lote de 32 hilos) | ✅ Sí (ThreadPoolExecutor) |
| Detección de puerto ADB | ✅ Handshake CNXN | ✅ Solo banner CNXN |
| Detección de ADB inalámbrico | ✅ Sonda STLS | ✅ Sonda STLS (sin autenticación) |
| Inspección de handshake TLS | ✅ Completa (mTLS) | ✅ Solo observacional |
| Detección de ADB en texto claro | ❌ No (asume inalámbrico) | ✅ Sí (tcp_banner) |
| Generación de certificados | ✅ EC / Ed25519 | ❌ Nunca |
| Omisión de autenticación | ✅ Confusión de tipos EC/Ed25519 vs RSA | ❌ Nunca se intenta |
| Envío de firma AUTH | ✅ Sí | ❌ Nunca |
| Acceso a shell | ✅ Shell interactivo | ❌ Nunca |
| Ejecución de comandos | ✅ Sí (-c "id") | ❌ Nunca |
| Shell inverso | ❌ No | ❌ Nunca |
| Shell interactivo | ✅ Sí (E/S con hilos) | ❌ Nunca |
| Salida a archivo | ✅ Sí (-o) | ❌ No |
| Informe JSON | ❌ No | ✅ Sí |
| Informe CSV | ❌ No | ✅ Sí |
| Informe HTML | ❌ No | ✅ Sí |
| Streaming JSONL | ❌ No | ✅ Sí |
| Puntuación de riesgo | ❌ No (vulnerable/seguro binario) | ✅ Sí (CRITICAL/HIGH/MEDIUM/SECURE) |
| Recomendaciones | ❌ No | ✅ Sí (lista priorizada) |
| Guía de parches | ❌ No | ✅ Sí (2026-05-01) |
| Soporte de proxy | ✅ SOCKS5 / SOCKS4 / HTTP | ❌ No |
| PySocks requerido | ✅ Sí (si se usa proxy) | ❌ No |
| Limitación de tasa | ✅ Token bucket | ❌ No |
| Pool de conexiones | ✅ BoundedSemaphore | ❌ No |
| Modo sigiloso | ✅ Jitter + SNI + CN + rotación de claves | ❌ No |
| Rotación de SNI | ✅ Sí | ❌ No |
| Rotación de CN | ✅ Sí | ❌ No |
| Rotación de tipo de clave | ✅ Sí (ec ↔ ed25519) | ❌ No |
| Mezcla de puertos | ✅ Sí (sigiloso) | ❌ No |
| Lógica de reintentos | ✅ Exponencial + jitter | ❌ No |
| Timeouts granulares | ✅ 6 timeouts diferentes | ✅ Único --timeout |
| Timeouts configurables | ✅ connect/tls/auth/recv/retry | ✅ Solo --timeout |
| Control de concurrencia | ✅ --pool-size | ✅ --concurrency |
| Modo detallado | ✅ Sí | ✅ Sí |
| Modo silencioso | ❌ No | ✅ Sí (-q) |
| Salida coloreada | ✅ Sí (ANSI) | ✅ Sí (ANSI) |
| Banner | ✅ Banner completo | ✅ Banner de detección segura |
| Root requerido | ✅ Sí (no aplicado) | ❌ No |
| Dependencias | cryptography, pysocks (opc) | cryptography (opc), zeroconf (opc) |
| Módulos opcionales | PySocks | cryptography, zeroconf |
| Multiplataforma | ✅ Linux / macOS / Windows | ✅ Linux / macOS / Windows |
| Versión de Python | 3.8+ | 3.8+ |
| Diseñado para | Red team / pentest | Equipo defensivo / auditoría |
| Descargo de responsabilidad ético | ✅ Banner + comentario | ✅ Banner + pie de página |
| Huella forense | Alta (TLS, autenticación, shell) | Mínima (solo sondas de banner) |
| Riesgo legal | Alto (exploit activo) | Bajo (detección pasiva) |
| Recomendado para | Pentest autorizado | Cumplimiento / IR / auditoría |
git clone https://github.com/tc4dy/CVE-2026-0073-PoC-Exploit
cd CVE-2026-0073-PoC-Exploit
pip install -r requirements.txt
python3 exploit.py
#or
python3 safedetect.py
cryptography
colorama
zeroconf
pysocks
#Basic - One Shot Exploit
python exploit.py --target 192.168.1.100
#Interactive Shell
python exploit.py -t 192.168.1.100
#Execute Single Command
python exploit.py -t 192.168.1.100 -c "id" -o result.txt