روشهای شناسایی PowerShell Stager در سیستمهای ویندوز
مقوله PowerShell Stager یکی از پرکاربردترین ابزارهای مهاجمان برای آغاز حملات fileless است. Stager معمولاً یک اسکریپت بسیار کوچک است که وظیفه دارد مرحلهی بعدی بدافزار را از اینترنت دریافت و در حافظه اجرا کند. بهدلیل ادغام عمیق PowerShell در ویندوز، تشخیص این رفتارها بدون مکانیزمهای مناسب دشوار است. در ادامه، مهمترین روشهای شناسایی PowerShell Stager را بررسی میکنیم.
۱. بررسی لاگهای PowerShell (Event ID 4104) قویترین ابزار تشخیص، فعالسازی Script Block Logging است. این ویژگی محتوای اسکریپتهای اجراشده را ذخیره میکند.
نشانههای مشکوک در 4104: - وجود دستورات مخرب مانند: IEX, Invoke-Expression - درخواست وب: DownloadString, Invoke-WebRequest, Net.WebClient -و Base64 مشکوک یا رشتههای رمزگذاریشده - مبهمسازی (Obfuscation) مانند شکستن رشتهها با +, "|"
این نشانهها معمولاً نشان میدهد PowerShell در حال دریافت و اجرای کد از منبعی خارجی است.
۲. تحلیل ساختار فرآیندها (Event ID 4688) برای تشخیص Stager، بررسی اینکه چه برنامهای PowerShell را اجرا کرده اهمیت بالایی دارد.
رفتارهای خطرناک: - اجرای PowerShell توسط Word، Excel یا PDF Reader - اجرای PowerShell با پارامترهایی مانند: - وجود-nop (بدون پروفایل) - و-w hidden (اجرای مخفی) - و-enc (اسکریپت Base64 رمزگذاریشده) - اجرای PowerShell بدون تعامل کاربر (روند خودکار پسزمینه)
این رفتارها غالباً با فیشینگ و ماکروهای مخرب همراه هستند.
۳. تحلیل ترافیک شبکه خودPowerShell معمولاً به اینترنت وصل نمیشود، بنابراین هرگونه ارتباط غیرعادی باید بررسی شود.
نشانههای شناسایی: - اتصال به IPهای ناشناس یا خام (بدون دامنه) - ارتباط در پورتهای غیررایج مثل 4443، 8080 - دانلود اسکریپت از URLهای کوتاهشده یا موقت - وUser-Agent غیرعادی یا خالی
ترکیب این نشانهها با لاگهای PowerShell اغلب وجود Stager را اثبات میکند.
۴. تشخیص رفتارهای Fileless در حافظه از آنجا که Stager معمولاً فایل ایجاد نمیکند، باید رفتار حافظه بررسی شود. این کار توسط EDR/XDR/Sysmon انجام میشود.
علائم مهم: - اجرای کد در حافظه با Reflection یا Assembly.Load - ایجاد Named Pipeهای مشکوک - تزریق کد در فرآیندهای قانونی مثل explorer.exe
این نشانهها وجود یک Payload ثانویه را تایید میکنند.
۵. شناسایی مبهمسازی (Obfuscation) مهاجمان تقریباً همیشه stager را مبهمسازی میکنند تا از چشم آنتیویروس فرار کند.
نمونههای رایج: - استفاده از Base64 طولانی - تقسیم کد به قطعات کوچک - جایگزینی نام متغیرها با علامتها یا کاراکترهای تصادفی - استفاده از کاراکترهای Unicode غیرمعمول
وجود این علائم در لاگ 4104 یا در فرآیندهای PowerShell، یکی از قویترین نشانههای حمله است.