Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC_zh_CN — CVE-2026-0073-Android-ADBD-bypass-POC versión en chino | Kitploit
Herramientas/GitHubGitHub/ctn-qvo/cve-2026-0073-android-adbd-bypass-poc_zh_cn
Seguridad AndroidAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónAprendizaje y EducaciónExplotación de Binarios
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 versión en chino

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
Ver Repositorio
32hace 1 mesAún no revisado

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

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

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


🔥 Descripción general

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

La vulnerabilidad reside en la función adbd_tls_verify_cert() en el archivo daemon/auth.cpp, donde EVP_PKEY_cmp() se usa como valor booleano. Cuando la clave almacenada es una clave RSA y el certificado TLS del cliente presentado porta una clave no RSA (EC P-256 o Ed25519), EVP_PKEY_cmp() devuelve -1 (desajuste de tipo), lo cual es verdadero en C/C++, por lo que authorized = true.

root@kitploit:~
// daemon/auth.cpp 中的易受攻击代码模式
if (EVP_PKEY_cmp(peer_key, stored_key)) { // ← BUG: -1 是真值!
已授权 = true;
}

⚡ Inicio rápido

Instalar dependencias

root@kitploit:~
pip install cryptography

Ejecutar el exploit

root@kitploit:~
# 交互式 shell
python adb_tls_auth_bypass.py <TARGET_IP> <PORT>

# 单命令执行
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"

Forzar un tipo de clave específico

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

De forma predeterminada, el script intenta automáticamente EC P-256 → Ed25519 → EC/TLS 1.2 hasta que tiene éxito.


🎯 Flujo del exploit

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:” ───────────────►│
│◄─── 好的 ────────────────────────│
│◄──► WRTE/OKAY(shell I/O)──────►│
      │                                    │
【完全 shell 访问权限】

📋 Requisitos previos

⚠️ Importante: La clave RSA debe ubicarse en el archivo /data/misc/adb/adb_keys, el cual se completa mediante el emparejamiento de depuración por USB (aceptar 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), por lo que no cumple este requisito.


🛡️ Versiones afectadas

  • Android 14 (AOSP) — ✅ Vulnerabilidad confirmada
  • Android 15 (AOSP) — Posiblemente vulnerable (versiones sin parchear)
  • Las versiones de los distintos fabricantes pueden variar (por ejemplo, Samsung One UI, Pixel, etc.).

Cómo comprobar el nivel de parche

root@kitploit:~
adb shell getprop ro.build.version.security_patch

🧪 Entorno de prueba

Probado y verificado en el siguiente entorno:

root@kitploit:~
内核:6.1.23-android14-4-00257-g7e35917775b8-ab9964412
平台:Android 14(Android Studio 模拟器)

🔧 Mejoras respecto al original

Este fork incluye las siguientes mejoras:

  • ✅ Retroceso de múltiples claves — intenta automáticamente EC P-256 → Ed25519 → EC/TLS 1.2
  • ✅ Compatibilidad con Ed25519 — tipo de clave alternativo para una mayor compatibilidad
  • ✅ Retroceso a TLS 1.2 — flujo de certificado de cliente diferente (envío durante el handshake frente a después del handshake)
  • ✅ Certificados mejorados — extensiones X.509 correctas (BasicConstraints, KeyUsage)
  • ✅ Compatibilidad con Windows — usa E/S por hilos en lugar de select() para soporte multiplataforma
  • ✅ Más tiempos de espera — mayor fiabilidad en redes lentas
  • ✅ Diagnóstico detallado — el indicador -v muestra un seguimiento detallado del protocolo

📁 Estructura del proyecto

root@kitploit:~
CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py # 主漏洞利用脚本
└── README.md # 此文件

⚠️ Aviso legal

Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Asegúrese de obtener la autorización adecuada antes de realizar pruebas. El autor no se hace responsable del mal uso 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 esta herramienta le resultó útil para su investigación, deje una estrella ⭐

Descargar herramienta
EVP_PKEY_cmp() 返回值含义C 语言中的真值?结果
1Las claves coinciden✅Autorizado (correcto)
0Las claves difieren❌Rechazado (correcto)
-1Desajuste de tipo✅Autorizado (BUG)
RequisitoDetalles
Opciones de desarrolladorHabilitadas en el dispositivo objetivo
Depuración inalámbricaHabilitada (o ADB a través del puerto TCP 5555)
Clave RSA almacenadaEl dispositivo debe haberse emparejado al menos una vez por USB (/data/misc/adb/adb_keys)
Acceso de redEl atacante debe tener acceso al puerto TCP de adbd