لاگ همه‌چیز نیست؛
جایگاه پاورشل در تحلیل امنیتی

در تیم‌های امنیتی، به‌ویژه SOC؛ در Splunk و سایر SIEMها منبع اصلی تحلیل رویدادها هستند. اما باید به دانشجویان یاد داد که لاگ‌ها همیشه داستان کامل را نمی‌گویند.

سه محدودیت رایج لاگ‌ها:

نبود رویداد: اگر لاگینگ پیشاپیش فعال نشده باشد، بسیاری از فعالیت‌ها (مثل اجرای اسکریپت یا تغییرات رجیستری) ثبت نمی‌شوند و شما باید از رد پاها منابع لازم برای تحلیل رو جمع آوری کنی مانند مثال پایان این پست .
تاخیر انتقال: لاگ‌ها اغلب با تأخیر به Splunk می‌رسند، که در واکنش سریع به حمله مشکل‌ساز است.
حذف یا فیلتر شدن: در شبکه‌های بزرگ، به دلیل محدودیت منابع، ارسال همه رویدادها ممکن نیست.

در چنین شرایطی، PowerShell وارد عمل می‌شود: برای جمع‌آوری داده زنده، بررسی سیستم آلوده پیش از نابودی شواهد، و ایجاد مانیتور موقت برای رویدادهایی که امکان لاگ‌گیری دائم ندارند.

در مقیاس بزرگ، اجرای پاورشل از طریق PowerShell Remoting، SCCM یا EDRهای پیشرفته امکان جمع‌آوری هم‌زمان از صدها یا هزاران سیستم را فراهم می‌کند. با اسکریپت استاندارد، اجرای موازی و ذخیره‌سازی منظم، می‌توان این فرآیند را قابل اطمینان کرد.

پیام مهم: لاگ‌ها پایه تحلیل‌اند، ولی تنها منبع نیستند؛ داده زنده از سیستم می‌تواند حلقه گمشده کشف و پاسخ امنیتی باشد.


#آکادمی_روزبه
مرکز تخصصی CISSP




<#
جمع‌آوری داده‌های کلیدی سیستم وقتی لاگ نیست
استفاده: اجرای محلی یا ریموت با PowerShell Remoting
خروجی: فولدر Evidence روی دسکتاپ کاربر اجراکننده
#>

# مسیر ذخیره‌سازی شواهد
$EvidenceDir = "$env:USERPROFILE\Desktop\Evidence"
New-Item -ItemType Directory -Force -Path $EvidenceDir | Out-Null

# ۱. پردازش‌ها و ماژول‌ها
Get-Process |
Select-Object Name, Id, StartTime, Path |
Export-Csv "$EvidenceDir\Processes.csv" -NoTypeInformation

# ۲. اتصالات شبکه
Get-NetTCPConnection |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State |
Export-Csv "$EvidenceDir\NetworkConnections.csv" -NoTypeInformation

# ۳. کلیدهای رجیستری حساس (نمونه Autorun)
Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" |
Export-Clixml "$EvidenceDir\Autoruns_HKLM.xml"

Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" |
Export-Clixml "$EvidenceDir\Autoruns_HKCU.xml"

# ۴. Prefetch فایل‌ها (اگر فعال باشد)
$PrefetchDir = "$env:SystemRoot\Prefetch"
If (Test-Path $PrefetchDir) {
Copy-Item "$PrefetchDir\*" -Destination "$EvidenceDir\Prefetch" -Recurse -Force
}


# ۵.و Amcache (لیست برنامه‌های اجراشده)
$AmcachePath = "$env:SystemRoot\AppCompat\Programs\Amcache.hve"
If (Test-Path $AmcachePath) {
Copy-Item $AmcachePath -Destination "$EvidenceDir\Amcache.hve" -Force
}

Write-Output "✅ Collect completed. Evidence saved at: $EvidenceDir"

Comments

Be the first to add a comment