ADVERTISEMENT / SPONSORED RESERVATION (728x90)
#4104
CriticalSuccess AuditPowerShell
Script Block Logging: Full script block execution captured
// EVENT DEFINITION:
PowerShell Script Block Logging recorded the complete, un-obfuscated code block of an executing script.
// DETAILED TELEMETRY & CONTEXT:
Event ID 4104 (`Microsoft-Windows-PowerShell/Operational`) is the single most valuable event for hunting PowerShell attacks. When enabled, PowerShell automatically captures and logs the full text of every script block (`ScriptBlockText`), including scripts executed from memory, base64 payloads after de-obfuscation (`-EncodedCommand`), and interactive commands. Even when not explicitly enabled via GPO, PowerShell 5.1+ automatically logs `4104` events whenever it detects suspicious API calls or keywords (`Script Block Auto-Log`).
Failure Reason / Root Cause Analysis
Execution of PowerShell script block (`ScriptBlock ID` & `ScriptBlockText` captured).
Operational Metadata & Applicability
MITRE ATT&CK Framework Alignment
T1059.001
Command and Scripting Interpreter: PowerShellTactic: Execution
T1027
Obfuscated Files or InformationTactic: Defense Evasion
Mitigation Playbook & Recommended SOC Actions
- •Analyze `ScriptBlockText` for suspicious indicators (`Mimikatz`, `IEX`, `Net.WebClient`, `System.Reflection.Assembly`, `VirtualAlloc`, `AmsiScanBuffer`).
- •Ensure Script Block Logging (`Turn on PowerShell Script Block Logging`) is enforced via Group Policy across all endpoints.
Representative Windows Event XML Schema
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
<EventID>4104</EventID>
<Version>0</Version>
<Level>0</Level>
<Task>12544</Task>
<Opcode>0</Opcode>
<Keywords>0x8020000000000000</Keywords>
<TimeCreated SystemTime="2026-07-17T09:54:44.250Z" />
<EventRecordID>1048576</EventRecordID>
<Correlation />
<Execution ProcessID="612" ThreadID="1024" />
<Channel>Security</Channel>
<Computer>DC01.enterprise.internal</Computer>
<Security />
</System>
<EventData>
<Data Name="SubjectUserSid">S-1-5-18</Data>
<Data Name="SubjectUserName">SYSTEM</Data>
<Data Name="SubjectDomainName">NT AUTHORITY</Data>
<Data Name="SubjectLogonId">0x3e7</Data>
<!-- Event telemetry fields specific to Script Block Logging: Full script block execution captured -->
</EventData>
</Event>Correlated / Related Security Event IDs
Need to export or view this event without styling/layout wrappers?
Open Simple Plain Detail Page →ADVERTISEMENT / SPONSORED RESERVATION (728x90)