# T1568.003 - DNS Calculation ## Descrição DNS Calculation é uma sub-técnica sofisticada de resolução dinâmica de C2 em que o malware não utiliza o endereço IP retornado pela consulta DNS diretamente como destino, mas sim aplica um algoritmo matemático sobre os octetos desse endereço para derivar a porta ou o endereço IP real do servidor de comando e controle. Isso difere fundamentalmente de um Domain Generation Algorithm (DGA) clássico - aqui, o domínio pode ser fixo e legítimo, mas o IP que ele resolve é apenas um veículo para codificar informação. A lógica é engenhosa: muitos firewalls e proxies corporativos aplicam egress filtering por porta, bloqueando conexões para portas não padrão. Ao calcular dinâmicamente a porta de destino a partir de um valor DNS, o malware pode mudar o ponto de contato do C2 sem nunca atualizar seu próprio código ou configuração. Por exemplo, se o DNS retorna `93.184.216.34`, o malware pode somar os três primeiros octetos (`93 + 184 + 216 = 493`), usar o módulo para mapear em uma porta válida, e conectar ao servidor real nessa porta calculada - tudo invisível para inspeção estática. Essa técnica é filha de [[t1568-dynamic-resolution|T1568 - Dynamic Resolution]], que engloba métodos pelos quais adversários evitam IPs e domínios hardcoded e em vez disso calculam ou resolvem dinâmicamente seus servidores C2. O DNS Calculation representa o nível mais técnico dessa família, exigindo análise comportamental e matemática para ser detectado - inspecionar apenas consultas DNS ou fluxos de rede individualmente é insuficiente. **Contexto Brasil/LATAM:** O grupo [[g0005-apt12|APT12]], também conhecido como IXESHE e Calc Team, tem histórico de uso dessa técnica em campanhas de espionagem contra organizações de mídia e governo na Ásia-Pacífico, com potencial de replicação em alvos de interesse geopolítico na América Latina. Para organizações brasileiras, o risco principal está em ambientes com firewalls com regras permissivas para portas dinâmicas acima de 1024, comuns em provedores de internet e data centers regionais. Setores de governo, defesa e energia no Brasil são os alvos mais prováveis de ameaças que empregam técnicas desse nível de sofisticação. ## Attack Flow ```mermaid graph TB A[Implantação<br/>Malware C2 Stage] --> B[Consulta DNS<br/>T1071.004] B --> C[**T1568.003<br/>DNS Calculation**] C --> D[Conexão C2<br/>Porta Calculada] D --> E[Persistência C2<br/>T1573] ``` ## Como Funciona **1. Preparação** O adversário registra um domínio de aparência legítima e configura registros A para IPs cujos octetos, quando submetidos a uma função matemática específica, resultem na porta desejada do servidor C2. O algoritmo de cálculo é hardcoded no malware durante a compilação. O servidor C2 real escuta na porta calculada, não necessáriamente associada ao IP retornado pela consulta DNS. **2. Execução** O malware implantado na vítima realiza uma consulta DNS para um domínio predefinido. O sistema operacional retorna o IP resolvido normalmente - sem nada de suspeito nessa etapa. Internamente, o malware aplica o algoritmo sobre os octetos do IP: por exemplo, `(octeto1 * octeto2) mod 65535` para derivar uma porta, depois conecta ao IP real do C2 (que pode ser completamente diferente do IP retornado) usando essa porta calculada. **3. Pós-execução** O canal de C2 é estabelecido em uma porta não padrão, dificultando bloqueio por regras estáticas de firewall. O adversário pode alterar as entradas DNS para mudar a porta de C2 sem recompilar ou reconfigurar o malware, garantindo resiliência operacional. Combinado com [[t1573-encrypted-channel|T1573 - Encrypted Channel]], o tráfego se torna práticamente opaco para inspeção. **Exemplo:** ```bash # Artefato de detecção: consulta DNS seguida de conexão TCP a IP não relacionado # O padrão abaixo representa o comportamento observável - NÃO o código malicioso # Sysmon Event ID 22 (DNS Query) + Event ID 3 (Network Connection) em sequência temporal # Query de correlação em SIEM: # dns.query.name = "updaté.exemplo.com" SEGUIDO DE # network.destination.ip != dns.resolved_ip WITHIN 5s # Isso indica que o processo ignorou o IP resolvido - indicador de DNS Calculation nslookup updaté.exemplo.com # IP retornado: 93.184.216.34 # Porta calculada: (93 + 184 + 216) % 1000 + 4000 = 493 + 4000 = 4493 # Conexão real vai para: 185.220.101.47:4493 (IP do C2 real, não o do DNS) ``` ## Detecção **Fontes de dados:** Sysmon Event ID 22 (consultas DNS), Event ID 3 (conexões de rede), correlação temporal entre resolução DNS e estabelecimento de conexão TCP, análise de desvio entre IP resolvido e IP de destino da conexão subsequente, monitoramento de portas não padrão em processos sem perfil de rede estabelecido. ```yaml title: DNS Resolution Followed by Connection to Different IP id: 4d7c2e1b-5f8a-4b3c-9d2e-6a1f8b3c7d9e status: experimental description: Detects when a process performs a DNS query but subsequently connects to an IP address different from the one resolved, which may indicaté DNS Calculation for dynamic C2 resolution logsource: category: network_connection product: windows detection: selection_dns: EventID: 22 selection_network: EventID: 3 Initiated: 'true' DestinationPort|gte: 1024 timeframe: 5s condition: selection_dns and selection_network falsepositives: - CDN and load balancer environments where resolved IP differs from actual connection IP - Applications using anycast routing - Tor and VPN clients level: high tags: - attack.command_and_control - attack.t1568.003 ``` ## Mitigação Não há mitigações MITRE oficialmente mapeadas para esta sub-técnica específica. As abordagens recomendadas para organizações brasileiras são: | Controle | Recomendação Prática | |----------|---------------------| | Inspeção DNS | Implementar DNS logging completo com correlação temporal de conexões subsequentes - SIEM deve alertar para processos que consultam DNS mas conectam a IPs distintos | | Egress filtering estrito | Bloquear saída em portas não padrão por default e exigir aprovação explícita para qualquer processo que precise de conectividade em portas acima de 1024 fora de perfis conhecidos | | Threat hunting | Criar regra de hunting para processos com baixa frequência de DNS queries mas alta variação de portas de destino - indicador comportamental de DNS Calculation | ## Técnicas Relacionadas - [[t1568-dynamic-resolution|T1568 - Dynamic Resolution]] - técnica pai desta sub-técnica - [[t1568-001-fast-flux-dns|T1568.001 - Fast Flux DNS]] - outra sub-técnica de evasão via DNS - [[t1568-002-domain-generation-algorithms|T1568.002 - Domain Generation Algorithms]] - DGAs como método alternativo de resolução dinâmica - [[t1071-004-dns|T1071.004 - DNS]] - uso direto de DNS como canal de C2, frequentemente combinado - [[t1573-encrypted-channel|T1573 - Encrypted Channel]] - frequentemente usado em conjunto para cifrar o canal C2 derivado ## Threat Actors - [[g0005-apt12|APT12]] - grupo de espionagem chinês com histórico documentado de uso de DNS Calculation em campanhas contra organizações de mídia e governo --- *Fonte: [MITRE ATT&CK - T1568.003](https://attack.mitre.org/techniques/T1568/003)*