# T1010 - Application Window Discovery ## Descrição A descoberta de jánelas de aplicativos é uma técnica de reconhecimento pós-comprometimento na qual o adversário enumera as jánelas abertas no sistema da vítima para mapear o ambiente operacional. A lista de jánelas ativas revela quais aplicativos estão em uso, podendo expor ferramentas de segurança como EDRs e antivírus - alvo de [[t1518-001-security-software-discovery|Security Software Discovery]] -, sistemas bancários, aplicativos de comunicação corporativa e documentos sensíveis abertos no momento da intrusão. Essa inteligência orienta as próximas fases do ataque, desde a escolha de dados a exfiltrar até a decisão de desativar controles de segurança. Para realizar essa enumeração, adversários exploram recursos nativos do sistema operacional. No Windows, funções da API Win32 como `EnumWindows`, `GetWindowText` e `FindWindow` permitem listar e inspecionar títulos de jánelas sem elevar privilégios. No Linux e macOS, ferramentas como `wmctrl`, `xdotool` e scripts AppleScript cumprem papel equivalente. Essa abordagem - abusar de funções legítimas do SO - é característica de técnicas de [[t1106-native-api|Native API]] e frequentemente combinada com [[t1059-command-and-scripting-interpreter|Command and Scripting Interpreter]] para automação e exfiltração dos resultados. O resultado da enumeração é frequentemente registrado em um arquivo local ou transmitido diretamente ao servidor de comando e controle (C2) como parte de um relatório de reconhecimento inicial. Malwares como [[s0385-njrat|njRAT]], [[darkgaté|DarkGaté]] e [[darkwatchman|DarkWatchman]] implementam essa capacidade de forma nativa, incluindo capturas de tela condicionais - ativadas apenas quando certas jánelas de interesse (como aplicações bancárias) são detectadas. Isso demonstra como a técnica alimenta diretamente decisões táticas do adversário em tempo real. **Contexto Brasil/LATAM:** No Brasil, essa técnica é especialmente relevante no contexto de trojans bancários - família na qual o país lidera globalmente. Malwares como [[s0531-grandoreiro|Grandoreiro]] e seus derivados monitoram continuamente as jánelas abertas no sistema das vítimas para detectar a abertura de portais bancários online. Ao identificar títulos de jánela de bancos brasileiros (Bradesco, Itaú, Nubank, Caixa), o malware ativa módulos de overlay e keylogging para capturar credenciais. Equipes de [[_sectors|setor financeiro]] e usuários corporativos são os principais alvos dessa variante da técnica na região. ## Attack Flow ```mermaid graph TB A([Acesso Inicial]) --> B([Execução de Implante]) B --> C{Window Discovery}:::highlight C --> D([Coleta Direcionada]) D --> E([Exfiltração / Fraude]) classDef highlight fill:#e74c3c,color:#fff ``` ## Como Funciona ### 1. Preparação Após o comprometimento inicial, o implante é configurado para executar a enumeração de jánelas como parte da rotina de reconhecimento do ambiente. O adversário define quais títulos de jánela são de interesse - aplicações bancárias, VPNs corporativas, ferramentas de segurança - e programa o módulo para reagir de forma diferente conforme o contexto encontrado. Ferramentas como [[s0385-njrat|njRAT]] e [[darkwatchman|DarkWatchman]] já incluem essa lógica como funcionalidade padrão. ### 2. Execução O implante chama funções nativas - `EnumWindows` no Windows ou `wmctrl -l` no Linux - para listar todas as jánelas abertas e seus títulos. Os resultados são filtrados contra uma lista de strings de interesse (nomes de bancos, "VPN", "Antivírus", "EDR", "Wireshark"). Quando uma jánela de interesse é encontrada, o comportamento do malware muda: pode iniciar keylogging, tirar screenshots via [[t1113-screen-capture|Screen Capture]], ou simplesmente registrar o estado do ambiente para envio ao C2 via [[t1059-command-and-scripting-interpreter|Command and Scripting Interpreter]]. ### 3. Pós-execução O relatório de jánelas ativas orienta as próximas ações do operador: se uma ferramenta de segurança estiver aberta, o malware pode pausar atividades maliciosas ou tentar encerrar o processo. Se uma aplicação bancária for detectada, módulos de fraude são ativados. O resultado é um ataque altamente contextual e difícil de detectar porque o comportamento malicioso só é acionado em condições específicas, reduzindo a exposição a análise comportamental genérica. ## Detecção **Event IDs relevantes (Windows):** | Event ID | Canal | Descrição | |----------|-------|-----------| | 1 | Sysmon | Criação de processo - scripts ou binários chamando EnumWindows | | 10 | Sysmon | Acesso a processo - um processo lendo handles de jánelas de outro | | 4688 | Security | Criação de processo com linha de comando contendo wmctrl, xdotool, GetWindowText | | 4663 | Security | Acesso a objeto - leitura de handles de jánela via API Win32 | **Regra Sigma - Enumeração de jánelas via API nativa:** ```yaml title: Application Window Discovery via Native API id: b7c2d3e4-8f9a-0b1c-2d3e-4f5a6b7c8d9e status: experimental description: Detecta enumeração de jánelas de aplicativos via chamadas de API ou scripts logsource: category: process_creation product: windows detection: selection_scripting: Image|endswith: - '\powershell.exe' - '\cmd.exe' - '\wscript.exe' - '\cscript.exe' CommandLine|contains: - 'EnumWindows' - 'GetWindowText' - 'FindWindow' - 'GetForegroundWindow' selection_tools: Image|endswith: - '\wmctrl.exe' - '\xdotool.exe' condition: selection_scripting or selection_tools falsepositives: - Ferramentas de automação de interface (RPA, AutoHotkey) - Scripts de suporte de TI legítimos level: medium tags: - attack.discovery - attack.t1010 ``` ## Mitigação Esta técnica não possui mitigações técnicas diretas no MITRE ATT&CK, pois abusa de funcionalidades legítimas do sistema operacional. A estratégia de defesa foca em detecção e contenção. | Controle | Abordagem | Aplicação Prática para Organizações Brasileiras | |----------|-----------|------------------------------------------------| | EDR comportamental | Detecção de padrões anômalos | Configurar o EDR para alertar quando processos não-interativos chamam EnumWindows ou GetWindowText em sequência rápida | | Análise de memória | Detecção de injeção | Monitorar injeção de código em processos legítimos que enumeram jánelas (explorer.exe, browsers) | | Isolamento de aplicações bancárias | Ambientes separados | Para setores financeiros: executar aplicações bancárias em ambientes virtualizados ou navegadores isolados (browser isolation) | | Monitoramento de API calls | Hooking de API | Implementar soluções que monitorem chamadas a funções Win32 de enumeração de jánelas em processos com comportamento suspeito | | Conscientização de usuário | Prevenção primária | Treinar usuários para não manter jánelas bancárias abertas simultaneamente com navegação em sites não confiáveis | ## Threat Actors - [[g0032-lazarus-group|Lazarus Group]] - APT norte-coreano que usa enumeração de jánelas em suas ferramentas de espionagem para identificar plataformas de trading e carteiras de criptomoedas abertas, priorizando alvos de alto valor financeiro - [[g1017-volt-typhoon|Volt Typhoon]] - APT chinês focado em infraestrutura crítica dos EUA que usa reconhecimento de jánelas para mapear ferramentas operacionais (SCADA, HMI) antes de ações de sabotagem - [[g1001-hexane|HEXANE]] - grupo iraniano que opera contra setores de telecomúnicações e petróleo no Oriente Médio, usando enumeração de jánelas para identificar ferramentas de gerenciamento de rede ## Software Associado - [[s0385-njrat|njRAT]] - RAT amplamente usado no Brasil e LATAM que implementa enumeração de jánelas para monitorar aplicações bancárias e acionar módulos de keylogging condicionalmente - [[darkgaté|DarkGaté]] - malware-as-a-service com módulo dedicado de descoberta de jánelas usado para identificar alvos de alto valor antes de roubo de credenciais - [[darkwatchman|DarkWatchman]] - RAT baseado em JavaScript/RegSvr32 que usa enumeração de jánelas para reconhecimento furtivo com footprint mínimo em disco - [[s0438-attor|Attor]] - plataforma de espionagem modular que combina enumeração de jánelas com captura de áudio para vigilância abrangente de alvos governamentais - [[s0033-nettraveler|NetTraveler]] - APT tool que usa window discovery para identificar documentos sensíveis abertos em campanhas de espionagem industrial - [[s0454-cadelspy|Cadelspy]] - spyware iraniano que monitora jánelas para ativar gravação de áudio apenas quando aplicações específicas estão em foco - [[s0696-flagpro|Flagpro]] - malware do grupo BlackTech que enumera jánelas para adaptar comportamento conforme o ambiente operacional da vítima - [[s0094-trojankaragany|Trojan.Karagany]] - usado pelo grupo Dragonfly em campanhas contra setor energético, com módulo de enumeração de jánelas para mapear sistemas SCADA - [[s0139-powerduke|PowerDuke]] - malware APT29 que usa enumeração de jánelas para evitar execução quando ferramentas de análise estão abertas (anti-sandbox) - [[s0260-invisimole|InvisiMole]] - ferramenta de espionagem modular que combina window discovery com geolocalização para criar perfil completo do ambiente da vítima --- *Fonte: [MITRE ATT&CK - T1010](https://attack.mitre.org/techniques/T1010)*