ScriptBlock Logging – Caçar ameaças via PowerShell!

O que é ScriptBlock Logging?

  • ScriptBlock Logging faz o Windows registrar tudo que é executado no PowerShell, incluindo scripts ofuscados ou codificados (EncodedCommand).
  • Ele grava no log o comando decodificado, antes de ser executado.
  • Sem ele, o PowerShell passa comandos silenciosamente, sem deixar rastros detalhados.

Como habilitar ScriptBlock Logging

1. Diretamente via PowerShell (modo fácil)

Execute como administrador:

New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell -Name ScriptBlockLogging -Force<br>Set-ItemProperty -Path 
HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -Name EnableScriptBlockLogging -Value 1

Depois de habilitar

  • Reinicie o PowerShell (ou o sistema inteiro para garantir).
  • Teste rodando um comando (Get-Process, Get-Service, etc).
  • Verifique se surgem eventos EventCode=4104 no log:

Agora qualquer execução de script será gravada no canal:

Microsoft-Windows-PowerShell/Operational

Ative também o “Module Logging” se quiser ser ainda mais completo

New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell -Name ModuleLogging -Force<br>Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging -Name EnableModuleLogging -Value 1

Saber se está ativo:

Get-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging

Conclusão

Habilitar o ScriptBlock Logging é uma das medidas mais importantes para aumentar a visibilidade e a segurança do seu ambiente contra ameaças que abusam do PowerShell. Com isso ativo, você passa a ter rastreabilidade completa dos scripts e comandos executados.

Anúncio

Sobre Daniel Donda 568 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*