
Um exploit automatizado para CVE-2026-0073 (Android ADB TLS Auth Bypass). Inclui um scanner mDNS/Zeroconf integrado para descobrir instantaneamente portas de depuração sem fio aleatórias no Android 13+ e estabelece um shell PTY bruto totalmente interativo.
Um scanner de rede automatizado e ferramenta de exploração para CVE-2026-0073, uma vulnerabilidade no daemon Android Debug Bridge (adbd) que permite Execução Remota de Código (RCE) não autenticada e acesso interativo ao shell via Depuração sem Fio.
Esta ferramenta é especificamente otimizada para dispositivos Android modernos (Android 13+), apresentando descoberta automática mDNS para localizar portas ADB aleatórias e um shell PTY bruto totalmente interativo.
🚨 Resumo da Vulnerabilidade (Boletim de Segurança Android)
CVE ID: CVE-2026-0073
Android Issue ID: A-469080888
Impacto: RCE (Execução Remota de Código)
Gravidade: Crítica
Versões Oficialmente Afetadas: Android 14, 15, 16, 16-qpr2 ........ alguns afirmam que alguns dispositivos Android 13 são vulneráveis
⚠️ Aviso Legal: Esta ferramenta é fornecida apenas para fins educacionais e de pesquisa de segurança autorizada. Não utilize isto contra redes ou dispositivos que não possui ou para os quais não tem permissão explícita para testar.
Dispositivos Android modernos usam autenticação mútua TLS para Depuração sem Fio para impedir conexões não autorizadas. No entanto, CVE-2026-0073 expõe uma falha criptográfica: quando o adbd processa um certificado de cliente que utiliza chaves não-RSA (como Curva Elíptica ec ou ed25519), a função interna OpenSSL EVP_PKEY_cmp retorna um código de erro que é tratado inadequadamente, efetivamente contornando completamente a verificação de autenticação.
Para leitura adicional e análise técnica aprofundada desta vulnerabilidade, confira os seguintes recursos:
Nota sobre Suscetibilidade do Dispositivo: Embora este bug seja geralmente documentado para versões específicas do Android, testes no mundo real mostraram resultados surpreendentes em várias implementações de fabricantes. Como o autor do blog Mobile Hacker observou: "Durante meu teste, por algum motivo, fui capaz de explorar também o Android 13, veja a Figura 1. Especificamente Oppo Reno5 Z."
PATH do seu sistema.zeroconf (para varredura de rede).# Install the required Python package
pip install zeroconf
Simplesmente execute o script sem argumentos. Ele escutará a rede local por 4 segundos, capturará as transmissões mDNS de quaisquer dispositivos Android com Depuração sem Fio ativada e apresentará um menu.
python3 adb_tls_exploit.py
Exemplo de Saída:
[*] 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 você já sabe o IP alvo e a porta aleatória (ou se está mirando um dispositivo legado na porta 5555 corrigido para exigir TLS), pode ignorar o 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 para escutar passivamente os serviços _adb-tls-connect._tcp.local.. Isso permite mapear alvos instantaneamente sem varredura ruidosa ou lenta de portas TCP.CNXN padrão anunciando suporte TLS (tls_auth).STLS, exigindo uma conexão segura.ec) ou ed25519.adbd tenta verificar a chave. Como a chave não é RSA, EVP_PKEY_cmp retorna -1 ou -2. O código vulnerável dentro do Android interpreta erroneamente esse valor de retorno não zero como uma correspondência criptográfica bem-sucedida./data/misc/adb/adb_keys está completamente vazio. A exploração requer pelo menos uma chave existente (mesmo não relacionada) no repositório de chaves para acionar a comparação defeituosa do loop.apt install openssl, brew install openssl, ou instalá-lo via binários Windows).OPEN com o destino shell\x00 e conecta os fluxos de entrada/saída padrão ao seu terminal, fornecendo um shell completo e não privilegiado (uid=2000).