# DS0009 — Process ## Descrição **Process** é uma das fontes de dados mais críticas para detecção de ameaças em qualquer plataforma. Um processo é uma instância de um programa em execução, gerenciada pelo sistema operacional com espaço de memória próprio, threads, identificador único (PID) e contexto de segurança (usuário/grupos). Inclui o executável principal, módulos carregados dinâmicamente (DLLs no Windows, shared libraries no Linux/macOS) e regiões de memória alocadas. Do ponto de vista de detecção, eventos de processo — especialmente criação (`Process Creation`) — são o sinal mais rico disponível em endpoints. A maioria das técnicas ATT&CK envolve algum tipo de execução de processo: sejá diretamente (T1059), via exploração (T1068), ou por abuso de utilitários legítimos do sistema (LOLBAS/LOTL). A relação pai-filho entre processos é especialmente valiosa: `winword.exe` criando `powershell.exe` é um indicador clássico de spear-phishing com macro. Em ambientes corporativos brasileiros, a telemetria de processo é tipicamente a primeira fonte habilitada em SIEMs. Windows Event ID 4688 (com auditoria de linha de comando habilitada) e Sysmon Event ID 1 são os vetores de coleta mais comuns. Em Linux, Auditd com regras de `execve` e ferramentas como osquery ou Falco fornecem cobertura equivalente. ## Pipeline de Coleta ```mermaid graph TB A["🖥️ Endpoint Windows<br/>Processo criado / encerrado"] --> B["📋 Security Log EID 4688<br/>+ linha de comando (GPO)"] A --> C["🔍 Sysmon EID 1·5·8·10<br/>ProcessCreaté · Inject · Access"] D["🐧 Endpoint Linux / macOS<br/>execve syscall"] --> E["🔍 Auditd / Falco / eBPF<br/>sys_execve com filtro por UID"] B --> F["📡 WEF / Agente SIEM<br/>Coleta centralizada"] C --> F E --> F F --> G["🗄️ SIEM<br/>Sentinel · Splunk · Elastic"] G --> H["🚨 Alerta<br/>Office → PowerShell<br/>Cadeia pai-filho suspeita"] ``` ## Componentes de Dados | Componente | ID | Descrição | |---|---|---| | Process Creation | [[dc0032-process-creation\|DC0032]] | Inicialização de um novo processo — inclui linha de comando, PID, PPID, usuário, hash do executável | | Process Termination | [[dc0033-process-termination\|DC0033]] | Encerramento de processo — detecta tentativas de matar agentes de segurança | | Process Metadata | [[dc0034-process-metadata\|DC0034]] | Atributos do processo em execução — token de segurança, integridade, handle count | | Process Access | [[dc0035-process-access\|DC0035]] | Acesso a memória de outro processo — injection, credential dumping (ex: lsass.exe) | | Process Modification | [[dc0020-process-modification\|DC0020]] | Modificação de atributos ou memória de processo em execução | | OS API Execution | [[dc0021-os-api-execution\|DC0021]] | Chamadas de API do SO instrumentadas — ex: VirtualAlloc, WriteProcessMemory | ## Como Coletar ### Windows | Fonte | Configuração | Event IDs relevantes | |---|---|---| | **Windows Security Log** | Habilitar "Audit Process Creation" via GPO | 4688 (criação), 4689 (término) | | **Sysmon** | Event ID 1 (Process Create), 5 (Process Terminaté) | 1, 5, 8 (CreateRemoteThread), 10 (ProcessAccess) | | **Windows Defender ATP / MDE** | Habilitado por padrão com sensor MDE | Todas as atividades de processo | | **PowerShell Script Block Logging** | `HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging` | Event ID 4104 | **GPO para habilitar linha de comando no Event 4688:** ``` Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy Configuration → Detailed Tracking → "Audit Process Creation" = Success ``` **Sysmon config mínima para processos:** ```xml <ProcessCreaté onmatch="exclude"> <Image condition="is">C:\Windows\System32\svchost.exe</Image> </ProcessCreaté> ``` ### Linux | Ferramenta | Configuração | Eventos gerados | |---|---|---| | **Auditd** | `-a always,exit -F arch=b64 -S execve` | Toda execução de processo (alto volume) | | **Sysmon for Linux** | Event ID 1 (Process Create) | Formato compatível com Windows Sysmon | | **Falco** | Regra `proc.name` | Detecção baseada em comportamento em tempo real | | **osquery** | `SELECT * FROM processes;` | Snapshot periódico de processos ativos | | **eBPF (Elastic/Tetragon)** | Probe em `sys_execve` | Telemetria de alta fidelidade com baixo overhead | ### macOS | Ferramenta | Configuração | Eventos gerados | |---|---|---| | **Endpoint Security Framework** | `ES_EVENT_TYPE_NOTIFY_EXEC` | Criação de processo com argumentos completos | | **Unified Log** | `process` subsystem | Logs de processo do sistema | | **osquery** | `SELECT * FROM processes;` | Snapshot de processos | ### Integração com SIEM ``` # Splunk — detectar PowerShell codificado (LATAM muito comum em phishing) index=wineventlog EventCode=4688 Process_Command_Line="*-enc*" OR Process_Command_Line="*-EncodedCommand*" | stats count by Computer, Creator_Process_Name, Process_Command_Line | sort -count # Splunk — processo filho suspeito de Office (spear-phishing) index=wineventlog EventCode=4688 | where match(Creator_Process_Name, "(?i)(winword|excel|powerpnt|outlook)\.exe") AND match(Process_Name, "(?i)(cmd|powershell|wscript|cscript|mshta|rundll32)\.exe") | table _time, Computer, Creator_Process_Name, Process_Name, Process_Command_Line ``` ## Técnicas Detectadas | ID MITRE | Técnica | Sinal de detecção | |---|---|---| | [[t1059-command-and-scripting-interpreter\|T1059]] | Command and Scripting Interpreter | Criação de processos interpretativos (cmd, powershell, bash) com argumentos suspeitos | | [[t1055-process-injection\|T1055]] | Process Injection | Acesso a memória de processo alvo + API calls (VirtualAllocEx, WriteProcessMemory) | | [[t1003-001-lsass-memory\|T1003.001]] | LSASS Memory | Acesso a `lsass.exe` com direitos `PROCESS_VM_READ` (mimikatz, pypykatz) | | [[t1036-masquerading\|T1036]] | Masquerading | Executáveis com nome de processos legítimos em caminhos não-padrão | | [[t1569-002-service-execution\|T1569.002]] | Service Execution | Criação de processo via `services.exe` com binário em path temporária | ## Gaps de Cobertura Brasil/LATAM **Problemas críticos observados em SOCs brasileiros:** - **Windows Event 4688 sem linha de comando:** A grande maioria dos ambientes Windows corporativos no Brasil habilita auditoria de processo, mas esquece de ativar o registro de linha de comando (`ProcessCreationIncludeCmdLine_Enabled`). Sem isso, o evento registra apenas o nome do executável — perdendo 80% do valor de detecção. - **Sysmon ausente em endpoints de usuário:** Sysmon é amplamente reconhecido mas pouco implantado fora de servidores. Em incidentes de ransomware no Brasil (ex: ataques a hospitais e governo estadual), a ausência de Sysmon impediu reconstrução forense do vetor de entrada. - **Volume de Auditd não gerenciado em Linux:** Regras genéricas de `execve` geram volume proibitivo (centenas de milhares de eventos/hora em servidores web). Sem tuning por usuário, path ou ancestral de processo, os logs são descartados ou não ingeridos no SIEM. - **Falta de correlação pai-filho:** SIEMs configurados apenas para alertas individuais (um evento = um alerta) perdem a narrativa de cadeia de processos que é onde está o sinal real. **Recomendações:** 1. Habilitar `ProcessCreationIncludeCmdLine_Enabled` via GPO em 100% dos endpoints Windows — é gratuito e de alto impacto 2. Implantar Sysmon com configuração baseada no [Sysmon Modular config](https://github.com/olafhartong/sysmon-modular) nos endpoints de maior risco 3. Em Linux, usar regras Auditd com filtro por UID (ex: somente root e service accounts) para reduzir volume sem perder cobertura 4. Implementar detecção de cadeia pai-filho nos casos de uso de maior prevalência no Brasil: Office → script, browser → script, script → net/certutil ## Referências - [[dc0032-process-creation|DC0032 — Process Creation]] — componente principal desta fonte - [[dc0035-process-access|DC0035 — Process Access]] — componente para detecção de injection e dumping - [[dc0021-os-api-execution|DC0021 — OS API Execution]] — componente para chamadas de API suspeitas - [[t1059-command-and-scripting-interpreter|T1059 — Command and Scripting Interpreter]] — técnica mais detectável por esta fonte - [[t1055-process-injection|T1055 — Process Injection]] — técnica de evasão detectável via process access - [[m1049-antivirusantimalware|M1049 — Antivirus/Antimalware]] — mitigação complementar - [[m1040-behavior-prevention-on-endpoint|M1040 — Behavior Prevention on Endpoint]] — mitigação via EDR comportamental - [[ds0008-kernel|DS0008 — Kernel]] — fonte complementar para eventos de kernel associados a processos --- *Fonte: [MITRE ATT&CK — DS0009](https://attack.mitre.org/datasources/DS0009)*