🚨بررسی APIها و ابزارهای پرکاربرد در حملات Fileless و نحوه پایش آن‌ها در SOC
✍️روزبه نوروزی

حملات Fileless بدافزارهایی هستند که بدون ایجاد فایل روی دیسک، کد مخرب را مستقیماً در حافظه اجرا می‌کنند. این نوع حملات معمولاً از PowerShell، WMI، اسکریپت‌های ماکرو، و فرآیندهای معتبر ویندوز سوءاستفاده می‌کنند.

در اینجا لیستی از APIها و ابزارهای مهم مورد استفاده در این حملات همراه با روش‌های پایش آنها در SOC ارائه شده است.
📌این APIها و ابزارهای کلیدی در حملات Fileless
1️⃣ اجرای کد در حافظه

🔹 VirtualAlloc / VirtualAllocEx / VirtualProtect / VirtualProtectEx
🔹 NtAllocateVirtualMemory / NtProtectVirtualMemory
🔹 WriteProcessMemory / ReadProcessMemory
🔹 RtlMoveMemory / memcpy
🔹 CreateRemoteThread / NtCreateThreadEx / QueueUserAPC

✅ چطور پایش کنیم؟
🔍 در ETW (Event Tracing for Windows) و Sysmon می‌توان Event ID 10 (Process Access) و Event ID 8 (Process Injection) را بررسی کرد.
🔍 به تغییر مجوزهای حافظه از RW به RX مشکوک باشید.
🔍 نظارت بر VirtualAlloc همراه با CreateThread در یک فرآیند خاص (مثل explorer.exe).
2️⃣ اجرای کد از طریق پردازش‌های دیگر (Process Injection)

🔹 CreateRemoteThread → تزریق و اجرای کد در فرآیند دیگر
🔹 NtCreateThreadEx → روش مخفی‌تر برای ایجاد ترد
🔹 QueueUserAPC → اجرای کد هنگام اجرای ترد هدف
🔹 SetThreadContext / GetThreadContext → تغییر جریان اجرای یک ترد

✅ چطور پایش کنیم؟
🔍 Sysmon Event ID 8
را برای Process Injection بررسی کنید.
🔍 هرگونه اجرای غیرعادی CreateRemoteThread را در پراسس هایی مثل lsass.exe یا explorer.exe بررسی کنید.
🔍 محصولان EDRهایی مانند سیمنتک و CrowdStrike، Microsoft Defender for Endpoint، SentinelOne قابلیت تشخیص Injection را دارند.
3️⃣ سوءاستفاده از PowerShell و WMI

🔹استفاده از powershell.exe -EncodedCommand → اجرای اسکریپت رمزگذاری‌شده
🔹و wmic process call create → اجرای فرآیند با WMI
🔹و Invoke-Expression (IEX) → دانلود و اجرای کد مخرب
🔹و mshta.exe → اجرای کد مخرب HTML از راه دور

✅ چطور پایش کنیم؟
🔍 Sysmon Event ID 1
(Process Creation) را برای powershell.exe بررسی کنید.
🔍 PowerShell Logging
را فعال کنید (Script Block Logging و Module Logging).
🔍 درخواست‌های WMI را در Event ID 5861 و Event ID 5857 نظارت کنید.
🔍 Microsoft Defender ASR (Attack Surface Reduction)
را برای بلاک کردن WMIC و mshta.exe فعال کنید.
4️⃣ جایگزینی و هالویینگ پراسس(Process Hollowing)

🔹 NtUnmapViewOfSection → حذف کد اصلی یک فرآیند
🔹 ZwWriteVirtualMemory / WriteProcessMemory → تزریق کد جدید
🔹 NtResumeThread → اجرای کد جدید

✅ چطور پایش کنیم؟
🔍 Sysmon Event ID 10
را برای دسترسی غیرعادی به حافظه فرآیندها بررسی کنید.
🔍 تغییر مسیر اجرای فرآیند در Event ID 25 (Process Tampering) را بررسی کنید.
🔍 بررسی کنید که آیا فرآیندها مانند svchost.exe یا explorer.exe به ناگهان کد جدیدی دریافت کرده‌اند.
5️⃣ اجرای کد بدون ایجاد فایل (LOLbins)

🔹 rundll32.exe → اجرای DLLهای مخرب
🔹 regsvr32.exe /s /u /i:url → دانلود و اجرای DLL از اینترنت
🔹 msiexec.exe /q /i <url> → دانلود و اجرای بدافزار
🔹 certutil.exe -urlcache -split -f <url> → دانلود بدافزار
🔹 bitsadmin /transfer <url> → دانلود و اجرای مخفیانه بدافزار

✅ چطور پایش کنیم؟
🔍 اجرای این ابزارها با آرگومان‌های غیرعادی را در Sysmon Event ID 1 بررسی کنید.
🔍 از Application Control Policies (AppLocker) برای محدود کردن این ابزارها استفاده کنید.
🔍این Attack Surface Reduction (ASR) را در Microsoft Defender فعال کنید.
🎯 استراتژی کلی پایش حملات Fileless در SOC
✅ 1. فعال کردن Sysmon و ETW

اینSysmon Event IDs مهم:
ID 1 (Process Creation) → اجرای پردازش‌های مشکوک
ID 3 (Network Connection) → ارتباطات غیرعادی
ID 8 (Process Injection) → تزریق کد به فرآیندها
ID 10 (Process Access) → تغییرات در حافظه
ID 25 (Process Tampering) → تغییرات در فرآیندهای در حال اجرا

✅ 2. فعال کردن Windows Defender و EDR

Microsoft Defender ASR Rules:
بلاک کردن اجرای PSExec و WMI
جلوگیری از اجرای اسکریپت‌های رمزگذاری‌شده در PowerShell
محدود کردن mshta.exe و regsvr32.exe

✅ 3. استفاده از Threat Hunting در Splunk و SIEM

پایش VirtualAlloc همراه با CreateThread در یک فرآیند
جستجوی powershell.exe -EncodedCommand در لاگ‌ها
بررسی ارتباطات غیرعادی با Sysmon Event ID 3
یافتن جابجایی فرآیندها (NtUnmapViewOfSection)

#آکادمی_روزبه

🚀 نتیجه‌گیری🎖👇👇

Comments

Be the first to add a comment