# T1055.012 - Process Hollowing ## Descrição O Process Hollowing, ou "esvaziamento de processo", é uma técnica avançada de injeção de código na qual o adversário cria um processo legítimo em estado suspenso e substitui seu conteúdo na memória por código malicioso antes de retomar a execução. O resultado é que um programa confiável - como `svchost.exe`, `explorer.exe` ou `notepad.exe` - passa a executar código do atacante enquanto aparece completamente legítimo para o sistema operacional, ferramentas de segurança e analistas. Essa camuflagem é o diferencial que torna a técnica tão valorizada por atores de ameaça sofisticados, pois transforma o sistema de defesa em cúmplice involuntário. O mecanismo técnico envolve uma sequência específica de chamadas à API nativa do Windows: o processo é criado suspenso via `CreateProcess` com a flag `CREATE_SUSPENDED`; o espaço de memória do processo legítimo é então removido com `ZwUnmapViewOfSection` ou `NtUnmapViewOfSection`; o shellcode ou PE malicioso é escrito no espaço vazio com `VirtualAllocEx` e `WriteProcessMemory`; o contexto do thread é ajustado via `SetThreadContext` para apontar para o novo ponto de entrada; e finalmente o processo é retomado com `ResumeThread`. Essa técnica se diferencia de [[t1055-005-thread-local-storage|Thread Local Storage]] por criar um processo inteiramente novo em vez de abusar de um processo já em execução. Integra a família de técnicas de injeção de processos sob a técnica pai [[t1055-*|T1055]]. **Contexto Brasil/LATAM:** O Process Hollowing é amplamente utilizado por malwares bancários altamente prevalentes no Brasil. Famílias como [[s0650-qakbot|QakBot]] e [[s0483-icedid|IcedID]] empregam essa técnica para injetar seus módulos em processos legítimos do Windows, tornando-se práticamente invisíveis para soluções antivírus convencionais. O grupo [[g1043-blackbyte|BlackByte]], cujas operações de ransomware atingiram organizações brasileiras, usa Process Hollowing como mecanismo central de evasão. A combinação dessa técnica com loaders como [[s1086-snip3|Snip3]] - distribuído via campanhas de phishing direcionadas ao setor financeiro latino-americano - resulta em infecções que persistem por semanas sem detecção. ## Attack Flow ```mermaid graph TB A([Acesso Inicial / Phishing]) --> B([Execução do Loader]) B --> C([T1055.012 - Process Hollowing]):::highlight C --> D([Persistência / C2]) D --> E([Coleta de Dados / Impacto]) classDef highlight fill:#e74c3c,color:#fff ``` ## Como Funciona **1. Preparação** O adversário seleciona um processo alvo legítimo - preferêncialmente um que sejá sempre executado no sistema e tenha permissões elevadas, como `svchost.exe`, `msiexec.exe` ou aplicações de segurança. O malware ou loader já está presente no sistema (tipicamente via phishing ou exploit de entrega). O código malicioso que será injetado é preparado na memória do processo atacante, podendo estar comprimido, criptografado ou ofuscado para dificultar análise estática. A escolha do processo alvo é calculada: processos com muitas instâncias em execução simultânea geram menos suspeita. **2. Execução** O processo alvo é criado em estado suspenso com `CreateProcess(..., CREATE_SUSPENDED, ...)`. O conteúdo original do executável legítimo é removido da memória do processo com `ZwUnmapViewOfSection`. O código malicioso é alocado e escrito no espaço de memória liberado via `VirtualAllocEx` e `WriteProcessMemory`. O contexto do thread principal é modificado com `SetThreadContext` para que o registrador `EIP`/`RIP` aponte para o novo ponto de entrada do código malicioso. Finalmente, `ResumeThread` retoma a execução - o processo agora executa o código do atacante enquanto o sistema operacional o identifica como o processo legítimo original. **3. Pós-execução** O processo hollowed estabelece comunicação com a infraestrutura C2 do atacante, que pode incluir [[t1090-003-multi-hop-proxy|Multi-hop Proxy]] para ocultar a origem. Ferramentas como [[s0154-cobalt-strike|Cobalt Strike]] usam extensivamente Process Hollowing para carregar seus beacons em processos legítimos. O processo malicioso pode criar threads adicionais, mapear DLLs maliciosas ou realizar movimentação lateral, tudo sob a identidade do processo hospedeiro legítimo. Logs de auditoria e ferramentas de monitoramento registram apenas o nome do processo legítimo, não o código real em execução. ## Detecção **Event IDs relevantes (Windows):** | Event ID | Fonte | Descrição | |----------|-------|-----------| | 4688 | Security | Criação de processo - analisar processos criados com flags de suspensão, especialmente por processos pai inesperados | | Microsoft-Windows-Sysmon/Operational (ID 8) | Sysmon | `CreateRemoteThread` - criação de thread em processo remoto | | Microsoft-Windows-Sysmon/Operational (ID 10) | Sysmon | `ProcessAccess` - acesso a processos com direitos `PROCESS_VM_WRITE` e `PROCESS_VM_READ` | | Microsoft-Windows-Sysmon/Operational (ID 25) | Sysmon | `ProcessTampering` - Sysmon 13+ detecta alteração de imagem de processo em memória | | 4663 | Security | Acesso a objeto - tentativas de leitura/escrita em espaço de memória de processos do sistema | **Sigma Rule:** ```yaml title: Process Hollowing via Suspicious Memory Write id: b2c4d6e8-1a3f-5b7c-9d0e-2f4a6b8c0d1e status: experimental description: Detecta padrões de Process Hollowing por acesso suspeito a memória de processos com subsequente modificação de contexto de thread references: - https://attack.mitre.org/techniques/T1055/012/ logsource: product: windows category: process_access detection: selection_hollow_access: GrantedAccess|contains: - '0x1fffff' - '0x1f0fff' - '0x143a' TargetImage|endswith: - '\svchost.exe' - '\explorer.exe' - '\notepad.exe' - '\msiexec.exe' - '\regsvr32.exe' filter_legitimate: SourceImage|startswith: - 'C:\Windows\System32\' - 'C:\Program Files\' condition: selection_hollow_access and not filter_legitimate falsepositives: - Ferramentas legítimas de segurança e monitoramento (EDR, AV) que inspecionam memória de processos level: high tags: - attack.defense_evasion - attack.privilege_escalation - attack.t1055.012 ``` ## Mitigação | Controle | Implementação Prática | Prioridade | |----------|-----------------------|------------| | EDR com detecção comportamental | Implantar solução EDR com capacidade de detectar sequências de chamadas de API suspeitas (CreateProcess + ZwUnmapViewOfSection + WriteProcessMemory + ResumeThread) | Alta | | Proteção de memória (M1040) | Habilitar [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] - soluções como Windows Defender Credential Guard e Exploit Protection dificultam a escrita em memória de processos do sistema | Alta | | Sysmon - ProcessTampering | Configurar Sysmon versão 13+ com detecção de `ProcessTampering` (Event ID 25) habilitada para alertar em tempo real sobre modificações de imagem de processo | Alta | | Restrição de chamadas de API | Habilitar políticas de Attack Surface Reduction (ASR) no Microsoft Defender para bloquear comportamentos de injeção de código | Média | | Monitoramento de hierarquia de processos | Alertar para processos do sistema (`svchost.exe`, `lsass.exe`) criados por pais inesperados - ex: `Word.exe` criando `svchost.exe` | Média | | Isolamento de aplicações | Usar Windows Sandbox ou containers para executar documentos e arquivos de fontes não confiáveis, limitando o escopo de qualquer injeção | Baixa | ## Threat Actors que Usam - [[g0078-gorgon-group|Gorgon Group]] - grupo paquistanês que usa Process Hollowing em campanhas de phishing contra governos e empresas, com alvos documentados na América do Sul - [[g0027-threat-group-3390|Threat Group-3390]] - APT chinês que emprega a técnica como parte de sua cadeia de infecção multi-estágio em operações de espionagem prolongadas - [[g0040-patchwork|Patchwork]] - grupo de espionagem sul-asiático que usa Process Hollowing para carregar [[s1065-woody-rat|Woody RAT]] e outros implantes de forma encoberta - [[g1043-blackbyte|BlackByte]] - operador de ransomware com ataques documentados no Brasil, usa a técnica para evadir EDRs durante a fase de implantação do ransomware - [[g1018-ta2541|TA2541]] - grupo de crimes financeiros que distribui RATs via [[s1086-snip3|Snip3]] usando Process Hollowing para evasão em campanhas de phishing massivo - [[g0045-apt10|menuPass]] - APT chinês (APT10) que usa a técnica para carregar implantes em processos legítimos durante operações de espionagem de longa duração - [[g0094-kimsuky|Kimsuky]] - grupo norte-coreano de espionagem que emprega Process Hollowing em campanhas direcionadas a organizações de pesquisa e governo ## Software Associado - [[s0483-icedid|IcedID]] - trojan bancário que usa Process Hollowing para injetar seus módulos em processos do navegador e interceptar transações financeiras online - [[s1207-xloader|XLoader]] - malware de roubo de informações que usa a técnica para se esconder em processos legítimos do Windows durante coleta de credenciais - [[s0662-rcsession|RCSession]] - RAT atribuído ao grupo [[g0027-threat-group-3390|Threat Group-3390]] que utiliza Process Hollowing como mecanismo primário de evasão - [[s0354-denis|Denis]] - backdoor de múltiplos estágios que usa injeção em processos legítimos para persistir em ambientes comprometidos - [[s1065-woody-rat|Woody RAT]] - RAT sofisticado atribuído ao grupo [[g0040-patchwork|Patchwork]] que implementa Process Hollowing para carregar payloads adicionais - [[s0344-azorult|Azorult]] - stealer amplamente distribuído que usa a técnica para injetar seu código em processos do sistema antes de exfiltrar credenciais - [[s0650-qakbot|QakBot]] - trojan bancário historicamente muito prevalente no Brasil, usa Process Hollowing para injetar módulos em `explorer.exe` e processos de browsers - [[s0154-cobalt-strike|Cobalt Strike]] - framework de ataque ofensivo cujos beacons usam extensivamente Process Hollowing para carregar em processos legítimos como `svchost.exe` - [[s0447-lokibot|Lokibot]] - stealer de senhas que usa a técnica para evadir soluções antivírus durante a fase de coleta de credenciais - [[s1086-snip3|Snip3]] - loader que usa Process Hollowing para carregar RATs em processos legítimos, amplamente distribuído em campanhas de phishing contra empresas latino-americanas --- *Fonte: [MITRE ATT&CK - T1055.012](https://attack.mitre.org/techniques/T1055/012)*