TL; DR Imagine o que poderia acontecer se o domínio de primeiro nível do código do país (ccTLD) de um estado soberano caísse nas mãos erradas. No entanto, eu ( @Almroot ) comprei o nome de domínio listado para a delegação NS no ccTLD da República Democrática do Congo (
.cd
) e temporariamente assumi 50% de todo o tráfego DNS para esse TLD. No meu lugar, pode haver um invasor que usaria essa oportunidade para MITM ou outros abusos.
Introdução
Uma semana antes do Natal, decidi fazer uma análise de todos os registros NS de todos os TLDs do mundo. E uma coisa chamou minha atenção. O domínio
scpt-network.com
tinha o código de status EPP “redemptionPeriod”. Isso significa que o proprietário não transferiu dinheiro para a renovação do domínio. Se o proprietário continuar a ignorar o pagamento, sua propriedade será tirada dele - e o domínio será colocado à venda.
Situação bastante problemática, pois consta da lista de servidores NS que gerenciam a zona
.cd
:
almroot@x:~$ dig NS +trace cd | grep "cd."
cd. 172800 IN NS ns-root-5.scpt-network.com.
cd. 172800 IN NS igubu.saix.net.
cd. 172800 IN NS sangoma.saix.net.
cd. 172800 IN NS ns-root-2.scpt-network.com.
cd. 172800 IN NS sabela.saix.net.
cd. 172800 IN NS ns-root-1.scpt-network.com.
Decidi escrever um script bash para o caso de me notificar sempre que o status do EPP mudar.
Para minha surpresa, cerca de uma semana depois, recebi uma notificação de que o domínio havia mudado para o status de “exclusão pendente”.
Eu estava ciente da gravidade da situação . Em breve, o nome de domínio estará à venda para todos, ou seja, qualquer pessoa pode facilmente assumir o controle do servidor de nomes
.cd
.
Mudei o script - e comecei a fazer ping no registrador a cada minuto para novas alterações de status.
Na noite de 30 de dezembro, chegou uma notificação. Abri meu laptop e comprei um nome de domínio para evitar que caísse nas mãos erradas.
Como havia mais três registros de delegação restantes no SAIX (South African Internet eXchange, ponto de troca de tráfego na África do Sul ), o código do país permaneceu operacional (embora a velocidade de resolução de quaisquer domínios tenha diminuído ligeiramente).
Assim que
scpt-network.com
conseguisse pegá-lo , poderia configurar qualquer subdomínio a meu critério. Por exemplo, se você criar um novo subdomínio
ns-root-1
com um registro A que aponta para o endereço IP 1.3.3.7, as consultas DNS para a zona .cd irão para este endereço 1.3.3.7. Qualquer resposta DNS a essas perguntas será aceita como legítima.
Se você não responder à solicitação, o assinante atingirá o tempo limite com o código de status SERVFAIL. Isso é bom, porque ao receber esse código, ele tentará entrar em contato com qualquer outro servidor de nomes (registro NS) para aquela zona. Isso acabará em um dos registros SAIX normais e será redirecionado de forma apropriada para o destino correto.
Impacto potencial
A apreensão do domínio nacional de primeiro nível de um estado soberano tem sérias consequências negativas, especialmente se esse domínio cair nas mãos de cibercriminosos ou de um adversário estrangeiro. A República Democrática do Congo (RDC) é um país bastante grande. Isso é aproximadamente 90 milhões de pessoas , sem mencionar as inúmeras empresas e organizações internacionais que operam nesta zona de domínio.
O sequestro do registro de TLD DNS de um país inteiro é raro, mas não é novo. Por exemplo, há dez anos, os cibercriminosos assumiram o domínio da antiga União Soviética (.su) e, em 2015, os sites vietnamitas Lenovo e Google (.vn) também foram vítimas de sequestro de DNS.... Redirecionar o tráfego DNS de sites legítimos .cd para um site de phishing é uma das oportunidades óbvias de abuso, mas existem outras:
- Interceptação passiva de tráfego DNS
- para vigilância ou exfiltração de dados
- Criação de novos nomes de domínio "do nada"
- imagine as possibilidades de gerar rapidamente novos nomes de domínio com o botnet mudando para novos servidores C&C a cada poucos minutos, para que ninguém tenha tempo para bloqueá-los (técnica de fluxo rápido )
- Ataques de execução remota de código (RCE) em redes locais
- as vítimas serão empresas que usam WPAD (protocolo de configuração automática de proxy)
- Respostas DNS falsificadas para consultas DNS legítimas
- sequestro completo de domínios raiz em uma zona.cd
ou realização de um ataque DDoS.
Por exemplo, eu poderia escrever um exploit para sequestrar um domínio específico em uma zona
.cd
. Imagine que, para qualquer solicitação de NS,
google.cd
eu sempre retorno respostas
ns-root-1.scpt-network.com
(em vez dessas quatro :)
[ns1,ns2,n3,ns4].google.com
. O assinante receberá essa resposta e enviará todas as solicitações DNS subsequentes para
ns-root-1.scpt-network.com
.
Também me fez pensar: e se eu responder a todas as solicitações de NS com um link para mim mesmo. Então, para qualquer solicitação que 1.3.3.7 responda, todas as pesquisas de domínio irão para esse link. E todo o tráfego de rede subsequente será redirecionado para 1.3.3.7, o que pode levar a um ataque DDoS.
Na verdade, isso também afetará a disponibilidade de todo o TLD, pois 50% das respostas do DNS ficarão incorretas. A força dos (ambos) ataques DoS pode ser aumentada definindo um TTL alto nas respostas DNS.
Vamos dar um passo adiante. Digamos que eu esteja falsificando especificamente registros TXT para o servidor
google.cd
. Usando arquivos de texto falsos, eu engano
o sistema de validação DNS-01 do registrador Let's Encrypt para obter um certificado válido para
google.cd
e, em seguida, hackear efetivamente o canal criptografado SSL / TLS.
Já que posso controlar a delegação de servidores NS para qualquer domínio
.cd
e obter certificados válidosentão, posso conduzir um ataque MITM mesmo se a vítima estiver usando SSL / TLS.
Nota do tradutor. Alguns dos métodos descritos estão disponíveis para agências governamentais que controlam domínios de código de país em seus países.
Embora o Google implemente várias contramedidas contra esses abusos, é seguro dizer que isso não se aplica a todos os domínios raiz na zona .cd. Para obter mais informações sobre como os CAs verificam a propriedade do domínio, consulte BR 1.7.3 .
Por último, mas não menos importante, com acesso privilegiado a um host upstream com controle de DNS, posso invadir LANs da empresa(exemplo na captura de tela abaixo) que enviam solicitações de DNS para WPAD - você pode rastrear suas solicitações, respostas falsas e redirecionar a vítima para fazer o download e executar uma configuração de servidor proxy malicioso em JS . WPAD tem uma série de problemas, incluindo vulnerabilidades RCE, de acordo com hackers da equipe Project Zero do Google.
Resolvendo o problema
Em 7 de janeiro de 2021, entrei em contato com os contatos administrativos e técnicos listados para a zona .cd na página IANA . Inicialmente, eu queria transferir o domínio para uma operadora
.cd
.
Embora um dos contatos tenha respondido e me referido a um colega, no momento em que escrevi este artigo, não recebi a confirmação por escrito de que eles corrigiram o problema. Mas logo o tráfego DNS foi redirecionado para a rede scpt. net .
Em 8 de janeiro, também enviei um relatório sobre o Internet Bug Bounty para o HackerOne, que oferece recompensas por hackers responsáveis da infraestrutura da Internet.
Conclusão
O sequestro do servidor DNS é extremamente negativo, especialmente se o invasor tiver más intenções. Esta vulnerabilidade afeta mais de um site, subdomínio ou domínio raiz. Qualquer site pode se tornar vítima de phishing, MITM ou DDoS
.cd
, incluindo sites de grandes empresas internacionais, instituições financeiras e outras organizações. E este é o segundo maior país da África e uma zona de domínio popular.
No momento em que este artigo foi escrito, ainda possuo o nome de domínio scpt-network.com, embora a delegação de solicitações NS da zona .cd tenha parado por volta de 8 de janeiro de 2021 depois que entrei em contato com eles. Realizei essa operação para evitar que invasores se apoderem da zona de domínio da República Democrática do Congo, quando qualquer pessoa pode sequestrar o nome de domínio de um dos servidores que controlam o ccTLD. Felizmente, tudo deu certo neste caso.