# T1055 - Process Injection
## Descrição
**Process Injection** é uma das técnicas mais prevalentes e versáteis do arsenal de adversários modernos. Ela consiste em injetar e executar código arbitrário no espaço de memória de um processo legítimo em execução, permitindo ao adversário:
- **Evasão de defesas:** A execução ocorre sob a identidade de um processo confiável (ex: `svchost.exe`, `explorer.exe`, `lsass.exe`), mascarando atividade maliciosa de ferramentas de segurança baseadas em processo
- **Escalada de privilégios:** Injetar em um processo com privilégios mais elevados concede ao adversário esses mesmos privilégios de forma eficaz
- **Acesso a recursos protegidos:** O código injetado herda o contexto de segurança do processo alvo, incluindo tokens de acesso, credenciais em memória e conexões de rede estabelecidas
- **Persistência encoberta:** Código malicioso rodando dentro de processos legítimos é muito mais difícil de identificar e remover
A técnica é implementada de múltiplas formas - cada sub-técnica explora diferentes APIs, mecanismos do SO e vetores de execução. Todas compartilham o princípio fundamental: o código malicioso executa sob o contexto de outro processo para ocultar sua presença.
Process Injection é uma técnica **técnica pai** com 12 sub-técnicas documentadas no MITRE ATT&CK, cada uma representando um vetor distinto de injeção:
| Sub-técnica | Mecanismo Principal | Plataforma |
|-------------|---------------------|-----------|
| [[t1055-001-dynamic-link-library-injection\|T1055.001 - DLL Injection]] | `LoadLibrary` / `CreateRemoteThread` | Windows |
| [[t1055-002-portable-executable-injection\|T1055.002 - PE Injection]] | Aloca e escreve PE em processo remoto | Windows |
| [[t1055-003-thread-execution-hijacking\|T1055.003 - Thread Execution Hijacking]] | Suspende thread, sobrescreve contexto | Windows |
| [[t1055-004-asynchronous-procedure-call\|T1055.004 - APC Injection]] | `QueueUserAPC` / NtQueueApcThread | Windows |
| [[t1055-005-thread-local-storage\|T1055.005 - Thread Local Storage]] | TLS callbacks no PE carregado | Windows |
| [[t1055-008-ptrace-system-calls\|T1055.008 - Ptrace System Calls]] | `ptrace()` syscall | Linux |
| [[t1055-009-proc-memory\|T1055.009 - Proc Memory]] | `/proc/PID/mem` write | Linux |
| [[t1055-011-extra-window-memory-injection\|T1055.011 - EWM Injection]] | `SetWindowLong` / window memory | Windows |
| [[t1055-012-process-hollowing\|T1055.012 - Process Hollowing]] | Cria processo suspenso, substitui imagem | Windows |
| [[t1055-013-process-doppelgnging\|T1055.013 - Process Doppelgänging]] | TxF (transações NTFS) para bypass AV | Windows |
| [[t1055-014-vdso-hijacking\|T1055.014 - VDSO Hijacking]] | Modifica mapeamento vDSO | Linux |
| [[t1055-015-listplanting\|T1055.015 - ListPlanting]] | Corrompe listas de callbacks de jánelas | Windows |
> Esta é a **técnica pai**. Para análise de vetores específicos, consulte as sub-técnicas acima.
---
## Como Funciona
### Primitivas fundamentais de injeção no Windows
A maioria das técnicas de process injection no Windows compartilha um conjunto de primitivas de API do sistema:
**Fase de Acesso ao Processo Alvo**
O adversário seleciona um processo alvo - tipicamente um processo com alta credibilidade, como `svchost.exe` (hospeda serviços do Windows), `explorer.exe` (interface do usuário), `lsass.exe` (autenticação - acesso exige SYSTEM), ou `spoolsv.exe` (spooler de impressão). A seleção depende do objetivo: evasão vs. acesso a credenciais vs. elevação de privilégios.
**Fase de Alocação de Memória**
O adversário aloca espaço de memória no processo remoto com permissões de leitura, escrita e execução (RWX). APIs como `VirtualAllocEx` são a abordagem clássica; técnicas mais evasivas usam `NtMapViewOfSection` (seção compartilhada) ou alocação via `WriteProcessMemory` em regiões já existentes.
**Fase de Escrita do Payload**
O shellcode ou DLL/PE é copiado para a região alocada usando `WriteProcessMemory` ou via mapeamento de seção (`NtMapViewOfSection`). Payloads frequentemente são cifrados/ofuscados em memória até o momento da injeção para evitar detecção por scanners de memória.
**Fase de Execução**
O código injetado é executado no contexto do processo alvo por um dos vários mecanismos: criação de thread remota (`CreateRemoteThread`, `NtCreateThreadEx`), sequestro de thread existente, ou enfileiramento de chamada de procedimento assíncrono (APC).
### Primitivas no Linux/macOS
No Linux, as técnicas de injeção exploram o subsistema `ptrace` - que permite a um processo pai inspecionar e modificar a memória e registros de um processo filho. O adversário usa `ptrace(PTRACE_ATTACH)` para se anexar a um processo, modifica registros e memória, e então usa `ptrace(PTRACE_DETACH)`. Alternativamente, `/proc/PID/mem` pode ser escrito diretamente se o processo tiver permissões suficientes.
---
## Attack Flow
```mermaid
graph TB
A["🎯 Código Malicioso<br/>Shellcode / DLL / PE<br/>pronto para injeção"] --> B["🔍 Seleção do Processo Alvo<br/>svchost, explorer, lsass<br/>alto trust / baixa visibilidade"]
B --> C["🔑 Obter Handle<br/>OpenProcess com<br/>PROCESS_ALL_ACCESS"]
C --> D["💾 Alocar Memória Remota<br/>VirtualAllocEx RWX<br/>no espaço do processo alvo"]
D --> E["✍️ Escrever Payload<br/>WriteProcessMemory<br/>copia shellcode/DLL"]
E --> F{"Método de<br/>Execução"}
F -->|"Thread Remota"| G["🧵 CreateRemoteThread<br/>NtCreateThreadEx<br/>thread executa payload"]
F -->|"APC"| H["📬 QueueUserAPC<br/>enfileira chamada<br/>para thread alerta"]
F -->|"Hollowing"| I["🕳️ NtUnmapViewOfSection<br/>vazia processo legítimo<br/>substitui por malware"]
F -->|"Doppelgänging"| J["📄 TxF Transaction<br/>cria processo via NTFS<br/>transaction - evade AV"]
G --> K["🎭 Execução Mascarada<br/>Malware roda como<br/>processo legítimo confiado"]
H --> K
I --> K
J --> K
K --> L["📡 C2 Commúnication<br/>Tráfego de rede sai<br/>do processo legítimo"]
K --> M["🔐 Credential Access<br/>Leitura de memória lsass<br/>dump de credenciais"]
K --> N["↔️ Lateral Movement<br/>Pass-the-Hash / Token<br/>Impersonation"]
style A fill:#c0392b,color:#fff
style K fill:#8e44ad,color:#fff
style L fill:#2c3e50,color:#fff
style M fill:#2c3e50,color:#fff
style N fill:#2c3e50,color:#fff
```
---
## Exemplos de Uso
### APT38 / Lazarus Group - Campanhas Financeiras
O grupo norte-coreano [[g0082-apt38|APT38]], responsável por roubos bilionários do sistema SWIFT e ataques a exchanges de criptomoedas (incluindo o [[bybit-heist-2025|Bybit Heist de 2025]], com USD 1,5 bilhão roubados), utiliza extensivamente process injection em suas campanhas:
- O malware [[s0520-blindingcan|BLINDINGCAN]] injeta em processos do navegador para interceptar credenciais bancárias
- Ferramentas de pós-exploração do grupo usam Process Hollowing para executar backdoors sob aparência de processos Windows legítimos
- O grupo usa [[t1055-012-process-hollowing|T1055.012 - Process Hollowing]] específicamente em alvos financeiros para evadir EDR
### Cobalt Group - Ataques a Bancos LATAM
O [[g0080-cobalt-group|Cobalt Group]] (também conhecido como Cobalt Spider) realizou múltiplos ataques contra bancos na América Latina, incluindo instituições brasileiras. O grupo usa Cobalt Strike com técnicas avançadas de injeção:
- **Beacon** do [[s0154-cobalt-strike|Cobalt Strike]] injeta em `svchost.exe` por padrão para mascarar tráfego C2
- DLL Injection via [[t1055-001-dynamic-link-library-injection|T1055.001]] é o vetor primário de implantação persistente
- APC Injection via [[t1055-004-asynchronous-procedure-call|T1055.004]] é usado para evasão de produtos EDR específicos
### APT32 (OceanLotus) - Espionagem no Sudeste Asiático e LATAM
O grupo vietnamita [[g0050-apt32|APT32]] (OceanLotus) usa process injection sofisticado em campanhas de espionagem contra governos e empresas em múltiplos países, incluindo presença crescente em LATAM:
- Process injection em processos do Microsoft Office para executar macros maliciosas invisíveis
- Injeção em processos de segurança para obter visibilidade de configurações defensivas
### Wizard Spider - Operações Ryuk/Conti no Brasil
O [[g0102-conti-group|Wizard Spider]] tem histórico de ataques a organizações brasileiras nos setores de saúde, governo e manufatura. Suas ferramentas ([[s0534-bazar|Bazar]], [[conti|Conti]]) utilizam process injection como elemento central:
- [[s0534-bazar|BazarLoader]] / [[s0534-bazar|BazarBackdoor]] inject em `svchost.exe` e `explorer.exe` via APC injection
- O estágio final Ryuk usa múltiplas formas de injeção para migrar para processos com maiores privilégios antes de iniciar encriptação
### Kimsuky - Espionagem de Estado Norte-Coreano
O grupo [[g0094-kimsuky|Kimsuky]], também norte-coreano, usa técnicas de injeção para espionagem de longo prazo:
- Process injection para instalar keyloggers e screen capturers em processos de produtividade
- Uso de [[t1055-003-thread-execution-hijacking|T1055.003 - Thread Execution Hijacking]] para evasão de soluções EDR modernas
### Ferramentas de Red Team Amplamente Abusadas
| Ferramenta | Técnicas de Injeção | Uso por Adversários |
|-----------|---------------------|---------------------|
| [[s0154-cobalt-strike\|Cobalt Strike]] | DLL, APC, Hollowing, Reflective | APT38, Cobalt Group, TA505, FIN7 |
| [[s0633-sliver\|Sliver]] | Shellcode injection, DLL | Grupos ransomware emergentes |
| [[metasploit\|Metasploit]] | Multiple (migraté, getsystem) | Amplo espectro |
| [[s0534-bazar\|BazarLoader]] | APC, Remote Thread | Wizard Spider |
| [[s0331-agent-tesla\|Agent Tesla]] | Process injection para evasão | Grupos de fraud e espionagem |
| [[s0398-hyperbro\|HyperBro]] | Reflective DLL injection | APT41, LuckyMouse |
---
## Detecção
### Fontes de dados críticas
| Fonte | Evento/API | O que detecta |
|-------|-----------|---------------|
| Sysmon | Event ID 8 (CreateRemoteThread) | Thread remota criada em processo alvo |
| Sysmon | Event ID 10 (ProcessAccess) | Acesso a processo com permissões suspeitas |
| Windows ETW | `Microsoft-Windows-Kernel-Process` | VirtualAllocEx, WriteProcessMemory |
| EDR hooks | API hooking em ntdll.dll | Chamadas diretas de syscall (SSDT bypass) |
| Memory scanning | Yara em memória de processos | Shellcode signatures, PE em memória sem arquivo |
| Network | Tráfego C2 de processos inesperados | svchost.exe abrindo conexões externas |
### Regra Sigma - CreateRemoteThread Suspeito
```yaml
title: Suspicious CreateRemoteThread - Process Injection Indicator
id: e1f7a3b5-6c8d-6e0f-1a2b-3c4d5e6f7a8b
status: experimental
description: >
Detecta criação de thread remota em processos sensíveis do Windows -
indicador primário de Process Injection (T1055). Foco em injeções
em processos de alta credibilidade usados por adversários para evasão.
author: RunkIntel
daté: 2026-03-25
references:
- https://attack.mitre.org/techniques/T1055/
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/creaté_remote_thread/
logsource:
product: windows
category: creaté_remote_thread
detection:
selection:
TargetImage|endswith:
- '\svchost.exe'
- '\explorer.exe'
- '\lsass.exe'
- '\spoolsv.exe'
- '\winlogon.exe'
- '\csrss.exe'
- '\services.exe'
filter_legit_sources:
SourceImage|startswith:
- 'C:\Windows\System32\'
- 'C:\Windows\SysWOW64\'
condition: selection and not filter_legit_sources
falsepositives:
- Algumas soluções de segurança legítimas injetam em processos para monitoramento
- Softwares de acessibilidade podem injetar em processos de UI
level: high
tags:
- attack.defense_evasion
- attack.privilege_escalation
- attack.t1055
```
### Regra Sigma - Acesso a Processo LSASS (Credential Dumping via Injection)
```yaml
title: LSASS Memory Access - Process Injection for Credential Dumping
id: f2a8b4c6-7d9e-7f1a-2b3c-4d5e6f7a8b9c
status: experimental
description: >
Detecta acesso à memória do processo lsass.exe com permissões que permitem
leitura de memória - típico de Process Injection para dump de credenciais.
Combinação de T1055 com T1003.001 (LSASS Memory).
author: RunkIntel
daté: 2026-03-25
logsource:
product: windows
category: process_access
detection:
selection:
TargetImage|endswith: '\lsass.exe'
GrantedAccess|contains:
- '0x1010'
- '0x1410'
- '0x147a'
- '0x143a'
filter_legit:
SourceImage|startswith:
- 'C:\Windows\System32\csrss.exe'
- 'C:\Windows\System32\wininit.exe'
condition: selection and not filter_legit
falsepositives:
- Software antivírus e EDR acessando lsass para proteção
- Ferramentas de diagnóstico de suporte Microsoft
level: critical
tags:
- attack.credential_access
- attack.defense_evasion
- attack.t1055
- attack.t1003.001
```
---
## Sub-técnicas
- [[t1055-001-dynamic-link-library-injection|T1055.001 - Dynamic-link Library Injection]]
- [[t1055-002-portable-executable-injection|T1055.002 - Portable Executable Injection]]
- [[t1055-003-thread-execution-hijacking|T1055.003 - Thread Execution Hijacking]]
- [[t1055-004-asynchronous-procedure-call|T1055.004 - Asynchronous Procedure Call]]
- [[t1055-005-thread-local-storage|T1055.005 - Thread Local Storage]]
- [[t1055-008-ptrace-system-calls|T1055.008 - Ptrace System Calls]]
- [[t1055-009-proc-memory|T1055.009 - Proc Memory]]
- [[t1055-011-extra-window-memory-injection|T1055.011 - Extra Window Memory Injection]]
- [[t1055-012-process-hollowing|T1055.012 - Process Hollowing]]
- [[t1055-013-process-doppelgnging|T1055.013 - Process Doppelgänging]]
- [[t1055-014-vdso-hijacking|T1055.014 - VDSO Hijacking]]
- [[t1055-015-listplanting|T1055.015 - ListPlanting]]
## Mitigação
| ID | Mitigação | Descrição Detalhada |
|----|-----------|---------------------|
| [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] | **EDR com Prevenção Comportamental** | Soluções EDR modernas (CrowdStrike Falcon, Microsoft Defender for Endpoint, SentinelOne) detectam e bloqueiam process injection em tempo real via hooking de API e análise comportamental. Garantir que proteção comportamental (não apenas assinaturas) estejá ativa e não bypassada. |
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | **Gestão de Privilégios** | Limitar quais processos têm o privilégio `SeDebugPrivilege` - necessário para `OpenProcess` com acesso completo a processos de outros usuários. Remover SeDebugPrivilege de contas não administrativas. Usar grupos de administração separados para operações sensíveis. |
| Credential Guard | **Windows Credential Guard** | Habilitar Windows Credential Guard (via Hyper-V Virtualization Based Security) para proteger hashes de credenciais em `lsass.exe` contra dump via process injection - bloqueia T1055 + T1003.001 combinados. |
| Sysmon | **Monitoramento de Processo** | Configurar Sysmon com regras para Event ID 8 (CreateRemoteThread), Event ID 10 (ProcessAccess com GrantedAccess suspeito) e Event ID 25 (ProcessTampering). Enviar para SIEM com alertas de alta fidelidade. |
| WDAC/AppLocker | **Controle de Aplicações** | Windows Defender Application Control pode bloquear carregamento de DLLs não assinadas e restringir injeção de código não autorizado em processos protegidos. |
| PPL | **Protected Processes Light** | Configurar processos críticos (lsass.exe) como Protected Process Light (PPL) para impedir acesso mesmo por processos com privilégios de administrador. Habilita via `RunAsPPL` no registro. |
---
## Contexto Brasil/LATAM
### Prevalência em Ataques ao Brasil
Process Injection é uma das técnicas mais frequentemente observadas em incidentes de segurança no Brasil, especialmente em:
**Trojans bancários LATAM**
O ecossistema de trojans bancários brasileiro - [[s0531-grandoreiro|Grandoreiro]], Mekotio, Casbaneiro, [[guildma|Guildma]] (Astaroth) - utiliza process injection extensivamente. O [[s0531-grandoreiro|Grandoreiro]], em particular, injeta em processos de navegadores (Chrome, Firefox, Edge) para interceptar transações bancárias online. Estas famílias representam uma ameaça endêmica ao setor financeiro brasileiro, com o Banco Central e CERT.br emitindo alertas recorrentes.
**Cobalt Strike em ataques a bancos**
O uso de [[s0154-cobalt-strike|Cobalt Strike]] por grupos criminosos atacando bancos brasileiros foi documentado em múltiplos incidentes. O Beacon do Cobalt Strike usa process injection como mecanismo padrão de persistência, injetando em `svchost.exe` por padrão. Grupos como [[g0080-cobalt-group|Cobalt Group]] têm histórico de operações contra instituições financeiras da América Latina.
**Ransomware em hospitais e governo estadual**
Ataques ransomware contra hospitais públicos e secretarias de estado no Brasil (São Paulo, Rio de Janeiro, Minas Gerais) frequentemente utilizam process injection como etapa de pós-exploração antes da encriptação. O uso de Cobalt Strike e ferramentas derivadas de Conti em incidentes brasileiros foi documentado pelo CERT.br e pesquisadores independentes.
### Ferramentas EDR no Mercado Brasileiro
A adoção de EDR no Brasil ainda é concentrada em grandes empresas e bancos. PMEs e setor público frequentemente dependem de antivírus tradicionais baseados em assinatura, que têm eficácia limitada contra process injection moderno (especialmente técnicas como Process Doppelgänging e VDSO Hijacking que evitam APIs monitoradas).
### Setores mais afetados
- [[financial|Setor Financeiro]] - trojans bancários com injeção em navegadores
- [[setor-saude|Saúde]] - ransomware pós-exploração em hospitais públicos
- [[government|Governo Estadual]] - campanhas de espionagem e ransomware oportunistas
- [[setor-telecomúnicacoes|Telecomúnicações]] - espionagem de estado via APT com persistence em longo prazo
---
## Software Associado
- [[s0331-agent-tesla|Agent Tesla]] (malware) - RAT com injeção em processos de navegador para credential theft
- [[s0681-lizar|Lizar]] (malware) - toolkit modular do Silence Group com múltiplos injectors
- [[slothfulmedia|SLOTHFULMEDIA]] (malware) - backdoor com injeção em processos do sistema
- [[s0581-ironnetinjector|IronNetInjector]] (ferramenta) - ferramenta dedicada de injeção de código
- [[s1159-dusttrap|DUSTTRAP]] (malware) - implante APT com injeção em processos de serviço
- [[badhatch|BADHATCH]] (malware) - backdoor FIN8 com process injection para evasão EDR
- [[s0398-hyperbro|HyperBro]] (malware) - backdoor APT41/LuckyMouse com reflective DLL injection
- [[s0633-sliver|Sliver]] (ferramenta) - C2 open-source com múltiplos módulos de injeção
- [[s0534-bazar|Bazar]] (malware) - Wizard Spider - BazarLoader com APC injection
- [[s0436-tscookie|TSCookie]] (malware) - backdoor APT10 com process injection para persistência
---
## Referências
- [MITRE ATT&CK - T1055](https://attack.mitre.org/techniques/T1055/)
- [Elastic - Process Injection Techniques Explained](https://www.elastic.co/blog/ten-process-injection-techniques-technical-survey-common-and-trending-process)
- [Mandiant - In-Memory Evasion](https://www.mandiant.com/resources/blog/in-memory-evasion)
- [Checkpoint Research - Process Injection Techniques](https://research.checkpoint.com/2019/finspy-surveillance-tool-modular-and-evolving/)
- [CERT.br - Análise de Trojans Bancários com Injeção](https://www.cert.br/docs/)
- [SigmaHQ - Process Injection Detection Rules](https://github.com/SigmaHQ/sigma/tree/master/rules/windows/creaté_remote_thread)
- [Windows Internals - Chapter 8: Security](https://docs.microsoft.com/en-us/sysinternals/resources/windows-internals)
- [[t1003-001-lsass-memory|T1003.001 - LSASS Memory]]
- [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]]
- [[t1068-exploitation-for-privilege-escalation|T1068 - Exploitation for Privilege Escalation]]