راهنمای جامع هوکهای EDR و دورزدن آنها
نویسنده: یاسین عابدینی · دسته: RedTeam · تاریخ انتشار: ۷۸۳/۱۱/۱۹
Edr Hook Syscall
مخزن اطلاعات EDRها
این مخزن شامل اطلاعات ارزشمندی درباره EDRها (سیستمهای تشخیص و پاسخ نقطه پایانی) است که در تمرینات تیم قرمز کاربرد دارد.
مخزن شامل چندین proof-of-concept برای دور زدن هوکهای EDR است.
ابزارهای اصلی:
- patch_syscall_dynamically64.c: به صورت داینامیک شناسه syscall را بدون نیاز به بررسی نسخه سیستم عامل استخراج میکند و با استفاده از CreateFileMapping و MapViewOfFile کد زنده را patch میکند.
- patch_syscall64.c: شناسه syscall هاردکد شده را در DLL زنده patch کرده و سپس به حالت اولیه برمیگرداند.
- get_syscall64.c: ابزاری برای استخراج شناسه syscall مرتبط با APIهای ویندوز.
- unhookIAT.c: هوکهای نصبشده توسط EDR/AV/بدافزار در Import Address Table را شناسایی و با آدرسهای اصلی جایگزین میکند.
لیست هوکهای EDR:
مخزن شامل لیست کاملی از APIهای هوکشده ntdll.dll توسط EDRهای مختلف است:
- CrowdStrike (نسخه جدید از kernel callback استفاده میکند)
- SentinelOne
- Cylance
- Sophos
- Attivo Deception
- CarbonBlack
- Symantec
- DeepInstinct
- McAfee
- CheckPoint SandBlast
- ESET
- TrendMicro
- Cortex XDR (هوکهای kernel mode که از user mode قابل unhook نیستند)
- Bitdefender
نحوه مشارکت:
برای کمک به پروژه، کافی است دستور زیر را اجرا کنید:
hook_finder64.exe C:\windows\system32\ntdll.dll
و خروجی را ارسال کنید. لیستها در فرمتهای Excel و Markdown نیز در دسترس هستند.
این ابزارها برای محققان امنیتی و تیمهای قرمز که نیاز به درک و دور زدن مکانیزمهای نظارتی EDR دارند، بسیار مفید هستند. تمام کدها و لیستها به صورت متنباز در GitHub منتشر شدهاند.