# T1590.002 - DNS ## Técnica Pai Esta é uma sub-técnica de [[t1590-gather-victim-network-information|T1590 - T1590 - Gather Victim Network Information]]. ## Descrição **T1590.002 - DNS** é uma sub-técnica de [[t1590-gather-victim-network-information|T1590 - Gather Victim Network Information]] na qual adversários coletam informações sobre a infraestrutura DNS da organização-alvo para subsidiar planejamento de ataques. Esta técnica opera na fase de **Reconhecimento** e é essencial para o mapeamento completo da superfície de ataque antes de qualquer operação ofensiva. O Sistema de Nomes de Domínio (DNS) é, por natureza, um banco de dados público e distribuído. Registros DNS revelam uma quantidade surpreendente de informações sobre a infraestrutura de uma organização: endereços IP de servidores web, servidores de e-mail, servidores de nomes autoritativos, certificados SSL, provedores de cloud, serviços SaaS utilizados e até configurações de segurança de e-mail (SPF, DKIM, DMARC). Para um adversário, essa é inteligência de altíssimo valor acessível sem interação direta com os sistemas do alvo. Registros DNS a serem coletados incluem: - **A / AAAA**: mapeiam hostnames para endereços IPv4/IPv6 - revelam o range de IPs da organização - **MX (Mail Exchanger)**: revelam o provedor de e-mail (Google Workspace, Microsoft 365, Proofpoint, Mimecast) - **NS (Name Server)**: identificam os servidores DNS autoritativos e o registrador de domínio - **TXT**: contêm registros SPF, DKIM, DMARC e verificações de propriedade de serviços (Google, Azure AD, Zendesk, Salesforce) - **CNAME**: revelam aliases e frequentemente expõem subdomínios de serviços cloud (ex: `app.empresa.com.br CNAME empresa.azurewebsites.net`) - **SRV**: revelam serviços específicos como SIP/VoIP, LDAP, Kerberos e serviços Microsoft internos - **SOA (Start of Authority)**: contém informações sobre o administrador DNS e configurações de zona - **PTR (Reverse DNS)**: permitem descoberta reversa de hostnames a partir de IPs Adversários também exploram **DNS Zone Transfers (AXFR)** - um mecanismo legítimo de replicação entre servidores DNS primário e secundário - quando mal configurado para permitir transferências de qualquer cliente, o que entrega a lista completa de registros da zona em uma única consulta. As informações coletadas permitem outros vetores de ataque: [[t1595-002-vulnerability-scanning|T1595.002 - Vulnerability Scanning]] direcionado aos IPs descobertos, [[t1583-acquire-infrastructure|T1583 - Acquire Infrastructure]] para typosquatting ou lookalike domains, [[t1566-phishing|T1566 - Phishing]] utilizando subdomínios descobertos como pretexto e [[t1133-external-remote-services|T1133 - External Remote Services]] para acesso via serviços remotos identificados. --- ## Como Funciona ### 1. Consultas DNS Públicas Diretas O primeiro método é simplesmente consultar os registros DNS públicos usando ferramentas como `dig`, `nslookup` ou `host`: ```bash # Registros básicos dig empresa.com.br ANY dig empresa.com.br MX dig empresa.com.br TXT dig empresa.com.br NS # Tentativa de zone transfer (AXFR) dig axfr empresa.com.br @ns1.empresa.com.br ``` Ferramentas especializadas como **DNSRecon**, **DNSEnum**, **Fierce** e **Amass** automatizam esse processo para enumerar subdomínios em escala. ### 2. Passive DNS e Bancos de Dados Históricos Serviços de **Passive DNS** armazenam histórico de resoluções DNS coletadas de sensores distribuídos ao redor do mundo. Isso permite que adversários: - Descubram subdomínios que não aparecem mais nos registros ativos mas que ainda podem estar ativos - Identifiquem infraestrutura histórica do alvo (IPs antigos, servidores descontinuados mas ainda acessíveis) - Correlacionem domínios diferentes que apontaram para o mesmo IP (identificando infraestrutura compartilhada) - Detectem mudanças de provedor de e-mail ou migração de cloud Plataformas como **RiskIQ PassiveTotal**, **Farsight DNSDB**, **SecurityTrails** e **VirusTotal** oferecem acesso a bases de Passive DNS. ### 3. Certificaté Transparency (CT Logs) Os logs de transparência de certificados SSL/TLS são uma fonte poderosa de subdomínios. Toda vez que um certificado é emitido para `*.empresa.com.br` ou subdomínios específicos, o registro fica público nos CT logs. Ferramentas como **crt.sh**, **Certspotter** e **Facebook CT Monitor** permitem consultar esses logs: ``` https://crt.sh/?q=%.empresa.com.br ``` ### 4. DNS Brute Force Além dos registros existentes, adversários realizam brute force de subdomínios usando wordlists: - Ferramentas: **Gobuster** (modo DNS), **Amass**, **Sublist3r**, **MassDNS** - Wordlists comuns: `mail`, `webmail`, `vpn`, `remote`, `dev`, `staging`, `api`, `admin`, `portal` - Identificação de **takeover de subdomínio**: subdomínios que apontam para serviços cloud descontinuados (S3, Azure, GitHub Pages, Heroku) que podem ser reclamados por atacantes ### 5. Análise de Registros TXT para Mapeamento de SaaS Registros TXT são particularmente informativos para adversários que planejam ataques de engenharia social ou phishing: - `v=spf1 include:salesforce.com include:mailchimp.com` revela uso de Salesforce CRM e Mailchimp - `MS=ms12345678` indica verificação de domínio com Microsoft/Azure AD - `google-site-verification=...` indica Google Workspace - `atlassian-domain-verification=...` indica Jira/Confluence - `_dmarc TXT v=DMARC1; p=none` indica política DMARC permissiva (e-mail spoofing possível) --- ## Attack Flow ```mermaid graph TB A["Identificação do Domínio<br/>Raiz da organização<br/>ex: empresa.com.br"] --> B["Consulta de Registros<br/>A, AAAA, MX, TXT, NS, SOA<br/>Banco de dados público DNS"] B --> C["Tentativa de Zone Transfer<br/>AXFR contra NS autoritativos<br/>Falha = servidor configurado<br/>Sucesso = dump completo da zona"] C --> D["Enumeração de Subdomínios<br/>Passive DNS + CT Logs<br/>crt.sh / SecurityTrails"] D --> E["Brute Force de Subdomínios<br/>Wordlists + MassDNS<br/>Amass / Gobuster DNS"] E --> F["Análise de Registros TXT<br/>SPF/DKIM/DMARC<br/>Mapeamento de SaaS"] F --> G["Correlação e Mapeamento<br/>IP ranges identificados<br/>Serviços e provedores mapeados"] G --> H["Varredura Direcionada<br/>T1595.002 - Vulnerability Scanning<br/>Contra IPs descobertos"] G --> I["Infraestrutura para Phishing<br/>T1583 - Acquire Infrastructure<br/>Lookalike domains / typosquatting"] G --> J["Acesso Remoto<br/>T1133 - External Remote Services<br/>VPN, RDP, portais web descobertos"] ``` --- ## Exemplos de Uso ### Reconhecimento Pré-Ataque em Organizações Financeiras Brasileiras Investigações de resposta a incidentes em bancos e fintechs brasileiras frequentemente revelam que atacantes realizaram mapeamento extensivo de DNS semanas antes do ataque. O mapeamento revela subdomínios de portais de funcionários, sistemas de home banking, APIs de integração com parceiros (Open Finance) e sistemas legados com baixo nível de segurança. No setor financeiro brasileiro, [[sector-financeiro|a exposição de subdomínios de sistemas legados]] é um vetor recorrente de comprometimento. ### Ataques de Subdomain Takeover O **subdomain takeover** ocorre quando um subdomínio (ex: `app.empresa.com.br`) aponta via CNAME para um serviço cloud (Heroku, Azure, GitHub Pages) que foi descontinuado mas o registro DNS não foi removido. Um atacante pode criar uma conta no serviço e "reclamar" o subdomínio. No Brasil, casos desse tipo foram documentados em empresas de e-commerce e governo, onde subdomain takeovers foram utilizados para hospedar páginas de phishing com URLs legítimas. ### Espionagem via Análise de Registros MX Ao identificar que uma organização usa Microsoft 365 (registro MX `company-br.mail.protection.outlook.com`) versus um serviço local, o adversário ajusta sua estratégia: contra Microsoft 365, pode tentar ataques de password spray, phishing com pretexto de MFA da Microsoft, ou explorar configurações incorretas de políticas Conditional Access. Grupos de espionagem como [[g0016-apt29|APT29]] são conhecidos por adaptar TTPs com base no mapeamento de infraestrutura de e-mail. ### Identificação de DMARC Inexistente ou Permissivo A ausência de registro DMARC ou uma política `p=none` permite que qualquer pessoa envie e-mails aparentando ser do domínio da organização sem rejeição automática. Adversários identificam isso via consulta TXT (`_dmarc.empresa.com.br`) e utilizam em campanhas de [[t1566-phishing|phishing]] e [[t1598-001-spearphishing-service|spearphishing]]. No Brasil, estudos mostram que a maioria das organizações de médio porte ainda não implementou DMARC com política `reject` ou `quarantine`. ### APT e Mapeamento de Infraestrutura Governamental Grupos de espionagem que operam contra governos sul-americanos realizam mapeamento DNS extensivo de domínios `.gov.br`, `.jus.br`, `.leg.br` para identificar portais de acesso remoto, sistemas de e-mail e serviços web vulneráveis. Esse mapeamento precede campanhas de [[t1566-002-spearphishing-link|spearphishing direcionado]] contra servidores públicos. --- ## Detecção A detecção de reconhecimento DNS é intrinsecamente difícil porque as consultas ocorrem contra servidores DNS públicos e não geram tráfego direto contra os sistemas da organização. Entretanto, alguns indicadores são detectáveis: ### Indicadores Detectáveis - **Tentativa de Zone Transfer (AXFR)**: requisições AXFR de IPs externos não autorizados devem gerar alertas imediatos. Todo servidor DNS autoritativo deve registrar e alertar sobre tentativas de AXFR - **Volume anômalo de consultas DNS**: ferramentas de enumeração geram alto volume de consultas (subdomain brute force) que podem ser detectadas em resolvers recursivos da organização - **Consultas a registros incomuns**: consultas AOL ANY ou SOA de IPs externos desconhecidos - **Certificaté Transparency monitoring**: organizações podem monitorar CT logs para detectar quando alguém consulta seus certificados (passivo, sem proteção, mas indica interesse) ### Regra Sigma - Tentativa de Zone Transfer DNS ```yaml title: DNS Zone Transfer Attempt (AXFR) status: experimental description: Detecta tentativas de transferência de zona DNS de fontes não autorizadas logsource: category: dns product: bind detection: selection: EventID: 1 query_type: AXFR filter_legitimate: src_ip|cidr: - '10.0.0.0/8' - '172.16.0.0/12' - '192.168.0.0/16' condition: selection and not filter_legitimate level: high tags: - attack.reconnaissance - attack.t1590.002 falsepositives: - Servidores DNS secundários legítimos que precisam de zone transfer - Ferramentas de monitoramento de DNS autorizadas ``` ### Monitoramento Proativo de CT Logs ```python # Monitorar crt.sh para novos certificados emitidos para o domínio import requests resp = requests.get(f"https://crt.sh/?q=%.empresa.com.br&output=json") # Alertar sobre subdomínios novos não reconhecidos ``` ### Fontes de Dados Recomendadas - **BIND/PowerDNS query logs**: registro de todas as consultas recebidas pelo servidor autoritativo - **Firewall DNS inspection**: análise de tráfego DNS saindo da rede corporativa - **DNS RPZ (Response Policy Zones)**: bloqueio e log de consultas a domínios maliciosos conhecidos - **SIEM com enriquecimento de Passive DNS**: correlação de IPs com histórico de resolução DNS --- ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | M1054 | [[m1054-software-configuration\|M1054 - Software Configuration]] | Configurar servidores DNS para restringir Zone Transfers (AXFR) apenas a servidores secundários autorizados via ACL; desabilitar recursão em servidores autoritativos públicos | | - | DMARC, DKIM, SPF | Implementar os três registros de autenticação de e-mail com política DMARC `reject` para prevenir spoofing do domínio; reduz o valor do mapeamento de infraestrutura de e-mail para adversários | | - | Minimização de Registros Públicos | Remover registros DNS de serviços internos que não precisam ser acessados externamente; não expor IPs de sistemas internos via DNS público | | - | Monitoramento de CT Logs | Subscrever alertas de Certificaté Transparency para detectar emissão não autorizada de certificados para subdomínios da organização | | - | Gestão de Subdomínios | Auditar periodicamente registros DNS para identificar e remover CNAMEs apontando para serviços cloud descontinuados (prevenção de subdomain takeover) | | - | Split-Horizon DNS | Implementar DNS split-horizon: servidor DNS interno resolve nomes internos; servidor DNS externo expõe apenas os registros necessários publicamente | --- ## Contexto Brasil/LATAM O Brasil apresenta características específicas que tornam o reconhecimento DNS particularmente relevante para o contexto de ameaças regional: ### Domínios .gov.br e Infraestrutura Pública O registro.br, operado pelo NIC.br, mantém o registro de todos os domínios `.br`. A estrutura de subdomínios governamentais brasileiros - `.gov.br`, `.jus.br`, `.leg.br`, `.mil.br` - é altamente padronizada, o que facilita a enumeração automatizada. Estudos do **CERT.br** revelaram que muitas prefeituras e órgãos municipais possuem configurações DNS inadequadas, incluindo Zone Transfers abertos e subdomínios abandonados. ### DMARC no Brasil Uma análise do ecossistema de e-mail corporativo brasileiro mostra que uma parcela significativa de organizações de médio porte ainda opera sem DMARC ou com política `p=none`, facilitando ataques de spoofing de domínio. O [[sector-financeiro|setor financeiro]] é o mais avançado na adoção, impulsionado por regulações do Banco Central (BACEN) e requisitos de segurança da FEBRABAN. ### Open Finance e APIs DNS Com a implementação do Open Finance no Brasil, as instituições financeiras participantes expõem APIs padronizadas em subdomínios conhecidos (ex: `openfinance.banco.com.br/open-banking/`). Isso cria uma superfície de ataque previsível e mapeável, tornando o reconhecimento DNS especialmente valioso para adversários que miram o setor financeiro brasileiro. ### Recomendações para Organizações Brasileiras - Utilizar o **RDAP do registro.br** para monitorar seu próprio domínio e detectar alterações não autorizadas - Subscrever ao serviço **Alerta.br** do NIC.br para notificações de segurança - Realizar auditorias periódicas de DNS usando ferramentas como **DNSdumpster** e **SecurityTrails** para ver o que adversários podem descobrir sobre sua própria organização - Garantir que todos os domínios `.com.br` da organização possuam registros DMARC com pelo menos `p=quarantine` --- ## Referências - [MITRE ATT&CK - T1590.002](https://attack.mitre.org/techniques/T1590/002/) - [NIC.br - Segurança DNS](https://www.nic.br/segurança/) - [CERT.br - Boas Práticas DNS](https://www.cert.br/docs/whitepapers/dns-security/) - [RFC 5936 - DNS Zone Transfer Protocol (AXFR)](https://www.rfc-editor.org/rfc/rfc5936) - [crt.sh - Certificaté Transparency Search](https://crt.sh/) - [SecurityTrails - DNS Intelligence](https://securitytrails.com/) - [OWASP - DNS Subdomain Takeover](https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/10-Test_for_Subdomain_Takeover) - [RFC 7489 - DMARC](https://www.rfc-editor.org/rfc/rfc7489) - [[m1054-software-configuration|M1054 - Software Configuration]] - [[t1595-002-vulnerability-scanning|T1595.002 - Vulnerability Scanning]] - [[t1596-search-open-technical-databases|T1596 - Search Open Technical Databases]] - [[t1583-acquire-infrastructure|T1583 - Acquire Infrastructure]]