
Un exploit automatizzato per CVE-2026-0073 (Android ADB TLS Auth Bypass). Include uno scanner mDNS/Zeroconf integrato per scoprire istantaneamente le porte di Debug Wireless randomizzate su Android 13+ e stabilisce una shell PTY raw completamente interattiva.
Uno scanner di rete automatizzato e strumento di sfruttamento per CVE-2026-0073, una vulnerabilità nel demone Android Debug Bridge (adbd) che consente l'esecuzione remota di codice (RCE) non autenticata e l'accesso interattivo alla shell tramite Debugging Wireless.
Questo strumento è ottimizzato specificamente per dispositivi Android moderni (Android 13+), con auto-rilevamento mDNS per individuare le porte ADB randomizzate e una shell PTY raw completamente interattiva.
🚨 Riepilogo della Vulnerabilità (Bollettino sulla Sicurezza Android)
CVE ID: CVE-2026-0073
Android Issue ID: A-469080888
Impatto: RCE (Esecuzione Remota di Codice)
Gravità: Critico
Versioni Ufficialmente Affette: Android 14, 15, 16, 16-qpr2 ........ alcuni sostengono che alcuni dispositivi Android 13 siano vulnerabili
⚠️ Disclaimer: Questo strumento è fornito esclusivamente per scopi educativi e di ricerca sulla sicurezza autorizzata. Non utilizzarlo su reti o dispositivi di cui non si possiede o non si ha esplicita autorizzazione per testare.
I moderni dispositivi Android utilizzano l'autenticazione reciproca TLS per il Debugging Wireless per prevenire connessioni non autorizzate. Tuttavia, CVE-2026-0073 espone un difetto crittografico: quando adbd elabora un certificato client che utilizza chiavi non RSA (come Curve Ellittiche ec o ed25519), la funzione interna OpenSSL EVP_PKEY_cmp restituisce un codice di errore che viene gestito in modo improprio, bypassando completamente il controllo di autenticazione.
Per ulteriori letture e analisi tecniche approfondite di questa vulnerabilità, consulta le seguenti risorse:
Nota sulla suscettibilità del dispositivo: Sebbene questo bug sia generalmente documentato per versioni specifiche di Android, i test reali hanno mostrato risultati sorprendenti in varie implementazioni OEM. Come ha notato l'autore del blog Mobile Hacker: "Durante il mio test, per qualche motivo, sono riuscito a sfruttare anche Android 13, vedi Figura 1. In particolare Oppo Reno5 Z."
PATH del sistema.zeroconf (per la scansione di rete).# Install the required Python package
pip install zeroconf
Esegui semplicemente lo script senza argomenti. Ascolterà la rete locale per 4 secondi, catturerà le trasmissioni mDNS di tutti i dispositivi Android con Debugging Wireless abilitato e ti presenterà un menu.
python3 adb_tls_exploit.py
Esempio di Output:
[*] Scanning local network for Android 13+ devices for 4 seconds...
[+] Found active Android devices:
[1] 192.168.1.15 : 43881 | Pixel 7
[2] 192.168.1.42 : 39105 | Oppo Reno5 Z
Select a device to target [1-2]: 2
============================================================
ADB TLS Auth Bypass -> Interactive Shell
============================================================
[*] Target : 192.168.1.42:39105
[*] Key type : ec
[*] Generating ec self-signed certificate via openssl...
[+] Server requested STLS. Upgrading to TLS...
[+] TLS handshake accepted — mutual authentication bypassed!
[*] Authenticated! Opening interactive shell service...
[+] Shell obtained! (Press Ctrl+D to exit)
Reno5Z:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb)...
Se conosci già l'IP di destinazione e la porta randomizzata (o se stai prendendo di mira un dispositivo legacy sulla porta 5555 patchato per richiedere TLS), puoi bypassare lo scanner:
python3 adb_tls_exploit.py <IP_ADDRESS> <PORT> [--key ec|ed25519] [--verbose]
# Example
python3 adb_tls_exploit.py 192.168.1.50 42069 --key ec
zeroconf per ascoltare passivamente i servizi _adb-tls-connect._tcp.local.. Questo gli permette di mappare istantaneamente i bersagli senza una rumorosa o lenta scansione delle porte TCP.CNXN standard che pubblicizza il supporto TLS (tls_auth).STLS, imponendo una connessione sicura.ec) o ed25519.adbd tenta di verificare la chiave. Poiché la chiave non è RSA, EVP_PKEY_cmp restituisce -1 o -2. Il codice vulnerabile all'interno di Android interpreta erroneamente questo valore di ritorno non zero come una corrispondenza crittografica riuscita.[-] Handshake TLS rifiutato o avviso certificate_unknown:
/data/misc/adb/adb_keys è completamente vuoto. Lo sfruttamento richiede almeno una chiave esistente (anche non correlata) nel keystore per attivare il confronto errato nel ciclo.OpenSSL failed / Ensure 'openssl' is installed:
apt install openssl, brew install openssl, o installarlo tramite binari Windows).OPEN con destinazione shell\x00, e collega i flussi standard di input/output al tuo terminale, dandoti una shell completa e non privilegiata (uid=2000).