Pular para o conteúdo principal

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:

  1. Um subdomínio configurado no DNS, por exemplo:

    blog.empresa.com → CNAME → empresa-blog.saas-provider.com
  2. O recurso no provedor externo (ex: SaaS, cloud storage, app hospedada) é removido, mas o registro DNS continua existindo.

  3. 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.com apontando 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 app
    • There isn’t a GitHub Pages site here
    • The 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