# T1055.013 - Process Doppelgänging > [!warning] Técnica de Alta Evasão > Process Doppelgänging explora uma API legítima do Windows (TxF) para injetar código malicioso sem gravar no disco, contornando ferramentas AV/EDR tradicionais que dependem de monitoramento de arquivos e hashes estáticos. ## Descrição **Process Doppelgänging** (T1055.013) é uma sub-técnica de [[t1055-process-injection|Injeção de Processo]] que abusa do mecanismo **Windows Transactional NTFS (TxF)** - introduzido no Windows Vista como garantia de integridade em operações de arquivo - para executar código malicioso de forma que ferramentas de segurança o percebam como um processo legítimo. A técnica foi apresentada públicamente pela primeira vez na Black Hat Europe 2017 pelos pesquisadores Tal Liberman e Eugene Kogan (enSilo). Desde então, foi incorporada por grupos APT e por diversas famílias de malware sofisticado como o [[s0242-synack|SynAck]] e o [[s0534-bazar|Bazar]]. A premissa central é: o TxF permite criar uma **transação de arquivo** que, enquanto não confirmada (committed), é invisível ao sistema de arquivos convencional. O adversário aproveita essa jánela para carregar código malicioso em memória usando a imagem "falsa" do arquivo, depois desfaz (rollback) a transação - fazendo com que, após o rollback, o arquivo em disco volte a ser legítimo, enquanto o processo malicioso já está em execução na memória. Diferente da técnica irmã [[t1055-012-process-hollowing|Process Hollowing]], o Doppelgänging evita chamadas de API altamente monitoradas como `NtUnmapViewOfSection`, `VirtualProtectEx` e `SetThreadContext`, tornando a detecção baseada em hooking de API consideravelmente mais difícil. A técnica não produz evidências em disco (fileless), e a imagem de processo vista pelo sistema operacional corresponde a um executável legítimo. O processo infectado herda o contexto de segurança do processo pai, portanto **não há elevação de privilégio** automática - mas o código malicioso executa com as mesmas permissões do processo que realizou a injeção. --- ## Como Funciona A execução de Process Doppelgänging segue quatro estágios encadeados, todos dentro de uma transação TxF: ### 1. Transact - Criar a transação maliciosa O adversário abre uma transação TxF (`NtCreateTransaction`) apontando para um executável legítimo (ex: `svchost.exe`, `notepad.exe`). Dentro da transação, sobrescreve o conteúdo do arquivo com código malicioso. Estas modificações são **isoladas**: apenas o contexto da transação enxerga as mudanças - ferramentas externas, AV e o próprio sistema de arquivos continuam vendo o arquivo original. ### 2. Load - Criar seção de memória compartilhada Usando `NtCreateSection` com a handle do arquivo transacionado (que contém o código malicioso), o adversário cria uma **seção de memória** mapeável. Esse mapeamento carrega o PE (Portable Executable) malicioso no espaço de endereços virtual. ### 3. Rollback - Desfazer a transação A transação TxF é revertida via `NtRollbackTransaction`. O arquivo em disco retorna imediatamente ao conteúdo legítimo original. Qualquer scanner que verificar o arquivo após este ponto encontrará o executável limpo - sem rastro do payload no sistema de arquivos. ### 4. Animaté - Criar o processo a partir da seção corrompida Usando `NtCreateProcessEx` com o handle da seção de memória criada no passo 2, um novo processo é instanciado. A seção já contém o código malicioso. O processo aparece no gerenciador de tarefas e ferramentas de auditoria como o executável legítimo, pois é essa a imagem referenciada - mas executa o payload do atacante. > [!info] Por que é difícil de detectar? > - Sem escrita de arquivo malicioso em disco (fileless) > - Sem hooks de API das funções mais monitoradas > - O processo parece legítimo em ferramentas como `tasklist`, `Process Explorer` e event logs convencionais > - O hash do arquivo em disco continuará sendo legítimo após o rollback --- ## Attack Flow ```mermaid graph TB A([Acesso Inicial / Execução]) --> B[Adversário obtém execução no sistema] B --> C[Seleciona executável legítimo alvo<br/>ex: svchost.exe, notepad.exe] C --> D[NtCreateTransaction<br/>Abre transação TxF] D --> E[Sobrescreve arquivo com<br/>payload malicioso dentro da transação] E --> F[NtCreateSection<br/>Cria seção de memória da imagem transacionada] F --> G[NtRollbackTransaction<br/>Reverte arquivo em disco para original] G --> H[NtCreateProcessEx<br/>Instancia processo a partir da seção maliciosa] H --> I[Configura PEB, argumentos, parâmetros de processo] I --> J[NtCreateThread<br/>Inicia thread de execução] J --> K([Payload em execução - camuflado como processo legítimo]) subgraph EVASAO["Efeito de Evasão"] L[Disco: arquivo legítimo ✓] M[Memória: payload malicioso ✗] N[AV scan em disco: limpo ✓] O[Processo visível: nome legítimo ✓] end K --> EVASAO ``` --- ## Exemplos de Uso ### Leafminer (APT33 adjacente - Oriente Médio / Iran) O grupo [[g0077-leafminer|Leafminer]], associado a operações de espionagem iranianas contra alvos no Oriente Médio, utilizou Process Doppelgänging como mecanismo primário de [[t1055-process-injection|injeção de código]] para evadir soluções EDR. A técnica foi documentada em campanhas contra infraestrutura crítica e setor de energia na região. ### SynAck Ransomware O [[s0242-synack|SynAck]] foi um dos primeiros ransomwares a implementar Process Doppelgänging em produção (2017-2018). Usava a técnica para carregar seu próprio payload de criptografia a partir de um processo de aparência legítima, dificultando a resposta a incidentes em ambientes corporativos. Afetou organizações nos EUA, Kuwait e Irã. ### Bazar (Team9 / Wizard Spider) O [[s0534-bazar|Bazar]] (BazarLoader/BazarBackdoor), atribuído ao grupo [[g0102-conti-group|Wizard Spider]] e usado como precursor de ataques [[s0446-ryuk|Ryuk]] e [[conti|Conti]], incorporou Process Doppelgänging em suas variantes avançadas para persistência em redes corporativas. Alvos incluíam setores financeiro, saúde e governo nos EUA e Europa. > [!example] Contexto Técnico > Em análise do SynAck pelo Kaspersky (2018), o malware criava transações TxF com o executável do próprio sistema (`cmd.exe` ou `notepad.exe`), injetava o payload criptografado do ransomware, revertia a transação e iniciava o processo - tudo antes que qualquer solução AV baseada em arquivo tivesse tempo de realizar uma varredura. --- ## Detecção A detecção eficaz de Process Doppelgänging requer monitoramento de **comportamento em memória e chamadas de kernel**, não apenas análise de arquivos em disco. ### Indicadores Comportamentais | Indicador | Relevância | Fonte de Dados | |-----------|-----------|----------------| | `NtCreateTransaction` + `NtCreateSection` em sequência rápida | Alta | ETW (Event Tracing for Windows) | | Processo criado com handle de seção de memória (não de arquivo direto) | Alta | Sysmon Event ID 1 + WinAPI hooking | | `NtRollbackTransaction` seguido de `NtCreateProcessEx` | Alta | ETW NT Kernel Logger | | Processo filho com imagem legítima mas PEB divergente | Média | Memory forensics (Volatility) | | Novo processo sem correspondência de hash entre disco e memória | Alta | EDR com memory scanning | ### Regra Sigma ```yaml title: Possible Process Doppelgänging via TxF API Sequence id: 8b2f3a1c-4d9e-4f2a-b8c7-1e2d3f4a5b6c status: experimental description: > Detecta sequência de API calls associada a Process Doppelgänging: criação de transação NTFS (TxF), criação de seção de memória e rollback de transação seguidos de criação de processo. references: - https://attack.mitre.org/techniques/T1055/013/ - https://github.com/hasherezade/process_doppelganging author: RunkIntel Detection Engineering daté: 2026-03-25 tags: - attack.defense_evasion - attack.t1055.013 logsource: product: windows category: process_creation detection: selection_txf: EventID: 1 Image|endswith: - '\svchost.exe' - '\notepad.exe' - '\cmd.exe' - '\explorer.exe' IntegrityLevel: 'Medium' filter_legitimate: ParentImage|startswith: - 'C:\Windows\System32\' - 'C:\Windows\SysWOW64\' CommandLine|contains: ' -k ' condition: selection_txf and not filter_legitimate falsepositives: - Ferramentas de virtualização e sandboxes legítimas - Alguns instaladores que usam TxF para rollback seguro level: high fields: - Image - ParentImage - CommandLine - ProcessId - ParentProcessId ``` ### Abordagens de Detecção Avançada - **Memory scanning contínuo:** Ferramentas EDR com capacidade de comparar o hash da imagem em memória com o arquivo em disco detectam a divergência - **ETW (Event Tracing for Windows):** Subscrever eventos do NT Kernel Logger para `NtCreateTransaction`, `NtCreateSection` (com `SEC_IMAGE`) e `NtCreateProcessEx` em sequência - **Volatility / Rekall:** Em forense pós-incidente, `malfind` e `dumpfiles` revelam divergência entre imagem em disco e em memória - **Sysmon configuração avançada:** Rule para `ProcessCreaté` onde `ParentCommandLine` não é consistente com o processo pai esperado --- ## Mitigação | ID | Mitigação | Implementação Recomendada | |----|-----------|--------------------------| | [[m1040-behavior-prevention-on-endpoint\|M1040]] | Behavior Prevention on Endpoint | Implantar EDR com capacidade de memory scanning contínuo e detecção de anomalias em criação de processos. Soluções como CrowdStrike Falcon, SentinelOne e Microsoft Defender for Endpoint possuem detecção específica para Doppelgänging. | | Hardening de API TxF | Controle de Aplicação | Monitorar e restringir uso de APIs TxF (`NtCreateTransaction`, `NtRollbackTransaction`) por processos não-sistema via AppLocker ou WDAC (Windows Defender Application Control). | | Integridade de memória | Kernel Protection | Habilitar **Credential Guard** e **Hypervisor-Protected Code Integrity (HVCI)** no Windows 10/11 - reduz superfície de ataque para injeção via memória compartilhada. | | Monitoramento ETW | Detecção | Configurar coleta de eventos ETW no SIEM (Splunk, Sentinel) para rastrear sequências de API suspeitas em tempo real. | --- ## Contexto Brasil/LATAM > [!info] Relevância Regional > Embora o Process Doppelgänging sejá uma técnica avançada raramente atribuída a grupos exclusivamente focados em Brasil, o contexto LATAM é relevante por dois vetores principais: ### Ransomware com Origem em Grupos Ocidentais Famílias como [[s0534-bazar|BazarLoader]] e [[s0242-synack|SynAck]] - que implementam Doppelgänging - foram utilizadas em ataques contra empresas brasileiras do setor financeiro e de saúde em 2021-2023. O BazarLoader foi precursor de ataques [[conti|Conti]] que afetaram organizações no Brasil. ### Espionagem via APTs com Alvos LATAM Grupos como [[g0077-leafminer|Leafminer]] e similares com foco em [[energy|energia]] e [[government|governo]] podem utilizar esta técnica em operações de espionagem industrial contra empresas de petróleo, gás e infraestrutura crítica - setores de alto valor estratégico na América Latina. ### Adoção por Crime Organizado Local À medida que ferramentas e técnicas APT são absorvidas por grupos de crime organizado cibernético (padrão observado em grupos como [[g1004-lapsus|LAPSUS$]] e operadores de ransomware no Brasil), a adoção de técnicas de evasão avançadas como Doppelgänging se torna provável em operações futuras de alto valor. ### Recomendação para Defensores Brasileiros - Priorizar EDR com memory scanning em ambientes corporativos críticos - Incluir detecção de TxF abuse em regras SIEM/SOC - Consultar [[sources|CERT.br]] para alertas sobre campanhas usando técnicas de injeção avançada --- ## Referências - [MITRE ATT&CK - T1055.013](https://attack.mitre.org/techniques/T1055/013/) - [Black Hat EU 2017 - Process Doppelgänging (Liberman & Kogan)](https://www.blackhat.com/eu-17/briefings/schedule/#lost-in-transaction-process-doppelganging-8262) - [Kaspersky - SynAck ransomware uses Process Doppelgänging](https://securelist.com/synack-targeted-ransomware-uses-the-doppelganging-technique/85431/) - [hasherezade - PoC Process Doppelgänging (GitHub)](https://github.com/hasherezade/process_doppelganging) - [[t1055-process-injection|T1055 - Process Injection]] (técnica pai) - [[t1055-012-process-hollowing|T1055.012 - Process Hollowing]] (técnica relacionada) - [[m1040-behavior-prevention-on-endpoint|M1040 - Behavior Prevention on Endpoint]] - [[g0077-leafminer|Leafminer]] - ator que usa esta técnica - [[s0242-synack|SynAck]] - malware que implementa Doppelgänging - [[s0534-bazar|Bazar]] - malware com variantes usando Doppelgänging --- *Fonte: [MITRE ATT&CK - T1055.013](https://attack.mitre.org/techniques/T1055/013)*