
Un exploit automatisé pour CVE-2026-0073 (Android ADB TLS Auth Bypass). Il intègre un scanner mDNS/Zeroconf intégré pour découvrir instantanément les ports Wireless Debugging randomisés sur Android 13+ et établit un shell PTY brut entièrement interactif.
Un scanner réseau automatisé et un outil d'exploitation pour CVE-2026-0073, une vulnérabilité dans le daemon Android Debug Bridge (adbd) qui permet l'exécution de code à distance (RCE) non authentifiée et un accès shell interactif via le débogage sans fil.
Cet outil est spécifiquement optimisé pour les appareils Android modernes (Android 13+), avec découverte automatique mDNS pour localiser les ports ADB aléatoires et un shell PTY brut entièrement interactif.
🚨 Résumé de la vulnérabilité (Bulletin de sécurité Android)
ID CVE : CVE-2026-0073
Identifiant Android Issue : A-469080888
Impact : RCE (Exécution de code à distance)
Gravité : Critique
Versions officiellement affectées : Android 14, 15, 16, 16-qpr2 ........ certains prétendent que certains appareils Android 13 sont vulnérables
⚠️ Avertissement : Cet outil est fourni uniquement à des fins éducatives et de recherche en sécurité autorisée. Ne l'utilisez pas contre des réseaux ou des appareils dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation explicite de test.
Les appareils Android modernes utilisent l'authentification mutuelle TLS pour le débogage sans fil afin d'empêcher les connexions non autorisées. Cependant, CVE-2026-0073 expose une faille cryptographique : lorsque adbd traite un certificat client utilisant des clés non-RSA (telles que la courbe elliptique ec ou ed25519), la fonction interne OpenSSL EVP_PKEY_cmp renvoie un code d'erreur qui est mal géré, contournant ainsi complètement la vérification d'authentification.
Pour une lecture approfondie et une analyse technique détaillée de cette vulnérabilité, consultez les ressources suivantes :
Note sur la susceptibilité des appareils : Bien que ce bug soit généralement documenté pour des versions spécifiques d'Android, des tests réels ont montré des résultats surprenants sur diverses implémentations OEM. Comme l'a noté l'auteur du blog Mobile Hacker : "Lors de mon test, pour une raison quelconque, j'ai pu exploiter également Android 13, voir la figure 1. Spécifiquement Oppo Reno5 Z."
PATH de votre système.zeroconf (pour le scan réseau).# Install the required Python package
pip install zeroconf
Exécutez simplement le script sans argument. Il écoutera le réseau local pendant 4 secondes, capturera les diffusions mDNS des appareils Android avec le débogage sans fil activé et vous présentera un menu.
python3 adb_tls_exploit.py
Exemple de sortie :
[*] 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)...
Si vous connaissez déjà l'IP cible et le port aléatoire (ou si vous ciblez un appareil hérité sur le port 5555 patché pour nécessiter TLS), vous pouvez contourner le 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 pour écouter passivement les services _adb-tls-connect._tcp.local.. Cela lui permet de cartographier instantanément les cibles sans balayage de ports TCP bruyant ou lent.CNXN standard annonçant le support TLS (tls_auth).STLS, imposant une connexion sécurisée.ec) ou ed25519.adbd tente de vérifier la clé. Comme la clé n'est pas RSA, EVP_PKEY_cmp renvoie -1 ou -2. Le code vulnérable à l'intérieur d'Android interprète mal cette valeur de retour non nulle comme une correspondance cryptographique réussie.OPEN avec la destination shell\x00, et connecte les flux d'entrée/sortie standard à votre terminal, vous donnant un shell complet sans privilèges (uid=2000)./data/misc/adb/adb_keys est complètement vide. L'exploit nécessite au moins une clé existante (même non liée) dans le trousseau de clés pour déclencher la comparaison de boucle défectueuse.apt install openssl, brew install openssl, ou l'installation via des binaires Windows).