# 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)*