Tomada de controlo de subdomínio: como um registo DNS esquecido se torna uma vulnerabilidade
A tomada de controlo de subdomínio não exige invadir nada — explora um registo DNS que ninguém se lembrou de eliminar, apontando para um recurso que já não pertence a ninguém.
O que é
Uma tomada de controlo de subdomínio acontece quando um registo DNS — normalmente um CNAME — continua a apontar para um recurso de terceiros (um bucket de armazenamento na cloud, uma app numa plataforma PaaS, um serviço de sites estáticos) que entretanto foi eliminado, enquanto o próprio registo nunca foi removido. Quem conseguir reivindicar esse mesmo nome de recurso na plataforma controla agora o que é servido sob o seu subdomínio.
Como acontece
- Uma equipa aponta promo.example.pt para um serviço de terceiros — um bucket de armazenamento de objetos, uma app PaaS, um alojamento de sites estáticos — via CNAME
- Mais tarde, esse recurso é eliminado ou a subscrição expira, mas o registo CNAME no DNS mantém-se
- O nome do recurso volta a ficar disponível nessa plataforma, já que a plataforma não tem forma de saber que o DNS de outra pessoa ainda lhe faz referência
- Um atacante reivindica exatamente o mesmo nome de recurso na plataforma
- O tráfego para promo.example.pt chega agora ao recurso do atacante, porque o CNAME nunca apontou para a infraestrutura do seu próprio domínio — apontou sempre para um nome na plataforma de outra pessoa
Por que é eficaz
O conteúdo servido desta forma corre sob o domínio da vítima, o que lhe permite contornar listas brancas baseadas no domínio, parecer legítimo em links de phishing já que o domínio visível é realmente o verdadeiro, e nalguns casos até obter um certificado TLS válido para esse subdomínio — porque o atacante controla genuinamente o recurso para o qual o registo DNS aponta.
Como os atacantes encontram candidatos
A enumeração de subdomínios revela todos os CNAME que apontam para plataformas de terceiros; verificar quais desses destinos devolvem um erro característico do tipo "não encontrado" ou "no such bucket" — a assinatura de um recurso não reivindicado — reduz a lista aos exploráveis.
Prevenção
Remova o registo DNS no mesmo momento em que um recurso é desativado — esta é a única correção completa, já que um registo sem nada de legítimo por trás é, ele próprio, toda a vulnerabilidade. Auditar subdomínios periodicamente, especialmente após qualquer migração para fora de um serviço de terceiros, apanha o que as checklists de desativação deixam escapar.
Audite os seus próprios subdomínios
Veja a teoria na prática — execute Localizador de subdomínios para o seu próprio domínio.