راهنمای گام به گام برای درک و تشخیص حمله Windows Process Injection Remote Thread

توضیحات حمله Windows Process Injection Remote Thread

Windows Process Injection Remote Thread یکی از تکنیک‌های تزریق فرآیند است که در آن مهاجم یک فرآیند قانونی را در سیستم هدف پیدا کرده و با ایجاد یک Remote Thread در آن، کد مخرب خود را اجرا می‌کند. این کار باعث می‌شود کد مخرب در حافظه فرآیند قانونی پنهان شده و از شناسایی توسط نرم‌افزارهای امنیتی جلوگیری شود.

اجرای نمایشی (Demonstration)

  1. گام اول: یافتن فرآیند هدف

    ابتدا یک فرآیند قانونی مانند notepad.exe به عنوان هدف انتخاب می‌شود.
  2. گام دوم: باز کردن فرآیند هدف

    فرآیند هدف با استفاده از OpenProcess باز می‌شود.
  3. گام سوم: تخصیص حافظه

    در فرآیند هدف حافظه‌ای برای کد مخرب تخصیص داده می‌شود.
  4. گام چهارم: نوشتن کد مخرب

    کد مخرب به حافظه تخصیص داده شده در فرآیند هدف نوشته می‌شود.
  5. گام پنجم: ایجاد Remote Thread

    یک Remote Thread در فرآیند هدف ایجاد می‌شود که به آدرس کد مخرب اشاره می‌کند.
  6. گام ششم: اجرای کد مخرب

    با ایجاد Remote Thread، کد مخرب در فرآیند هدف اجرا می‌شود.

تشخیص حمله با Splunk (بر اساس منبع)

برای تشخیص حمله Windows Process Injection Remote Thread می‌توان از کوئری‌های زیر در Splunk استفاده کرد (بر اساس منبع):

event_platform=Win host=* EventCode=8 OR EventCode=7
| where (NewThreadId!="" AND SourceImage!="")
| regex NewThreadId !="0x0"
| rex field=SourceImage ".+\\\\(?.*)"
| rex field=TargetImage ".+\\\\(?.*)"
| table _time Computer, SourceImage, TargetImage, ParentProcess, ChildProcess, NewThreadId
            
توضیحات کوئری:
  • این کوئری رویدادهای ایجاد فرآیند (EventCode=8) و ایجاد Thread (EventCode=7) را جستجو می‌کند.
  • با فیلتر کردن رویدادهایی که Thread ID جدید دارند و SourceImage غیر خالی است، فرآیندهایی که در حال ایجاد thread در فرآیندهای دیگر هستند، شناسایی می‌شوند.
  • با استفاده از regex، نام فرآیند والد و فرزند استخراج شده و در جدول نمایش داده می‌شوند.