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