
C#/.NET कंसोल टूल जो फ़िल्टरिंग और एक अंतर्निहित इवेंट नॉलेज बेस के साथ Microsoft Defender Antivirus और EDR ETW टेलीमेट्री को वास्तविक समय में कैप्चर, रिकॉर्ड, रीप्ले और समझाता है।
Microsoft Defender Antivirus और EDR ETW टेलीमेट्री को वास्तविक समय में कैप्चर, रिकॉर्ड, रीप्ले और विश्लेषण करने के लिए एक C# / .NET 9 कंसोल टूल।
उन RedTeamers के लिए जो यह देखना चाहते हैं कि Defender अपने offensive टूलिंग पर कैसे प्रतिक्रिया देता है।
ETW इवेंट्स यहाँ से कैप्चर किए गए:
Microsoft-Antimalware-Enginedocs/antimalware-engine.md के आधार पर Gemini 4 Argon (plan) और Gemini 3.8 Flash (implementation) के साथ Vibe-Coded one-shot।
> dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- capture -p 32456
09:43:06.443 [MsMpEng:32456] StreamScanRequestStartEvent (Streamscanrequest) ID:5.1
↳ Id=195974179 Path=\Device\HarddiskVolume3\Users\dobin\AppData\Roaming\discord\sentry\scope_v3.json Process=\Device\HarddiskVolume3\Users\dobin\AppData\Local\Discord\app-1.0.9261\Discord.exe Reason=5 ThreadTime=01/01/1601 01:00:07 PID=31264
ℹ Starts a scan request for streamed content, with path and process context.
09:43:06.443 [MsMpEng:32456] ⏭ SkippedFileEvent (Skippedfile) ID:7.0
↳ Path=\Device\HarddiskVolume3\Users\dobin\AppData\Roaming\discord\sentry\scope_v3.json Reason=Log skip
ℹ Records a skipped file and the associated reason.
09:43:06.443 [MsMpEng:32456] StreamScanRequestEndEvent (Streamscanrequest) ID:6.1
↳ Id=195974179 Path=\Device\HarddiskVolume3\Users\dobin\AppData\Roaming\discord\sentry\scope_v3.json Process=\Device\HarddiskVolume3\Users\dobin\AppData\Local\Discord\app-1.0.9261\Discord.exe Reason=5 ThreadTime=01/01/1601 01:00:07 PID=31264
ℹ Ends the streamed-content scan request.
09:43:06.472 [MsMpEng:32456] BmNotificationHandleStopEvent (BehaviorMonitoring) ID:112.0
↳ PID=17092 AttrId=16435 AttrSeq=0 AttrSubset=0 MatchedThreatsNumber=0 IsMultiProcMatch=False IsMultiProcDetection=False
ℹ Ends notification handling and reports match-related counts and flags.
09:43:06.472 [MsMpEng:32456] BmEtwEvent (BehaviorMonitoring) ID:60.0
↳ PID=43940 Channel=ThreatIntel EventId=19
ℹ ETW-related activity with channel and event identifiers.
09:43:06.472 [MsMpEng:32456] BmNotificationHandleStartEvent (BehaviorMonitoring) ID:111.0
↳ PID=17092 AttrId=16435 AttrSeq=0 AttrSubset=0
TraceEvent का उपयोग करके Defender Antivirus और EDR इंजन द्वारा उत्सर्जित सभी इवेंट्स को कैप्चर करता है.jsonl (NDJSON) फ़ाइलों में रिकॉर्ड करें.jsonl ट्रेस को समान फ़िल्टरिंग, फ़ॉर्मेटिंग और स्वचालित संवर्धन के साथ रीप्ले करें।Microsoft-Antimalware-Engine को कैप्चर करने के लिए एडमिनिस्ट्रेटर विशेषाधिकार आवश्यक हैं।
सभी Defender लॉग संदेशों को कैप्चर करें और कंसोल पर प्रिंट करें:
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- capture
सभी प्रक्रियाओं का लॉग फ़ाइल में कैप्चर करें जिनके प्रक्रिया नाम में "beacon" शामिल है (जैसे beacon_1.exe):
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- capture -o trace.jsonl -p beacon
अपने C2 बीकन का लॉग फ़ाइल में कैप्चर करें जिसका pid 666 है:
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- capture -o trace.jsonl -p 666
फ़िल्टरिंग:
--path <pattern>: सभी path/file/image/registry फ़ील्ड पर सबस्ट्रिंग, वाइल्डकार्ड, या regex मिलान।-p|--process <pattern>: प्रोसेस नाम या PID का मिलान करें (OS और BmProcess इवेंट्स से स्वतः हल किया गया)।--event-id <ids> & --exclude-id <ids>: विशिष्ट ID को लक्षित करें या बाहर करें (जैसे --event-id 8,53,63,74)।-t|--task <tasks>: Defender टास्क द्वारा फ़िल्टर करें (जैसे -t BehaviorMonitor,SmsScan,SenseRemediation)।-s|--search <text>: सभी payload कुंजियों, मानों और सारांशों में पूर्ण-पाठ खोज।# Replay all events with colored output and inline explanations
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- replay trace.jsonl
# Replay with path and task filtering
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- replay trace.jsonl --path mimikatz -t BehaviorMonitor
# Hide explanations for compact view
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- replay trace.jsonl --no-help
explain)# Look up explanation, opcode, and fields for SenseRemediation (Event 74)
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- explain 74
# Search for any event mentioning "Tainting" or "RemoteThread"
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- explain Tainting
# List all tasks
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- explain --tasks
# List all enumerated value maps (SMS Scan results, stop reasons, etc.)
dotnet run --project src/DefenderObserver/DefenderObserver.csproj -- explain --enums