# T1497 - Virtualization/Sandbox Evasion
## Descrição
**T1497** agrupa técnicas usadas por adversários para **detectar e evadir ambientes de análise automatizados** - como sandboxes, máquinas virtuais (VMs) e plataformas de análise dinâmica de malware. Ao identificar que estão sendo executados em um ambiente controlado, os implantes alteram ou interrompem completamente seu comportamento malicioso, frustrando ferramentas de detecção que dependem da observação de comportamento em tempo de execução.
O princípio central é simples: o malware só revela suas verdadeiras capacidades quando tem certeza de que está em um sistema real, pertencente a um usuário ou organização legítima. Isso faz com que análises automatizadas retornem resultados benignos, permitindo que o arquivo passe por portais de e-mail, EDRs baseados em sandbox e plataformas de threat intelligence sem ser sinalizado.
A técnica possui três sub-técnicas principais: [[t1497-001-system-checks|T1497.001 - System Checks]] (verificações de artefatos do sistema), [[t1497-002-user-activity-based-checks|T1497.002 - User Activity Based Checks]] (verificações de presença humana real) e [[t1497-003-time-based-checks|T1497.003 - Time Based Checks]] (evasão por atraso temporal). Grupos como [[g0012-darkhotel|Darkhotel]], [[g1031-saint-bear|Saint Bear]] e atores associados à [[g1052-contagious-interview|Contagious Interview]] incorporam múltiplas dessas verificações em cadeia, aumentando a resiliência contra análise.
## Sub-técnicas
| ID | Nome | Descrição |
|----|------|-----------|
| [[t1497-001-system-checks\|T1497.001]] | System Checks | Verificação de artefatos estáticos: processos, drivers, registro, CPUID |
| [[t1497-002-user-activity-based-checks\|T1497.002]] | User Activity Based Checks | Verificação de presença humana: arquivos, histórico, movimento de mouse |
| [[t1497-003-time-based-checks\|T1497.003]] | Time Based Checks | Atraso temporal via Sleep ou loops computacionais para esgotar jánela de sandbox |
## Como Funciona
A evasão de virtualização e sandbox opera em múltiplas camadas de verificação, geralmente executadas em sequência no início do processo malicioso - antes de qualquer comportamento que possa acionar detecção:
**Verificações de sistema (T1497.001):**
O malware consulta indicadores estáticos que denunciam a presença de hipervisores ou ferramentas de análise. Os métodos mais comuns incluem enumerar processos em busca de `vmtoolsd.exe`, `vboxservice.exe`, `wireshark.exe` ou `procmon.exe`; verificar chaves de registro exclusivas de VMware (`HKLM\SOFTWARE\VMware Inc.`) e VirtualBox (`HKLM\HARDWARE\ACPI\DSDT\VBOX__`); inspecionar drivers virtuais como `VMMOUSE.SYS`; consultar CPUID para detectar hypervisor presente; e verificar endereços MAC com prefixos reservados para VMs (`00:0C:29` para VMware, `08:00:27` para VirtualBox).
**Verificações de atividade de usuário (T1497.002):**
Ambientes de sandbox tipicamente carecem de traços de uso humano autêntico. O malware verifica se há arquivos no diretório `Documents` e `Downloads`, histórico de navegação populado, resolução de tela compatível com uso corporativo real (acima de 1024×768), número mínimo de processos em execução (ambientes de análise tendem a ter menos de 30-40 processos), e presença de software cotidiano como suíte Office ou clientes de e-mail.
**Evasão temporal (T1497.003):**
Sandboxes operam com jánelas de análise curtas, geralmente entre 2 e 5 minutos. O malware pode simplesmente chamar `Sleep()` por períodos superiores a esse limiar antes de executar qualquer payload. Variantes mais sofisticadas substituem o `Sleep()` por loops de cálculo matemático intensivo (hashing, criptografia) que são muito difíceis de acelerar artificialmente, contornando sandboxes que fazem hooking de funções de temporização para comprimir o tempo de análise.
## Attack Flow
```mermaid
graph TB
A[Malware entregue ao alvo] --> B[Fase de anti-análise inicial]
B --> C[T1497.001 - Verificações de sistema]
B --> D[T1497.002 - Verificações de atividade humana]
B --> E[T1497.003 - Atraso temporal]
C --> F[Consulta processos, registro,<br/>drivers e CPUID]
D --> G[Verifica arquivos do usuário,<br/>histórico, resolução de tela]
E --> H[Sleep longo ou loop<br/>computacional intenso]
F --> I{Ambiente de análise<br/>detectado?}
G --> I
H --> I
I -->|SIM| J[Encerra execução ou<br/>comportamento benigno]
I -->|NÃO - sistema real| K[Payload principal executado]
J --> L[Sandbox reporta arquivo benigno]
L --> M[Produto de segurança libera o arquivo]
K --> N[Persistência e C2]
K --> O[Movimento lateral e exfiltração]
```
## Exemplos de Uso
**[[g0012-darkhotel|Darkhotel]]:** O grupo APT, ativo desde 2007 e com histórico de ataques em redes de hotéis de luxo na Ásia, utiliza implantes que verificam artefatos de VM antes de executar seus stealers de credenciais. Amostras analisadas consultam o valor `HKLM\SOFTWARE\Oracle\VirtualBox Guest Additions` e a presença do serviço `VBoxGuest` via WMI antes de continuar a execução.
**[[g1031-saint-bear|Saint Bear]]:** Grupo atribuído a operações de espionagem com nexo russo utiliza verificações de tempo de uptime do sistema - se o sistema foi reinicializado recentemente (uptime inferior a 10 minutos), o malware interpreta isso como indicativo de um ambiente de análise recém-configurado e encerra silenciosamente.
**[[g1052-contagious-interview|Contagious Interview]]:** Campanha associada a atores norte-coreanos que alvejá desenvolvedores de software via entrevistas falsas. Os implantes distribuídos verificam a presença de ferramentas de monitoramento como [[wireshark|Wireshark]] e [[fiddler|Fiddler]], bem como a ausência de histórico de navegação real, antes de prosseguir com o roubo de credenciais e criptomoedas.
**[[s0380-stonedrill|StoneDrill]]:** Malware destrutivo associado a atores iraniano que implementa verificações de idioma do sistema operacional. Se o locale do Windows não corresponder a alvos esperados, o wiper não é ativado - combinando evasão de sandbox com segmentação geográfica precisa.
**[[s0483-icedid|IcedID]]:** Banking trojan que verifica se o sistema está ingressado em um domínio Active Directory corporativo real. Em ambientes de laboratório isolados, sem ingresso em domínio, o módulo de webinject para captura de credenciais bancárias não é carregado.
**[[s0331-agent-tesla|Agent Tesla]]:** Infostealer amplamente utilizado em campanhas de phishing contra empresas brasileiras que incorpora verificações de resolução de tela e número mínimo de processos, recusando-se a executar seu módulo de captura de teclado em sistemas que pareçam ambientes de teste.
## Detecção
A detecção direta de T1497 é inerentemente difícil porque as verificações realizadas pelo malware muitas vezes se assemelham a comportamento legítimo de administração de sistema. A abordagem mais eficaz é correlacionar múltiplos indicadores comportamentais:
```yaml
title: Consultas WMI Suspeitas para Detecção de VM
status: experimental
logsource:
category: process_creation
product: windows
detection:
selection_wmi:
Image|endswith:
- '\wmic.exe'
- '\powershell.exe'
CommandLine|contains:
- 'Win32_ComputerSystem'
- 'Win32_BIOS'
- 'Win32_VideoController'
- 'Manufacturer'
selection_vm_keywords:
CommandLine|contains:
- 'VMware'
- 'VirtualBox'
- 'innotek'
- 'QEMU'
- 'Hyper-V'
condition: selection_wmi and selection_vm_keywords
level: medium
tags:
- attack.defense_evasion
- attack.t1497.001
```
```yaml
title: Enumeração de Processos de Ferramentas de Análise
status: experimental
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\tasklist.exe'
CommandLine|contains:
- 'vmtoolsd'
- 'vboxservice'
- 'vboxtray'
- 'wireshark'
- 'procmon'
- 'fiddler'
- 'x64dbg'
- 'ollydbg'
condition: selection
level: medium
tags:
- attack.defense_evasion
- attack.t1497.001
```
**Estrategias adicionais:**
- Monitorar consultas ao registro em caminhos associados a VMs (`HKLM\SOFTWARE\VMware Inc.`, `HKLM\SYSTEM\CurrentControlSet\Services\VBoxSF`)
- Detectar processos que realizam longas chamadas de `Sleep` logo após inicialização, antes de qualquer atividade de rede
- Usar sandboxes bare-metal com hardware físico dedicado para eliminar artefatos de virtualização
- Implementar sandbox com perfil de usuário realista: histórico de navegador, arquivos típicos, software corporativo instalado, ingresso em domínio AD simulado
## Mitigação
| ID | Mitigação | Descrição |
|----|-----------|-----------|
| M1049 | Antivirus/Antimalware | Combinar análise dinâmica (sandbox) com análise estática (YARA, heurísticas) e reputação - não depender exclusivamente de comportamento em sandbox |
| M1040 | Behavior Prevention on Endpoint | EDRs com análise comportamental em endpoint real, que detectam padrões de anti-análise independentemente do ambiente de execução |
| - | Hardening de Sandbox | Simular atividade humana autêntica na sandbox: movimento de mouse, histórico de navegador, arquivos de usuário, software comum instalado |
| - | Sandbox Bare-Metal | Usar hardware físico dedicado para análise de amostras suspeitas de alto risco, eliminando artefatos de virtualização que disparam verificações de T1497.001 |
| - | Análise Multicamada | Combinar análise dinâmica, estática e de reputação; nenhuma camada isolada é suficiente para amostras que implementam evasão sofisticada |
## Contexto Brasil/LATAM
A evasão de virtualização e sandbox tem impacto direto e mensurável na eficácia de produtos de segurança amplamente implantados no Brasil. Gateways de e-mail corporativos e soluções de web filtering que dependem de sandbox para análise de anexos são específicamente contornados por malwares que implementam T1497, permitindo que trojans bancários cheguem às caixas de entrada corporativas mesmo após passarem por análise dinâmica.
O ecossistema de malware bancário brasileiro - historicamente um dos mais sofisticados do mundo - incorporou técnicas de anti-análise desde meados dos anos 2010. Famílias como [[s0483-icedid|IcedID]] e [[s0331-agent-tesla|Agent Tesla]], amplamente usadas em ataques a empresas brasileiras, implementam verificações de locale do sistema operacional: se o Windows não estiver configurado em Português do Brasil ou Espanhol, o payload bancário não é ativado. Essa combinação de evasão de sandbox com segmentação geográfica torna a análise em laboratórios internacionais particularmente ineficaz para a realidade do Brasil.
Além disso, a prevalência de ambientes corporativos com Windows legado no Brasil - onde políticas de atualização são menos rigorosas - aumenta a jánela de exposição: mesmo quando a sandbox falha em detectar o malware, a ausência de proteções modernas no endpoint real facilita a execução bem-sucedida do payload.
Para defesores brasileiros, a estratégia mais eficaz é manter análise multicamada (estática + dinâmica + reputação), consumir feeds de ameaças específicos para o ecossistema LATAM, e investir em EDRs com análise comportamental em endpoint que não dependem da sandbox como único ponto de detecção.
## Referências
- [[t1497-001-system-checks|T1497.001 - System Checks]]
- [[t1497-002-user-activity-based-checks|T1497.002 - User Activity Based Checks]]
- [[t1497-003-time-based-checks|T1497.003 - Time Based Checks]]
- [[g0012-darkhotel|Darkhotel]]
- [[g1031-saint-bear|Saint Bear]]
- [[g1052-contagious-interview|Contagious Interview]]
- [[s0380-stonedrill|StoneDrill]]
- [[s0483-icedid|IcedID]]
- [[s0331-agent-tesla|Agent Tesla]]
- [[t1027-obfuscated-files|T1027 - Obfuscated Files or Information]]
- [[t1055-process-injection|T1055 - Process Injection]]
- [[s1130-raspberry-robin|Raspberry Robin]]
- [[black-basta|Black Basta]]
*Fonte: MITRE ATT&CK - T1497*