
أداة وحدة تحكم C#/.NET تلتقط وتسجّل وتعيد تشغيل وتشرح بيانات Microsoft Defender Antivirus وEDR ETW في الوقت الفعلي مع التصفية وقاعدة معرفية مدمجة للأحداث.
أداة وحدة تحكم C# / .NET 9 لالتقاط وتسجيل وإعادة تشغيل وتحليل بيانات Microsoft Defender Antivirus & EDR ETW في الوقت الفعلي.
لمختصي RedTeam الراغبين في مراقبة كيفية تفاعل Defender مع أدواتهم الهجومية.
أحداث ETW الملتقطة من:
Microsoft-Antimalware-Engineمُبرمجة بأسلوب Vibe-Coded دفعة واحدة باستخدام Gemini 4 Argon (التخطيط) وGemini 3.8 Flash (التنفيذ) بناءً على docs/antimalware-engine.md.
> 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.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>: مطابقة نص فرعي أو نمط بدل أو تعبير نمطي على جميع حقول المسار/الملف/الصورة/السجل.-p|--process <pattern>: مطابقة اسم العملية أو PID (يُستنتج تلقائيًا من أحداث نظام التشغيل وBmProcess).--event-id <ids> و--exclude-id <ids>: استهداف أو استبعاد معرّفات محددة (مثل --event-id 8,53,63,74).-t|--task <tasks>: التصفية حسب مهمة Defender (مثل -t BehaviorMonitor,SmsScan,SenseRemediation).-s|--search <text>: بحث نصي كامل عبر جميع مفاتيح الحمولة وقيمها وملخصاتها.# 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