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 — Prueba de concepto de exploit para un bypass de autenticación TLS en la depuración inalámbrica de adbd de Android, que aprovecha un desajuste de tipo de clave EC/RSA para obtener una shell remota sin autenticación. | Kitploit
Herramientas/GitHubGitHub/umarrehmansiddiqui/cve-2026-0073
Seguridad AndroidAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCriptografíaSeguridad MóvilAutenticaciónHerramienta de Acceso Remoto

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
GitHub
umarrehmansiddiqui/cve-2026-0073

CVE-2026-0073

Prueba de concepto de exploit para un bypass de autenticación TLS en la depuración inalámbrica de adbd de Android, que aprovecha un desajuste de tipo de clave EC/RSA para obtener una shell remota sin autenticación.

Ver Repositorio
1hace 1 díaAún no revisado

CVE-2026-0073: Omisión de autenticación en la depuración inalámbrica de Android (adbd)

Descargo de responsabilidad: Esta Prueba de Concepto (PoC) se proporciona estrictamente con fines educativos y de investigación de seguridad autorizada. El acceso no autorizado a sistemas informáticos es ilegal. Asegúrese siempre de contar con permiso explícito antes de realizar pruebas contra cualquier dispositivo o red.

📖 Entendiendo la vulnerabilidad (apto para principiantes)

Los dispositivos Android tienen una función llamada Depuración inalámbrica, que permite a los desarrolladores conectarse al dispositivo a través de Wi-Fi sin necesidad de un cable USB. Para mantener segura esta conexión, el dispositivo utiliza cifrado TLS y requiere que el ordenador que se conecta demuestre su identidad mediante una clave criptográfica.

¿Dónde está el fallo? Cuando un ordenador se conecta, el demonio de Android (adbd) comprueba si la clave del ordenador coincide con alguna de las claves previamente autorizadas. Para ello utiliza una función matemática integrada (EVP_PKEY_cmp) que devuelve uno de tres números:

  • 1 significa: "Las claves coinciden perfectamente."
  • 0 significa: "Las claves no coinciden."
  • -1 significa: "Error: Las claves son de tipos completamente distintos (por ejemplo, comparar una clave RSA con una clave EC)."

El error: El programador escribió una comprobación simple: if (result) { grant_access(); }. En programación, tanto 1 como -1 se consideran "Verdadero". Por lo tanto, si un atacante envía intencionadamente un tipo de clave completamente distinto (como una clave de Curva Elíptica en lugar de la clave RSA esperada), la función devuelve -1 (un error). El código defectuoso ve -1, asume que significa "Verdadero" y concede acceso completo de todos modos.

El resultado: Un atacante en la misma red Wi-Fi puede omitir la autenticación por completo y obtener una shell remota en el dispositivo sin necesidad de las claves de emparejamiento originales, y sin que el usuario vea ningún aviso de aprobación.


⚠️ Requisitos previos

Para que este exploit funcione, el dispositivo Android objetivo debe cumplir dos condiciones:

  1. La depuración inalámbrica debe estar habilitada en las Opciones de desarrollador.
  2. El dispositivo debe haber sido emparejado previamente con al menos un ordenador. (El exploit se basa en que el dispositivo tenga una clave RSA existente en su keystore para desencadenar el error de discrepancia de tipos).

Requisitos de la máquina del atacante

Este script requiere Python 3 y la biblioteca cryptography para generar los certificados efímeros sobre la marcha.

Puede instalar la biblioteca requerida usando apt (en Debian/Ubuntu/Kali) o pip:

Usando apt (recomendado para Linux):

sudo apt update
sudo apt install python3-cryptography

Usando pip (multiplataforma):

pip3 install cryptography

🔍 Encontrar el puerto objetivo

A diferencia de la depuración USB, Android asigna un puerto aleatorio de número alto para la depuración inalámbrica cada vez que el dispositivo se reinicia o la red Wi-Fi cambia.

Si no conoces el puerto actual, puedes escanearlo fácilmente usando nmap. Los puertos de depuración inalámbrica suelen estar entre 30000 y 50000.

Ejecuta el siguiente comando, reemplazando <hostname> con la dirección IP de tu dispositivo objetivo:

nmap -Pn -p T:30000-50000 <hostname>

Cómo leer la salida: Busca un puerto que aparezca como open. Por ejemplo:

PORT      STATE SERVICE
41234/tcp open  unknown

En este ejemplo, 41234 es el puerto que utilizarás en el siguiente paso.


🚀 Uso

Una vez que tengas el nombre de host/IP de destino y el puerto correcto, puedes ejecutar el exploit.

1. Shell interactiva

Para abrir una shell remota interactiva completa (similar a SSH):

python3 adb_bypass.py <hostname> <port>

Ejemplo:

python3 adb_bypass.py 192.168.1.50 41234

Una vez conectado, se le llevará a un prompt de usuario shell. Presione Ctrl+C para salir.

2. Ejecutar un solo comando

Si solo desea ejecutar un comando específico y ver la salida sin entrar en un shell interactivo, utilice el flag --cmd:

python3 adb_bypass.py <hostname> <port> --cmd "id"

3. Modo detallado

Para ver el tráfico de red subyacente y los detalles del handshake con fines de depuración o investigación, añada el flag -v:

python3 adb_bypass.py <hostname> <port> -v

🛠️ Cómo funciona (resumen técnico)

  1. Negociación en texto claro: El script se conecta al puerto TCP del objetivo e intercambia los paquetes iniciales CNXN y STLS para acordar una actualización a TLS.
  2. Generación de certificado efímero: Usando la biblioteca cryptography, el script genera una clave privada EC P-256 efímera y un certificado X.509 autofirmado en memoria.
  3. Actualización a TLS 1.3: El script actualiza el socket a TLS 1.3, presentando el certificado EC al dispositivo Android.
  4. Desencadenamiento del fallo: El dispositivo intenta comparar el certificado EC con sus claves RSA almacenadas. EVP_PKEY_cmp devuelve -1, la comprobación if (cmp) se evalúa como verdadera y el dispositivo marca la conexión como autorizada.
  5. Explotación posterior a TLS: El script drena los paquetes del handshake posteriores a TLS y abre inmediatamente un flujo shell: usando una ventana delayed_ack grande, lo que resulta en un shell remoto no autenticado.

Descargar herramienta