# T1678 - Delay Execution ## Descrição Adversários podem empregar métodos baseados em tempo para evadir detecção e análise automatizada. Essas técnicas exploram relógios do sistema, atrasos programáticos ou mecanismos de temporização para obscurecer atividade maliciosa, mimetizar comportamento legítimo e evitar escrutínio de ambientes de sandbox e antivírus comportamentais. O princípio central é simples: ambientes de análise automatizada (sandboxes) têm **limites de tempo** para análise - tipicamente entre 30 segundos e 5 minutos. Se o malware atrasa sua execução além deste threshold, o ambiente de análise encerra o processo sem observar comportamento malicioso, classificando a amostra como benigna ou inconclusiva. Esta técnica é utilizada tanto em ambientes de virtualização/sandbox quanto nativamente em sistemas host como parte de operações furtivas de longa duração. ## Como Funciona Os adversários dispõem de múltiplas primitivas para implementar atrasos de execução: ### 1. Sleep / Funções de pausa nativas A abordagem mais direta: chamar funções de sleep do sistema ou da linguagem de programação utilizada. - **Windows:** `Sleep()` (kernel32.dll), `WaitForSingleObject()`, `NtDelayExecution()` - **Linux/macOS:** `sleep()`, `usleep()`, `nanosleep()` - **Scripts:** `Start-Sleep` (PowerShell), `timeout` (cmd/bash), `time.sleep()` (Python) **Detecção:** Valores de sleep anormalmente longos (dezenas de segundos a minutos) em processos recém-criados são fortemente indicativos de evasão de sandbox. Soluções de análise dinâmica modernas aceleram o relógio do sistema para contornar esta técnica. ### 2. Loops e operações repetitivas inúteis Em vez de uma chamada de sleep direta - que é monitorada por ferramentas de análise - o adversário executa operações aparentemente legítimas repetidas vezes para consumir tempo: - **Ping loops:** `ping 127.0.0.1 -n 100` introduz atraso de ~100 segundos sem chamar `sleep()` - **Loops de cálculo:** Operações matemáticas intensivas sem propósito funcional - **Leitura repetida de arquivos:** Ler o mesmo arquivo de sistema centenas de vezes ### 3. API Hammering Técnica avançada que consiste em realizar **múltiplas chamadas a funções de Native API** em sequência, tanto para consumir tempo quanto para potencialmente sobrecarregar ambientes de análise com dados de telemetria inúteis: - Chamadas massivas a `NtQuerySystemInformation`, `GetTickCount`, `QueryPerformanceCounter` - O volume de chamadas pode superar a capacidade de logging de sandboxes, causando perda de eventos e análise incompleta - Algumas implementações usam centenas de milhares de chamadas à API antes de executar o payload ### 4. Integração com Tarefas Agendadas O adversário pode utilizar funcionalidades nativas de agendamento do sistema operacional - como [[Job]] - para agendar a execução do payload horas ou dias após o comprometimento inicial. Isso separa temporalmente o evento de instalação do comportamento malicioso, dificultando correlação forense. ### 5. Verificação de ambiente antes da execução Complementarmente ao atraso puro, adversários verificam indicadores ambientais para detectar sandboxes: - Verificar se o relógio do sistema está "acelerado" (tempo de CPU vs. tempo de relógio) - Verificar uptime do sistema (sandboxes frequentemente têm uptime muito curto) - Checar presença de interação humana (movimento de mouse, pressões de tecla) - Se indicadores de sandbox forem detectados, o malware permanece inativo indefinidamente ## Attack Flow ```mermaid graph TB A["Malware executado<br/>no sistema alvo"] --> B["Verificação de ambiente<br/>(sandbox? VM? análise?)"] B -->|Ambiente suspeito| C["Atraso estendido<br/>ou dormência permanente"] B -->|Ambiente parece real| D{Método de atraso} D -->|Sleep direto| E["Sleep longo<br/>(minutos/horas)"] D -->|Loop disfarçado| F["Ping loop /<br/>operações repetitivas"] D -->|API Hammering| G["Milhares de chamadas<br/>à Native API"] D -->|Agendamento| H["Scheduled Task<br/>para execução futura"] C --> I["Sandbox encerra análise<br/>sem ver comportamento malicioso"] E --> J["Threshold de sandbox<br/>ultrapassado"] F --> J G --> J H --> K["Payload executado<br/>horas/dias depois"] J --> L["Payload executado<br/>normalmente"] K --> L L --> M["Atividade maliciosa<br/>(C2, exfiltração, lateral movement)"] ``` ## Exemplos de Uso **Mustang Panda - TONESHELL e HIUPAN:** O grupo APT [[g0129-mustang-panda|Mustang Panda]] (também conhecido como TA416, Bronze President) utiliza T1678 em múltiplos implantes. O malware [[s1239-toneshell|TONESHELL]] implementa atrasos de execução para evadir análise dinâmica antes de estabelecer comunicação C2. O [[s1230-hiupan|HIUPAN]] (worm USB) usa sleep loops para garantir que a análise automatizada não observe a fase de reconhecimento e propagação. **Ransomware moderno:** Grupos de ransomware como LockBit e BlackCat/ALPHV implementam delays de execução de 4 a 24 horas após o comprometimento inicial antes de iniciar a fase de cifragem - permitindo que o acesso inicial sejá "esquecido" pelos sistemas de monitoramento antes que o impacto sejá causado. **Loaders e droppers comerciais:** Ferramentas como Cobalt Strike Beacon, Brute Ratel C4 e loaders customizados utilizados por grupos de crime financeiro frequentemente implementam API hammering como técnica padrão de evasão de sandboxes antes de estabelecer persistência e C2. **Campanha de espionagem contra LATAM:** Em campanhas documentadas contra órgãos governamentais latino-americanos, implantes foram observados com períodos de dormência de 48 a 72 horas após a instalação - estratégia que evita correlação entre o vetor de entrega inicial (phishing, por exemplo) e o comportamento de C2 em plataformas de EDR com jánelas de retenção curtas. **Malware financeiro brasileiro:** Famílias como Grandoreiro e Mekotio, que têm como alvo primário o setor bancário brasileiro, utilizam atrasos baseados em verificação de horário comercial - o malware permanece inativo fora do horário de trabalho (8h–18h, fuso horário de Brasília) para limitar a jánela de detecção comportamental. ## Detecção ```yaml title: Processo com Sleep Anormalmente Longo Após Criação status: experimental logsource: category: process_creation product: windows detection: selection_ping_loop: Image|endswith: '\ping.exe' CommandLine|contains: - '-n 1' - '-n 10' - '-n 100' - '-n 1000' ParentImage|endswith: - '\cmd.exe' - '\powershell.exe' - '\wscript.exe' - '\cscript.exe' condition: selection_ping_loop level: medium tags: - attack.defense_evasion - attack.t1678 ``` ```yaml title: Chamadas Excessivas à Native API (API Hammering) status: experimental logsource: category: api_call product: windows detection: selection: ApiName: - NtDelayExecution - NtQuerySystemInformation - GetTickCount64 - QueryPerformanceCounter timeframe: 10s condition: selection | count() by ProcessId > 5000 level: high tags: - attack.defense_evasion - attack.t1678 ``` ```yaml title: Timeout Suspeito via PowerShell ou CMD status: experimental logsource: category: process_creation product: windows detection: selection_sleep_ps: Image|endswith: '\powershell.exe' CommandLine|contains: - 'Start-Sleep' - '[Threading.Thread]::Sleep' selection_timeout_cmd: Image|endswith: '\timeout.exe' CommandLine|contains: '/T' CommandLine|re: '/T\s+[3-9][0-9]|/T\s+[1-9][0-9]{2}' condition: 1 of selection_* level: medium tags: - attack.defense_evasion - attack.t1678 ``` **Estrategia de detecção complementar:** - Monitorar processos criados por documentos Office ou emails que invocam `ping.exe`, `timeout.exe`, ou `sleep` com valores altos - Correlacionar execução de processo com horário de criação do arquivo pai - gap longo pode indicar atraso intencional - Em sandboxes de análise: utilizar aceleração de relógio do sistema para neutralizar delays baseados em `sleep()` - Analisar padrões de chamadas à API em amostras estáticas antes da execução - proporção alta de chamadas a `GetTickCount` / `QueryPerformanceCounter` é indicadora - Implementar detecção baseada em comportamento: processos que ficam dormentes por longos períodos após criação e então repentinamente iniciam atividade de rede ## Mitigação Esta técnica não possui mitigações diretas recomendadas pelo MITRE ATT&CK, pois os mecanismos utilizados (sleep, agendamento, chamadas à API) são funcionalidades legítimas do sistema operacional. **Controles compensatórios recomendados:** - **EDR com análise comportamental de longo prazo:** Utilizar soluções que mantêm contexto de comportamento de processo por períodos estendidos (horas/dias), não apenas nos primeiros minutos de execução - **Sandboxing com aceleração de tempo:** Ambientes de análise de malware que aceleram o relógio do sistema contornam delays baseados em `sleep()` - fundamental para análise de droppers modernos - **Monitoramento de rede de longo prazo:** Correlacionar primeiras conexões de saída de um processo com seu tempo de criação - conexões de C2 estabelecidas horas após o processo ser criado são altamente suspeitas - **Retenção estendida de telemetria de EDR:** Garantir que logs de processos e chamadas à API sejam retidos por pelo menos 30 dias para permitir correlação forense entre evento de instalação e comportamento malicioso ## Contexto Brasil/LATAM A evasão por atraso de execução é uma técnica de crescente relevância no cenário brasileiro por algumas razões: **Alta prevalência de malware bancário temporalmente adaptado:** Famílias como [[s0531-grandoreiro|Grandoreiro]], [[mekotio|Mekotio]] e [[s0528-javali|Javali]] - endêmicas ao Brasil e LATAM - implementam verificações de horário comercial e atrasos adaptativos como características centrais de design. Essas famílias têm décadas de evolução iterativa contra as defesas de bancos brasileiros, tornando-as técnicamente sofisticadas em evasão. **Limitações de EDR em empresas brasileiras de médio porte:** A maioria das PMEs brasileiras utiliza antivírus tradicionais sem capacidade de análise comportamental de longo prazo - exatamente o tipo de defesa que T1678 visa contornar. Soluções de EDR com telemetria comportamental extensa ainda têm penetração limitada fora das grandes corporações. **Sandboxes como falso conforto:** Gateways de e-mail com sandboxing integrado são comuns em grandes bancos e empresas brasileiras, mas delays de execução de 10+ minutos - comuns em malware financeiro moderno - superam facilmente os timeouts padrão dessas soluções, resultando em classificações falsas de "benigno". **[[g0129-mustang-panda|Mustang Panda]] e espionagem contra LATAM:** Atividade do grupo foi documentada contra entidades governamentais e diplomáticas na América Latina, com uso confirmado de T1678 via [[s1239-toneshell|TONESHELL]] e [[s1230-hiupan|HIUPAN]]. Implantes com delays de 24–72 horas foram identificados em campanhas contra órgãos do Mercosul e representações diplomáticas. ## Referências - Grupo APT: [[g0129-mustang-panda|Mustang Panda]] (TA416 / Bronze President) - Malware associado: [[s1239-toneshell|TONESHELL]], [[s1230-hiupan|HIUPAN]] - Técnica relacionada de agendamento: [[Job]] - Técnica de evasão de virtualização: [[Sandbox Evasion]] - Contexto de malware bancário: [[s0531-grandoreiro|Grandoreiro]], [[mekotio|Mekotio]] - Tática pai: [[_defense-evasion|Defense Evasion]] --- *Fonte: MITRE ATT&CK - T1678*