# T1057 - Process Discovery
## Descrição
Process Discovery é uma técnica de reconhecimento interno que permite ao adversário mapear os processos em execução num sistema comprometido. Com essa informação, o atacante consegue identificar ferramentas de segurança ativas (EDRs, antivírus, agentes de SIEM), aplicações críticas de negócio e outros softwares que podem ser explorados ou precisam ser desativados antes da próxima fase do ataque. É uma das primeiras ações realizadas após a obtenção de acesso inicial.
Em ambientes Windows, as formas mais comuns de enumeração incluem o utilitário nativo `tasklist` via [[t1059-003-windows-command-shell|Windows Command Shell]] e o cmdlet `Get-Process` via [[t1059-001-powershell|PowerShell]]. Também é possível realizar a enumeração por chamadas à [[t1106-native-api|Native API]] do Windows, como `CreateToolhelp32Snapshot`, que retorna um snapshot completo dos processos ativos. Em Linux e macOS, o comando `ps` e a leitura do pseudo-sistema de arquivos `/proc` cumprem o mesmo papel. Em ambientes ESXi, o atacante pode usar `esxcli system process list` para mapear processos no hipervisor - padrão observado em grupos de ransomware que atacam infraestrutura virtualizada.
Essa técnica raramente é utilizada de forma isolada. Ela alimenta decisões táticas: se o adversário detectar processos de EDR como `MsMpEng.exe` (Windows Defender) ou `cb.exe` (Carbon Black), pode acionar técnicas de evasão como [[t1562-001-impair-defenses-disable-or-modify-tools|Impair Defenses]] antes de prosseguir. Se detectar processos de backup ativo, pode priorizá-los para desativação em ataques de [[t1486-data-encrypted-for-impact|ransomware]].
**Contexto Brasil/LATAM:** Em incidentes documentados no Brasil envolvendo os grupos [[g1040-play|Play]] e [[g0082-apt38|APT38]], Process Discovery foi usada nas primeiras horas após o comprometimento inicial para identificar soluções de segurança e processos bancários ativos. Organizações do setor [[_sectors|financeiro]], [[government]] e [[healthcare|saúde]] são alvos frequentes, especialmente quando operam ambientes heterogêneos com múltiplos sistemas legados - que tendem a gerar mais "ruído" de processos, facilitando que a enumeração maliciosa passe despercebida.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial<br/>T1566 Phishing] --> B[Execução<br/>T1059 Script/Shell]
B --> C[T1057<br/>Process Discovery]:::highlight
C --> D[Evasão<br/>T1562 Impair Defenses]
D --> E[Ação<br/>Ransomware / Exfil]
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b
```
## Como Funciona
1. **Preparação:** O adversário, após obter acesso via [[t1059-001-powershell|PowerShell]] ou [[t1059-003-windows-command-shell|Windows Command Shell]], prepara o comando de enumeração - muitas vezes embutido em um script de pós-exploração como parte de frameworks como Cobalt Strike ou Metasploit.
2. **Execução:** O comando é executado (`tasklist /v`, `Get-Process`, `ps aux`, `esxcli system process list`). A saída é redirecionada para um arquivo temporário ou exfiltrada diretamente via canal C2. Em chamadas via [[t1106-native-api|Native API]], o processo é criado de forma menos visível ao usuário.
3. **Pós-execução:** A lista de processos é analisada - manualmente ou por script - para identificar ferramentas de segurança, bases de dados, servidores de backup e processos privilegiados. O resultado define a próxima ação: desativação de defesas ([[t1562-001-impair-defenses-disable-or-modify-tools|T1562.001]]), movimentação lateral ou execução do payload final.
## Detecção
**Fontes de dados:**
- **Windows Event Log - Sysmon Event ID 1:** Criação de processos (`tasklist.exe`, `wmic.exe process list`)
- **Windows Event Log - Event ID 4688:** Rastreamento de criação de processos com linha de comando (requer política de auditoria ativada)
- **PowerShell ScriptBlock Logging (Event ID 4104):** Captura execuções de `Get-Process` e variantes ofuscadas
- **EDR telemetry:** Correlação de `CreateToolhelp32Snapshot` chamado por processos não-nativos
- **Linux auditd:** Regras para execução de `ps`, `cat /proc/*/status`, `pgrep`
**Sigma Rule:**
```yaml
title: Suspeita de Process Discovery via Tasklist ou WMIC
status: experimental
description: Detecta enumeração de processos via ferramentas nativas do Windows, padrão comum em reconhecimento pós-comprometimento
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'tasklist'
- 'wmic process list'
- 'Get-Process'
- 'CreateToolhelp32Snapshot'
filter_legit:
ParentImage|endswith:
- '\explorer.exe'
- '\taskmgr.exe'
condition: selection and not filter_legit
falsepositives:
- Ferramentas de monitoração legítimas
- Scripts de inventário de TI
level: medium
tags:
- attack.discovery
- attack.t1057
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| Principle of Least Privilege | Restringir acesso de leitura ao WMI e ao `tasklist` para usuários não-administradores. Em organizações brasileiras com grandes parques de TI, rever permissões herdadas de domínio é crítico. |
| Monitoração comportamental | Implementar regras de detecção em EDR para execução de `tasklist`, `wmic process list` e chamadas `CreateToolhelp32Snapshot` por processos fora do inventário aprovado. |
| Application Control | Usar AppLocker ou WDAC para bloquear execução de ferramentas de enumeração por usuários comuns - especialmente eficaz em ambientes de manufatura e OT/SCADA. |
| Auditar uso de PowerShell | Habilitar ScriptBlock Logging e Transcription no PowerShell. Alertar sobre `Get-Process` executado fora do horário comercial ou por contas de serviço. |
## Threat Actors
- [[g0112-windshift|Windshift]] - APT do Oriente Médio com histórico de espionagem; usa Process Discovery para identificar ferramentas de análise antes de executar malware
- [[g1017-volt-typhoon|Volt Typhoon]] - APT chinês focado em infraestrutura crítica; utiliza ferramentas nativas (living-off-the-land) para minimizar rastros
- [[g0081-tropic-trooper|Tropic Trooper]] - Grupo APT asiático ativo desde 2011; enumera processos para identificar soluções de segurança em alvos governamentais
- [[g0121-sidewinder|Sidewinder]] - APT sul-asiático focado em governos; usa scripts de enumeração integrados em loaders de spear-phishing
- [[g0009-deep-panda|Deep Panda]] - APT chinês com histórico de ataques ao setor de saúde e governo nos EUA e LATAM
- [[g0006-apt1|APT1]] - Um dos primeiros grupos APT documentados públicamente; exfiltrava inventários de processos como parte do reconhecimento sistemático
- [[g0125-silk-typhoon|HAFNIUM]] - Responsável pela exploração em massa de Exchange (ProxyLogon); realizou Process Discovery para mapear processos de email e AV
- [[g0012-darkhotel|Darkhotel]] - APT focado em espionagem corporativa via redes de hotéis; enumera processos de VPN e segurança em laptops de executivos
- [[g1040-play|Play]] - Grupo de ransomware com múltiplos incidentes documentados no Brasil; usa Process Discovery para desativar backups e EDRs antes da criptografia
- [[g0038-stealth-falcon|Stealth Falcon]] - Grupo de espionagem associado aos Emirados Árabes; usa Process Discovery em campanha de vigilância contra dissidentes
## Software Associado
- [[s0091-epic|Epic]] (malware) - backdoor do APT Turla com módulo de enumeração de processos
- [[s0670-warzonerat|WarzoneRAT]] (malware) - RAT comercial com capacidades de process listing; popular em campanhas de crime financeiro no Brasil
- [[s0267-felixroot|FELIXROOT]] (malware) - downloader que enumera processos para detectar sandbox antes de executar payload
- [[s0562-sunspot|SUNSPOT]] (malware) - implante do ataque SolarWinds; verificava processos de build antes de injetar SUNBURST
- [[s0142-streamex|StreamEx]] (malware) - RAT com enumeração de processos para anti-análise
- [[s0456-aria-body|Aria-body]] (malware) - backdoor do Naikon APT usado em espionagem no Sudeste Asiático
- [[s0149-moonwind|MoonWind]] (malware) - malware de espionagem com capacidades de inventário de sistema
- [[s0251-zebrocy|Zebrocy]] (malware) - ferramenta do APT28 com múltiplos módulos de reconhecimento interno
- [[s0581-ironnetinjector|IronNetInjector]] (ferramenta) - injector Python que enumera processos alvos antes da injeção de shellcode
- [[s0277-fruitfly|FruitFly]] (malware) - macOS spyware com capacidade de monitoramento de processos
---
*Fonte: [MITRE ATT&CK - T1057](https://attack.mitre.org/techniques/T1057)*