# 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*