VulnCity

راهنمای جامع هوک‌های 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 منتشر شده‌اند.