# T1564.003 - Hidden Window
## Técnica Pai
Esta é uma sub-técnica de [[t1564-hide-artifacts|T1564 - T1564 - Hide Artifacts]].
## Descrição
A técnica de jánela oculta (Hidden Window) é empregada por adversários para executar processos maliciosos sem que qualquer jánela visível apareça na área de trabalho do usuário, tornando a atividade práticamente invisível para a vítima. Em ambientes Windows, o mecanismo mais simples e amplamente abusado é o parâmetro `-WindowStyle Hidden` do [[t1059-001-powershell|PowerShell]], que instrui o processo a ser iniciado sem exibir sua jánela de console. Isso permite que scripts maliciosos complexos sejam executados em segundo plano enquanto o usuário trabalha normalmente, sem perceber nada de incomum.
Além do PowerShell, adversários exploram outras superfícies no Windows: a API `CreateDesktop()` pode criar uma área de trabalho completamente oculta com seu próprio processo `explorer.exe`, sobre a qual sessões hVNC (hidden VNC) rodam invisíveis ao usuário logado - uma técnica predileta de grupos de acesso remoto como o [[g0046-fin7|FIN7]]. O registro do Windows também pode ser manipulado para posicionar jánelas fora da tela, configurando `WindowPosition` para valores máximos em chaves do Console. Já em sistemas macOS, aplicações Java podem usar a tag `apple.awt.UIElement` em arquivos plist para suprimir seu ícone no Dock. O [[t1059-005-visual-basic|Visual Basic]] e o JScript também oferecem métodos nativos para execução silenciosa de scripts. Toda essa família de subtécnicas está classificada sob [[t1564-*|T1564]] (Hide Artifacts).
**Contexto Brasil/LATAM:** No Brasil, a técnica de jánela oculta é extremamente prevalente em malwares bancários direcionados a usuários finais e corporativos. O [[s0373-astaroth|Astaroth]], um dos trojans bancários mais ativos historicamente no Brasil, usa processos ocultos para realizar injeção de conteúdo em navegadores e captura de credenciais sem que o usuário note qualquer comportamento anômalo. O [[s0262-quasarrat|QuasarRAT]] e o [[s0250-koadic|Koadic]], amplamente utilizados por grupos que operam na região, combinam execução oculta com persistência para manutenção de acesso remoto de longa duração. O cenário brasileiro é especialmente crítico porque a alta penetração de internet banking e o volume de transações financeiras digitais tornam esse tipo de ataque altamente rentável, justificando o investimento em técnicas de evasão sofisticadas como Hidden Window.
## Attack Flow
```mermaid
graph TB
A[Entrega<br/>T1566 Phishing<br/>ou T1204 User Exec] --> B[Execução<br/>T1059 Script<br/>Iniciado com -Hidden]
B --> C[T1564.003<br/>Hidden Window<br/>Processo Invisível]:::highlight
C --> D[Coleta<br/>Captura de Credenciais<br/>ou C2 Silencioso]
D --> E[Exfiltração<br/>ou Acesso Persistente]
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
**Preparação**
O adversário prepara um payload - script PowerShell, executável, ou comando VBScript - que será invocado de forma oculta. Em ataques de phishing direcionados a usuários brasileiros, por exemplo, um documento Office malicioso contém uma macro que, ao ser habilitada, executa `powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Users\Public\payload.ps1`. O `-WindowStyle Hidden` garante que nenhuma jánela de console apareça. Em paralelo, o atacante pode preparar um segundo desktop oculto via `CreateDesktop()` para hospedar uma sessão hVNC.
**Execução**
A jánela oculta é criada e o processo malicioso passa a rodar em background. O [[s0037-hammertoss|HAMMERTOSS]] e o [[s0692-silenttrinity|SILENTTRINITY]] utilizam essa abordagem para executar agentes C2 que se comúnicam periodicamente com infraestrutura de comando e controle sem jámais exibir jánelas. O [[s1199-lockbit-20|LockBit 2.0]] usa jánelas ocultas durante a fase de reconhecimento pré-criptografia, executando scripts de enumeração que mapeiam compartilhamentos de rede e identificam arquivos críticos. O [[s0491-strongpity|StrongPity]] emprega processos ocultos para exfiltrar documentos encontrados no sistema enquanto apresenta ao usuário um instalador de software legítimo.
**Pós-execução**
Com o processo rodando de forma oculta, o adversário mantém acesso persistente ou conduz operações de coleta de dados. A ausência de jánelas visíveis dificulta a detecção por usuários finais - mesmo usuários treinados raramente verificam o Gerenciador de Tarefas ou logs de eventos como rotina. O [[s1020-kevin|Kevin]] e o [[s0686-quietsieve|QuietSieve]] exploram essa invisibilidade para coletar credenciais e documentos por períodos prolongados antes de qualquer notificação ao usuário ou à equipe de segurança.
## Detecção
**Event IDs relevantes (Windows):**
| Event ID | Fonte | Descrição |
|----------|-------|-----------|
| 4688 | Security | Criação de processo - verificar linha de comando por `-WindowStyle Hidden`, `-W Hidden` ou `-NonInteractive` |
| 1 | Sysmon | ProcessCreaté - captura linha de comando completa incluindo parâmetros de jánela oculta |
| 4657 | Security | Modificação de chave de registro - detectar alterações em `HKCU\Console\` relacionadas a WindowPosition |
| 11 | Sysmon | FileCreaté - arquivos criados por processos ocultos sem interação visível do usuário |
| 3 | Sysmon | NetworkConnect - conexões de rede iniciadas por `powershell.exe` com parâmetros de jánela oculta |
**Sigma Rule - Execução de PowerShell com Jánela Oculta:**
```yaml
title: PowerShell Hidden Window Execution
id: d4f2b8e1-3a6c-4d9f-b2e7-1c5a8f3d2b09
status: stable
description: >
Detecta execução de PowerShell com jánela oculta, técnica comum em
malwares bancários brasileiros e implantes de acesso remoto.
references:
- [[t1564-003-hidden-window]]
author: RunkIntel Detection Engineering
daté: 2026-03-24
tags:
- attack.defense_evasion
- attack.t1564.003
logsource:
category: process_creation
product: windows
detection:
selection_hidden_window:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
CommandLine|contains:
- '-WindowStyle Hidden'
- '-WindowStyle H'
- '-W Hidden'
- '-W H'
selection_wscript_hidden:
Image|endswith:
- '\wscript.exe'
- '\cscript.exe'
CommandLine|contains: '//B'
selection_cmd_parent_lolbin:
ParentImage|endswith: '\cmd.exe'
Image|endswith: '\DeviceCredentialDeployment.exe'
condition: 1 of selection_*
falsepositives:
- Scripts administrativos legítimos que usam PowerShell em background
- Ferramentas de automação como Ansible, SCCM scripts
- Softwares de monitoramento de TI
level: medium
```
## Mitigação
| Controle | Mitigação | Recomendação Prática para Org Brasileira |
|----------|-----------|------------------------------------------|
| [[m1038-execution-prevention\|M1038]] | Prevenção de Execução | Implementar AppLocker ou WDAC para bloquear execução de `powershell.exe` com parâmetros `-WindowStyle Hidden` fora de caminhos aprovados |
| [[m1033-limit-software-installation\|M1033]] | Limite de Instalação de Software | Bloquear instalação de ferramentas de acesso remoto não autorizadas (hVNC, QuasarRAT) via lista de aplicações permitidas |
| Restrição de PowerShell | Hardening | Habilitar PowerShell Constrained Language Mode e Script Block Logging (`HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging`) |
| Monitoramento de Processos | EDR/SIEM | Alertar sobre processos-filho de `wscript.exe`, `mshta.exe` e `regsvr32.exe` com parâmetros de execução silenciosa |
| Conscientização | Treinamento | Treinar usuários brasileiros - especialmente em equipes financeiras - para não habilitar macros em documentos recebidos por email, principal vetor de distribuição de malwares bancários que usam Hidden Window |
## Threat Actors que Usam
- [[g0022-apt3|APT3]] - grupo chinês apósentado (Gothic Panda); pioneiro no uso de jánelas ocultas combinadas com exploits de navegador para manter presença silenciosa em redes corporativas
- [[g0007-apt28|APT28]] - grupo russo do GRU; usa execução oculta em campanhas de spearphishing contra alvos governamentais e diplomáticos, incluindo na América Latina
- [[g0073-apt19|APT19]] - APT chinês com foco em escritórios de advocacia e bancos de investimento; emprega PowerShell oculto para exfiltração de documentos confidenciais
- [[g0046-fin7|FIN7]] - grupo de crime organizado especializado em ataques POS e financeiros; usa sessões hVNC ocultas para monitorar e manipular terminais de pagamento remotamente
- [[g1051-medusa-ransomware|Medusa Group]] - grupo de ransomware que usa jánelas ocultas durante a fase de reconhecimento para mapear a rede antes de iniciar a criptografia
- [[g0009-deep-panda|Deep Panda]] - APT chinês; usa PowerShell com `-WindowStyle Hidden` como técnica padrão de execução de payloads pós-comprometimento
- [[g0078-gorgon-group|Gorgon Group]] - grupo paquistanês com histórico de campanhas via phishing; distribuiu malwares com execução oculta via macros Office contra setores financeiro e governo
- [[g0052-copykittens|CopyKittens]] - APT iraniano que usa VBScript e PowerShell ocultos como parte de campanha de espionagem contra alvos do Oriente Médio e ocasionalmente LATAM
- [[g0126-higaisa|Higaisa]] - APT coreano que usa arquivos LNK e scripts ocultos para executar implantes sem chamar aténção do usuário alvo
- [[g0047-gamaredon|Gamaredon Group]] - APT russo com campanhas extensivas; usa jánelas ocultas em combinação com documentos armados para espionagem persistente
## Software Associado
- [[s0373-astaroth|Astaroth]] - trojan bancário brasileiro que usa processos ocultos para realizar injeção de browser e captura de credenciais bancárias em sessões de internet banking
- [[s0686-quietsieve|QuietSieve]] - downloader do Gamaredon Group que opera exclusivamente em background via jánela oculta para coletar e exfiltrar documentos silenciosamente
- [[s0491-strongpity|StrongPity]] - spyware que instala um componente oculto junto a instaladores legítimos de software para coletar e exfiltrar arquivos sem interação visual
- [[s1199-lockbit-20|LockBit 2.0]] - ransomware que usa processos ocultos na fase de reconhecimento pré-criptografia para mapear compartilhamentos e identificar dados críticos
- [[s1020-kevin|Kevin]] - RAT moderno que usa técnica de jánela oculta para manter persistência e comunicação C2 em redes comprometidas sem alertar usuários
- [[s0250-koadic|Koadic]] - framework de pós-exploração que usa JScript e COM objects para execução oculta de agentes no sistema comprometido
- [[s0037-hammertoss|HAMMERTOSS]] - implante do APT29 que usa uma thread oculta para polling de contas GitHub/Twitter em busca de instruções C2 codificadas em imagens
- [[s0692-silenttrinity|SILENTTRINITY]] - framework de C2 baseado em IronPython que executa agentes inteiramente em memória sem criar jánelas visíveis, dificultando detecção visual
- [[s0262-quasarrat|QuasarRAT]] - RAT open-source amplamente utilizado por grupos que operam na América Latina; implementa sessão de controle remoto completamente invisível ao usuário local
- [[keyboy|KeyBoy]] - keylogger/RAT que usa jánela oculta para registrar todas as teclas digitadas e realizar screenshots periódicos sem qualquer indicador visual
---
*Fonte: [MITRE ATT&CK - T1564.003](https://attack.mitre.org/techniques/T1564/003)*