Overview
Continuing from Part 1 where we explored Get-WinEvent
fundamentals, this article demonstrates 10 practical PowerShell techniques for threat detection using Windows Event Logs. With evolving attack vectors, these methods help identify security incidents while adapting to modern environments.
Critical Event Detection
Failed Logon Monitoring (Event ID 4625)
Excessive failed logon attempts in Security logs may indicate brute force attacks. Use this optimized query with AI-powered anomaly detection thresholds:
<POWERSHELL>$failedLogons = Get-WinEvent -FilterHashtable @{ LogName='Security' ID=4625 StartTime=(Get-Date).AddHours(-24)} $failedLogons.Count # Quantify attack attempts
Privileged Access Patterns
Monitor these key event IDs for suspicious activity:
- 4624: Successful logon
- 4672: Privilege assignment
- 4688: Process creation
- 4768: Kerberos TGT requests
<POWERSHELL>Get-WinEvent -FilterHashtable @{ LogName='Security' ID=@(4624,4672,4688,4768) Level=0,1 # Critical/Error only}
Advanced Threat Indicators
1. AppLocker Bypass Attempts (Event ID 8004)
<POWERSHELL>Get-WinEvent -LogName 'Microsoft-Windows-AppLocker/EXE and DLL' -ID 8004
2. Unauthorized Service Creation (Event ID 7045)
<POWERSHELL>Get-WinEvent -LogName 'System' -ID 7045 | Where-Object {$_.ProviderName -ne 'svchost'}
3. Suspicious BITS Transfers (Event ID 59)
<POWERSHELL>Get-WinEvent -LogName 'Microsoft-Windows-Bits-Client/Operational' -ID 59 | Where-Object {$_.Message -match '\.(exe|dll|ps1)$'}
Enhanced Detection Techniques
XML-Based Filtering with XPath
For precise username tracking without slow text searches:
<POWERSHELL>Get-WinEvent -LogName 'Security' -FilterXPath "*[EventData[Data[@Name='TargetUserName']='assetmgr']]"
Base64 Payload Detection
Identify obfuscated commands using regex pattern matching:
<POWERSHELL>Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' -ID 4104 | Where-Object {$_.Message -match '[A-Za-z0-9+/=]{200}'}
Modern Defense Strategies
- Behavioral Baselines:
Establish normal patterns using machine learning models before hunting anomalies - Real-time Monitoring:
Combine with Azure Sentinel or Splunk for live threat detection - Automated Response:
Trigger remediation workflows when critical patterns are detected
Next Steps
In our upcoming installment, we’ll explore:
- Automated event log parsing with ML models
- Cloud-integrated threat hunting
- Advanced correlation techniques
Pro Tip: Combine these methods with MITRE ATT&CK framework mapping for comprehensive defense strategies.
About the Author:
Cybersecurity expert specializing in threat detection and incident response. Certified in advanced penetration testing and digital forensics.
← Return to PowerShell Security Series