# T1497.002 - User Activity Based Checks
## Descrição
**T1497.002 - User Activity Based Checks** é uma subtécnica de [[Sandbox Evasion]] na qual adversários implementam verificações de atividade humana real antes de executar cargas maliciosas. O objetivo central é distinguir ambientes de análise automatizada (sandboxes, máquinas virtuais de analistas, emuladores de comportamento) de sistemas genuinamente operados por usuários humanos.
Sandboxes modernas como [[cuckoo-sandbox|Cuckoo]], Any.run, [[hybrid-analysis|Hybrid Analysis]] e similares executam amostras em ambientes controlados que frequentemente carecem de indicadores de uso humano real: cursores que não se movem, histórico de navegação vazio, ausência de arquivos de documentos recentes, tempo de atividade curto e nenhuma interação com a interface gráfica. Ao checar esses sinais, o malware pode detectar que está sendo analisado e se comportar de forma inócua - apresentando apenas funcionalidades benignas ao analista enquanto aguarda condições reais para detonar.
Esta técnica é especialmente prevalente em famílias de malware sofisticadas como [[s0367-emotet|Emotet]], [[s0266-trickbot|TrickBot]], [[s0650-qakbot|QakBot]] e diversas ferramentas utilizadas por grupos APT como [[g0012-darkhotel|Darkhotel]] e [[g0046-fin7|FIN7]]. A combinação com outras subtécnicas de [[t1497-virtualizationsandbox-evasion|T1497]] - como verificações de artefatos de VM ([[t1497-001-system-checks|T1497.001]]) e checagens baseadas em tempo ([[t1497-003-time-based-evasion|T1497.003]]) - forma um arsenal de anti-análise altamente eficaz.
> **Técnica pai:** [[Sandbox Evasion]]
> **Tática:** [[_defense-evasion|Defense Evasion]]
---
## Como Funciona
O adversário incorpora rotinas de verificação no estágio inicial do malware - antes de qualquer comúnicação C2 ou ação destrutiva - que monitoram sinais de atividade humana no sistema comprometido. As verificações mais comuns incluem:
### 1. Movimentos de Mouse e Cliques
O malware lê a posição do cursor em intervalos regulares (por exemplo, a cada 500ms por 10 segundos). Se o cursor não se mover ou se mover de forma mecânica e previsível (como sandboxes simulam), a execução é abortada ou o malware entra em modo dormente. Em sistemas reais, usuários movem o mouse de forma irregular e frequente.
### 2. Histórico de Navegação e Cookies
Navegadores armazenam histórico, cookies, favoritos e cache ao longo do tempo. Uma sandbox recém-criada possui nenhum histórico. O malware pode enumerar arquivos de perfil de navegadores populares (Chrome, Firefox, Edge) e verificar se contêm dados de uso real - número de URLs visitadas, datas de última visita, presença de cookies de sessão.
### 3. Arquivos Recentes e Documentos
O Windows mantém listas de arquivos recentemente acessados em `%APPDATA%\Microsoft\Windows\Recent` e `%APPDATA%\Microsoft\Office\Recent`. Uma máquina em uso real tipicamente contém dezenas a centenas de entradas. Sandboxes costumam ter zero ou pouquíssimas entradas.
### 4. Área de Transferência (Clipboard)
Usuários reais frequentemente possuem conteúdo na área de transferência - senhas copiadas, textos, URLs. O malware pode verificar se o clipboard está vazio ou contém apenas dados de teste padrão usados por sandboxes.
### 5. Aguardar Interação do Usuário
Algumas variantes mais sofisticadas não verificam apenas estado passivo, mas aguardam ativamente uma ação específica do usuário antes de ativar, como:
- Duplo clique em uma imagem embutida em documento Office
- Fechar um documento específico após leitura
- Rolar o documento até uma posição específica
- Permanecer em execução por N minutos com atividade contínua de mouse/teclado
### 6. Número de Processos e Jánelas Abertas
Máquinas em uso real tipicamente têm muitos processos e jánelas abertas (e-mail, navegador, aplicativos de produtividade). Sandboxes frequentemente têm poucos processos além do próprio ambiente de análise.
---
## Attack Flow
```mermaid
graph TB
A([Malware Inicial Executado]) --> B{Verificações de\nAtividade Humana}
B --> C[Checar Movimentos<br/>de Mouse]
B --> D[Verificar Histórico<br/>de Navegação]
B --> E[Contar Arquivos<br/>Recentes]
B --> F[Inspecionar<br/>Clipboard]
B --> G[Verificar Nº de<br/>Processos/Jánelas]
C --> H{Atividade\nHumana Detectada?}
D --> H
E --> H
F --> H
G --> H
H -->|NÃO - Sandbox/VM| I[Modo Dormente<br/>ou Comportamento Benigno]
H -->|SIM - Sistema Real| J[Execução da<br/>Carga Maliciosa]
I --> K([Analista Vê<br/>Comportamento Inócuo])
J --> L[Comúnicação C2]
J --> M[Download de<br/>Payload Secundário]
J --> N[Roubo de<br/>Credenciais / Dados]
L --> O([Comprometimento<br/>Completo])
M --> O
N --> O
style A fill:#2d3748,color:#fff
style I fill:#276749,color:#fff
style K fill:#276749,color:#fff
style J fill:#9b2335,color:#fff
style O fill:#9b2335,color:#fff
style H fill:#744210,color:#fff
style B fill:#2b6cb0,color:#fff
```
---
## Exemplos de Uso
### Darkhotel - APT de Espionagem Corporativa
[[g0012-darkhotel|Darkhotel]], grupo APT operando desde pelo menos 2004 e associado à Coreia do Sul, é conhecido por campanhas de espionagem direcionadas a executivos de alto nível em hotéis de luxo na Ásia. O grupo utiliza verificações de atividade humana em seus stagers para garantir que documentos maliciosos entregues via spear-phishing apenas executem o payload principal quando um usuário real estiver interagindo com o sistema. O malware [[s0439-okrum|Okrum]], associado ao grupo, implementa delays e verificações de cursor para contornar análise automatizada.
### FIN7 - Grupo Financeiro (Carbanak)
[[g0046-fin7|FIN7]], um dos grupos criminosos financeiramente motivados mais prolíficos do mundo, utiliza a técnica amplamente em documentos Office armados distribuídos em campanhas de [[t1566-phishing|phishing]] contra o setor financeiro e hoteleiro. O malware [[s1239-toneshell|TONESHELL]] e o [[s0543-spark|Spark]] backdoor, ambos associados ao grupo, implementam verificações de número de cliques do mouse e tempo de idle antes de ativar macros maliciosas.
### Emotet e TrickBot - Malware-as-a-Service
[[s0367-emotet|Emotet]], considerado o malware mais perigoso do mundo até sua desarticulação em 2021 e posterior ressurgimento, implementava múltiplas camadas de verificação anti-sandbox. O [[s0266-trickbot|TrickBot]], frequentemente distribuído como payload secundário pelo Emotet, também verificava profundidade do histórico de navegação e número de cookies antes de executar módulos de roubo de credenciais bancárias - alvos frequentes no Brasil.
### QakBot - Persistência em Ambientes Corporativos
[[s0650-qakbot|QakBot]] (também conhecido como QBot) verifica tanto movimentos de mouse quanto a presença de arquivos em diretórios como `Documents` e `Desktop` antes de se conectar ao C2. Campaigns do QakBot têm afetado organizações financeiras e de saúde no Brasil.
---
## Detecção
A detecção desta técnica é inerentemente difícil porque o comportamento evasivo ocorre antes de qualquer ação maliciosa observável. As principais estrategias incluem análise comportamental em ambientes de sandbox enriquecidos com artefatos de usuário simulados.
```yaml
# Sigma Rule - T1497.002 User Activity Based Checks
# Detecta consultas suspeitas a APIs de posição de mouse e
# acesso a arquivos de histórico de navegação por processos não-browser
title: Suspicious User Activity Enumeration for Sandbox Evasion
id: a9f3b2e1-4c7d-4a8f-9b1e-2d5f6c7e8a9b
status: experimental
description: >
Detecta processos não-navegadores acessando artefatos de atividade
de usuário tipicamente consultados por malware para evasão de sandbox:
histórico de browsers, arquivos recentes, e múltiplas leituras de
posição de cursor em curto intervalo.
references:
- https://attack.mitre.org/techniques/T1497/002/
- https://any.run/cybersecurity-blog/sandbox-evasion/
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1497.002
logsource:
category: file_access
product: windows
detection:
selection_browser_history:
TargetFilename|contains:
- '\AppData\Local\Google\Chrome\User Data\Default\History'
- '\AppData\Roaming\Mozilla\Firefox\Profiles\'
- '\AppData\Local\Microsoft\Edge\User Data\Default\History'
filter_legitimate_browsers:
Image|endswith:
- '\chrome.exe'
- '\firefox.exe'
- '\msedge.exe'
- '\brave.exe'
selection_recent_files:
TargetFilename|contains:
- '\Microsoft\Windows\Recent\'
filter_explorer:
Image|endswith:
- '\explorer.exe'
condition: >
(selection_browser_history and not filter_legitimate_browsers)
or (selection_recent_files and not filter_explorer)
falsepositives:
- Ferramentas de backup que acessam perfis de browser
- Softwares de auditoria de segurança legítimos
- Gerenciadores de senhas que acessam histórico do browser
level: medium
```
### Recomendações de Detecção Complementares
| Fonte | Método | Eficácia |
|-------|--------|----------|
| EDR (Endpoint Detection & Response) | Monitorar chamadas a `GetCursorPos()` em processos suspeitos em alta frequência | Alta |
| SIEM | Correlacionar acesso a `%APPDATA%\Microsoft\Windows\Recent` por processos não-explorer | Média |
| Sandbox Enriquecida | Pré-popular sandbox com histórico de browser, arquivos recentes e cookies falsos | Alta |
| Análise Comportamental | Detectar malware que dorme por N segundos exatamente antes de comunicação de rede | Média |
| Detonação com Interação Simulada | Usar sandboxes com simulação de mouse e teclado (ex: Cuckoo com HumanInteraction) | Alta |
---
## Mitigação
> **Nota:** Esta técnica não possui mitigações diretas eficazes no host - sua natureza é observacional (o malware apenas lê informações do sistema sem realizar ações maliciosas detectáveis na fase de verificação). O foco deve ser em **detecção** e **enriquecimento de ambientes de análise**.
| ID | Mitigação | Descrição | Eficácia |
|----|-----------|-----------|----------|
| - | Sandbox Enriquecida | Configurar sandboxes com artefatos de usuário real: histórico de browser, arquivos recentes, cookies, múltiplas jánelas abertas | Alta |
| - | Simulação de Interação Humana | Usar ferramentas como CAPE Sandbox ou Any.run com interação de mouse/teclado simulada | Alta |
| - | Análise Estática Pré-Execução | Analisar código antes da execução para identificar chamadas a APIs de atividade de usuário em sequência suspeita | Média |
| [[m1049-antivirus-antimalware\|M1049]] | Antivirus/Antimalware | Soluções modernas de EDR com ML comportamental podem identificar padrões de anti-análise | Média |
| - | Threat Intelligence | Manter feeds atualizados com IOCs de loaders conhecidos que usam esta técnica ([[s0367-emotet\|Emotet]], [[s0650-qakbot\|QakBot]]) | Média |
---
## Contexto Brasil/LATAM
O Brasil é um dos alvos mais frequentes de malware bancário sofisticado na América Latina, e a técnica T1497.002 é amplamente utilizada por famílias de trojans bancários desenvolvidos ou adaptados para o mercado brasileiro.
### Trojans Bancários Brasileiros
Famílias como **Guildma** (também conhecido como Astaroth), **Javali**, **Melcoz** e **Grandoreiro** - todas documentadas pela [[kaspersky-latam|Kaspersky LATAM]] e pela [[eset|ESET]] - utilizam extensivamente verificações de atividade humana. Estas famílias são desenvolvidas por grupos criminosos brasileiros e exportadas para outros países da LATAM e Europa. O [[s0531-grandoreiro|Grandoreiro]], por exemplo, verifica a posição do mouse em intervalos específicos e conta o número de cliques antes de exibir jánelas overlay de roubo de credenciais bancárias.
### Impacto no Setor Financeiro
O setor [[financial|financeiro]] brasileiro é o principal alvo. Com mais de 150 milhões de usuários de internet banking e o maior ecossistema de pagamentos digitais (PIX) da América Latina, o Brasil representa um alvo de alto valor que justifica o investimento em técnicas sofisticadas de evasão de sandbox.
### Desafio para Equipes de SOC
Equipes de SOC no Brasil frequentemente dependem de sandboxes como [[hybrid-analysis|Hybrid Analysis]] e Any.run para triagem rápida de amostras. Malware que implementa T1497.002 pode passar por essa triagem sem acionar alertas, chegando às estações de trabalho sem detecção prévia. A recomendação para [[sources|CERT.br]] e equipes de resposta a incidentes é combinar análise dinâmica em sandboxes enriquecidas com análise estática e comportamental.
---
## Referências
- [MITRE ATT&CK - T1497.002](https://attack.mitre.org/techniques/T1497/002/)
- [Kaspersky LATAM - Trojans Bancários Brasileiros](https://latam.kaspersky.com/blog/)
- [ESET - Grandoreiro Banking Trojan Analysis](https://www.welivesecurity.com/)
- [Any.run - Sandbox Evasion Techniques](https://any.run/cybersecurity-blog/sandbox-evasion/)
- [[Sandbox Evasion]] (técnica pai)
- [[t1497-001-system-checks|T1497.001 - System Checks]]
- [[t1497-003-time-based-evasion|T1497.003 - Time Based Evasion]]
- [[t1055-process-injection|T1055 - Process Injection]]
- [[t1027-obfuscated-files|T1027 - Obfuscated Files or Information]]