PoC de abuso de CNAME no Kerberos
Esta ferramenta é a prova de conceito para a técnica de Relé de Abuso de CNAME Kerberos, baseada na ferramenta MITM6.
A pesquisa revelou uma falha no comportamento do cliente Kerberos do Windows: quando um registro DNS CNAME é retornado, o cliente segue o alias e constrói a solicitação TGS usando o nome do host CNAME como SPN. Isso permite que um atacante com posição MITM de DNS coaja qualquer usuário do domínio a solicitar um ticket Kerberos para um serviço escolhido pelo atacante, possibilitando ataques de relé sob demanda entre protocolos contra SMB, HTTP e outros serviços onde a assinatura ou o Channel Binding não são aplicados.
Ao contrário de técnicas anteriores de relé Kerberos que eram limitadas a contas de máquina ou exigiam condições específicas, este método funciona de forma confiável contra contas de usuário em configurações padrão do Windows. A Microsoft mitigou o risco aplicando um patch para impor CBT em https e habilitar a assinatura por padrão para protocolos afetados. A correção é rastreada como CVE-2026-20929 Para detalhes técnicos completos, passo a passo de exploração e análise de impacto, veja o post do blog na Cymulate.
Use --cname-source para segmentar um domínio específico que a vítima tenta acessar, ou --cname-source-all para envenenar todas as consultas DNS. Ambos exigem --cname para especificar o nome do host alvo que será usado na resposta CNAME (a vítima solicitará então um TGS para este nome de host).
A flag --only-dns desativa o servidor DHCPv6 original do mitm6 e a funcionalidade de Router Advertisement. Isso permite combinar o envenenamento de CNAME com outras técnicas MITM, como envenenamento ARP.
A opção --passthrough aceita um arquivo contendo domínios que devem ser resolvidos para seus endereços IP reais (formato: domain:ip por linha). Útil para manter a conectividade com infraestrutura crítica como Controladores de Domínio (experimental).
pip install -r requirements.txt
Envenene todas as consultas DNS com um CNAME apontando para o alvo do relé:
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname target.corp.local
Envenene apenas consultas para um nome de host específico:
python mitm6-cname.py -i eth0 -d corp.local --cname-source fileserver.corp.local --cname adcs.corp.local
Pule DHCPv6/RA ao usar envenenamento ARP para MITM DNS:
python mitm6-cname.py -i eth0 --only-dns -d corp.local --cname-source-all --cname target.corp.local
# Terminal 1: CNAME poisoning
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname adcs.corp.local
# Terminal 2: Relay to ADCS
krbrelayx.py -t http://adcs.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template User
Esta ferramenta é uma PoC não produtiva fornecida apenas para fins educacionais e de teste de segurança autorizados. O acesso não autorizado a sistemas de computador é ilegal. Use por sua conta e risco e apenas contra sistemas para os quais você tenha permissão explícita para testar.
MIT