// Nachschlagewerk

Event-IDs im Kanal PowerShell

Event-IDs aus den PowerShell-Logs (Microsoft-Windows-PowerShell/Operational und Windows PowerShell): Script Block Logging, Module Logging und Engine-Starts. Die Grundlage zur Erkennung von verschleiertem und dateilosem PowerShell-Code.

PowerShell ist das Lieblingswerkzeug vieler Angreifer, weil es auf jedem Windows-System vorhanden ist, vollen Zugriff auf .NET und die Windows-API bietet und Code direkt im Speicher ausführen kann. Die drei Events ergänzen sich: Event 4104 zeigt den ausgeführten Code im Klartext, auch wenn er verschleiert war. Event 4103 zeigt die tatsächlich aufgerufenen Befehle mit ihren Parameterwerten. Event 400 protokolliert jeden Start der Engine samt Version und Kommandozeile und deckt damit Downgrade-Angriffe auf PowerShell 2.0 auf.

Für eine vollständige Abdeckung aktivierst du per Gruppenrichtlinie Script Block Logging und Module Logging, leitest beide Logs an dein SIEM weiter und entfernst PowerShell 2.0 von allen Systemen. Zusammen mit den Prozess-Events 4688 oder Sysmon Event 1 siehst du dann, wer PowerShell gestartet hat und was darin passiert ist.

// Nach Log-Kanal

// Nach MITRE-Taktik

ID Bedeutung Kanal Relevanz MITRE
400 PowerShell-Engine gestartet PowerShell mittel T1059.001, T1562.010
800 PowerShell-Pipeline ausgeführt PowerShell mittel T1059.001, T1027
4103 PowerShell-Modulprotokollierung PowerShell mittel T1059.001, T1087.002, T1562.001
4104 PowerShell-Skriptblock protokolliert PowerShell hoch T1059.001, T1027, T1562.001, T1087.002