# DC0029 — Script Execution ## Descrição O componente de dados **Script Execution** registra a execução de arquivos de texto contendo código interpretável — incluindo scripts PowerShell, VBScript, JScript, Python, Bash, batch files (`.bat`, `.cmd`) e outros interpretadores suportados pelo sistema operacional. Este componente é um dos mais importantes para detecção de ameaças, pois adversários utilizam scripts extensivamente em todas as fases de ataque: desde execução inicial até persistência, movimentação lateral e exfiltração. A execução de scripts é capturada principalmente por mecanismos de logging nativo do sistema operacional. No Windows, o **PowerShell ScriptBlock Logging** (Event ID 4104) é a fonte mais rica, registrando o conteúdo completo de cada bloco de script antes da execução, inclusive após deobfuscação em tempo de execução. O **Windows Script Host** e engines de script do Office também geram telemetria relevante quando configurados. Adversários frequentemente utilizam técnicas de ofuscação — como codificação Base64, fragmentação de strings, download de payloads via `Invoke-WebRequest` ou `IEX (New-Object Net.WebClient).DownloadString()` — para evadir detecções baseadas em assinatura. O logging de ScriptBlock captura o script já deobfuscado, tornando-o extremamente valioso para análise forense e detecção comportamental. No contexto LATAM, famílias de malware como [[mekotio]] e [[s0531-grandoreiro]] (RATs bancários brasileiros) são frequentemente entregues via scripts VBScript ou PowerShell embutidos em documentos Office, executando uma cadeia de download e instalação de múltiplos estágios. ## Telemetria | Fonte | Event ID | Descrição | |-------|----------|-----------| | PowerShell/Operational | 4104 | ScriptBlock Logging — conteúdo completo do script | | PowerShell/Operational | 4103 | Module Logging — chamadas de módulo e parâmetros | | Windows Script Host | N/A | Logs de wscript.exe / cscript.exe via Process Creation | | Sysmon | 1 | Process Creation com linha de comando completa | | Security | 4688 | Criação de processo com CommandLine (requer auditoria) | | AMSI | N/A | Anti-Malware Scan Interface — conteúdo pré-execução | ## Queries de Detecção ### KQL — Microsoft Sentinel ```kql // Detecta PowerShell com padrões de download e execução em memória DeviceProcessEvents | where FileName in~ ("powershell.exe", "pwsh.exe") | where ProcessCommandLine has_any ( "DownloadString", "IEX", "Invoke-Expression", "EncodedCommand", "FromBase64String", "bypass" ) | project Timestamp, DeviceName, AccountName, ProcessCommandLine, InitiatingProcessFileName | order by Timestamp desc ``` ### SPL — Splunk ```spl index=wineventlog EventCode=4104 source="Microsoft-Windows-PowerShell/Operational" | where match(ScriptBlockText, "(?i)(IEX|Invoke-Expression|DownloadString|FromBase64String|bypass)") | stats count by host, UserID, ScriptBlockText | sort -count ``` ## Técnicas Relacionadas - [[t1059-command-and-scripting-interpreter|T1059-command-and-scripting-interpreter]] — Execução de scripts via PowerShell, Bash, Python, VBScript - [[t1027-obfuscated-files-or-information|T1027-obfuscated-files-or-information]] — Ofuscação de scripts para evasão de defesas - [[t1204-user-execution|T1204-user-execution]] — Usuário executando scripts maliciosos (phishing) - [[t1566-phishing|T1566-phishing]] — Entrega de scripts via anexos de e-mail maliciosos - [[t1105-ingress-tool-transfer|T1105-ingress-tool-transfer]] — Scripts que baixam cargas adicionais > [!tip] ScriptBlock Logging é Essencial > Certifique-se de que o PowerShell ScriptBlock Logging (Event ID 4104) está habilitado via GPO em todos os endpoints. Sem ele, a detecção de ameaças baseadas em PowerShell fica gravemente comprometida. Combine com AMSI para cobertura de outros interpretadores. ## Contexto LATAM > [!warning] Relevância para SOCs Brasileiros > Scripts PowerShell e VBScript são o principal vetor de entrega de malware bancário no Brasil. Campanhas direcionadas a clientes de grandes bancos brasileiros usam scripts ofuscados embutidos em arquivos `.lnk`, `.iso` ou documentos Office com macros para executar downloaders de múltiplos estágios. A habilitação do PowerShell ScriptBlock Logging e a integração com SIEM são contramedidas prioritárias para SOCs do setor financeiro brasileiro ([[financial]]). ## Referências - [MITRE ATT&CK — DC0029: Script Execution](https://attack.mitre.org/datasources/DS0012/#Script%20Execution) - [Microsoft Docs — PowerShell Script Block Logging](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging_windows) - [AMSI — Anti-Malware Scan Interface](https://docs.microsoft.com/en-us/windows/win32/amsi/antimalware-scan-interface-portal)