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