subdomain-takeover
Subdomain Takeover é uma vulnerabilidade em que um atacante consegue assumir o controle de um subdomínio legítimo de uma organização porque ele está apontando (via DNS) para um recurso externo que não está mais configurado ou não existe.
É um problema comum em ambientes que utilizam muitos serviços SaaS, cloud ou integrações externas.
Como Funciona
Normalmente envolve:
-
Um subdomínio configurado no DNS, por exemplo:
blog.empresa.com → CNAME → empresa-blog.saas-provider.com -
O recurso no provedor externo (ex: SaaS, cloud storage, app hospedada) é removido, mas o registro DNS continua existindo.
-
O atacante:
- Cria uma conta no mesmo provedor
- Registra o mesmo identificador do recurso abandonado
- Passa a controlar o conteúdo servido por aquele subdomínio
Resultado: o domínio oficial passa a apontar para infraestrutura controlada pelo atacante.
Exemplo Prático
Imagine que a empresa usava:
app.empresa.comapontando via CNAME para um app no Heroku- A aplicação foi deletada no Heroku
- O DNS continua apontando para
app-heroku.herokuapp.com
Se o nome estiver disponível novamente, um atacante pode:
- Criar um app com o mesmo nome no Heroku
- Associar o domínio customizado
- Assumir
app.empresa.com
Onde Isso Acontece com Frequência
Serviços como:
- Amazon Web Services (S3, Elastic Beanstalk)
- Microsoft Azure
- GitHub (GitHub Pages)
- Shopify
- Vercel
- Netlify
Principalmente quando:
- Ambientes de teste são deletados
- Projetos temporários são encerrados
- Times esquecem de remover registros DNS antigos
Impactos
Um subdomain takeover pode permitir:
- Phishing com domínio legítimo
- Roubo de credenciais
- Distribuição de malware
- Bypass de políticas de segurança baseadas em domínio
- Comprometimento de confiança da marca
- Possível exploração de cookies com escopo
.empresa.com
Por que Isso Acontece?
Porque o DNS é independente do serviço final.
O DNS:
- Continua apontando para um destino válido
- Mesmo que o recurso no provedor não exista mais
O provedor:
- Permite que outro usuário registre aquele recurso novamente
Como Prevenir
1. Inventário contínuo de subdomínios
-
Automatizar varreduras
-
Usar ferramentas como:
- Subfinder
- Amass
- Assetfinder
2. Monitorar registros CNAME e A
Especial atenção para:
- CNAME apontando para serviços SaaS
- Subdomínios de ambientes temporários
3. Remover DNS ao desativar serviços
Processo obrigatório de:
- "Delete recurso"
- "Delete DNS"
4. Monitoramento automático
Ferramentas que detectam domínios “dangling”:
- Nuclei (templates de takeover)
- Subjack
- Tko-subs
5. Política de domínio interno
- Controle centralizado de DNS
- Proibição de criação ad-hoc sem registro formal
Como Identificar
Indicadores comuns:
-
Resposta HTTP:
No such appThere isn’t a GitHub Pages site hereThe specified bucket does not exist
-
CNAME apontando para serviço SaaS
host -t cname <hostname> -
NXDOMAIN parcial do recurso final
Relação com Outras Falhas
Subdomain takeover é frequentemente explorado em conjunto com:
- Misconfiguração de DNS
- Falhas de governança em cloud
- Shadow IT
- Falta de gestão de ativos digitais