سناریوی کشف APT29

کشف فعالیت APT29 (Cozy Bear) در شبکه سازمانی با استفاده از Splunk

APT29 که با نام Cozy Bear شناخته می‌شود، گروهی وابسته به دولت روسیه است که در حملات پیشرفته و بلندمدت (Advanced Persistent Threat) علیه سازمان‌های دولتی و شرکت‌های خصوصی فعالیت دارد. این سناریو نشان می‌دهد که چطور یک تحلیلگر امنیت در SOC با استفاده از Splunk موفق به کشف بخشی از این عملیات می‌شود.

مرحله اول: جمع‌آوری داده‌ها (Data Sources)

Splunk در این سناریو داده‌های زیر را ingest کرده است:

Windows Event Logs
DNS Logs
Proxy Logs
Endpoint Protection Logs
Active Directory Logs

 

مرحله دوم: مشاهده رفتار مشکوک اولیه

یک تحلیلگر امنیتی متوجه می‌شود که در داشبورد روزانه، حجم غیرمعمولی از درخواست‌های DNS به دامنه‌های ناشناخته وجود دارد.

SPL Query:
index=dns_logs
| stats count by query
| where like(query, “%.cloudfront.net“) OR like(query, “%.ngrok.io“) OR like(query, “%.appspot.com“)
| sort -count

تحلیل: برخی از دامنه‌ها به شکل تصادفی و نامفهوم هستند:

مثلاً gdyf23klasjdf.cloudfront.net – که نشان‌دهنده C2 Communication با تکنیک DNS Tunneling است.

مرحله سوم: تحلیل رفتار فرآیندها در Sysmon

تحلیلگر سراغ لاگ‌های Sysmon می‌رود تا ببیند چه فرآیندی درخواست DNS را ایجاد کرده:

index=sysmon EventCode=22
| where QueryName="cloudfront.net"
| table _time, host, Image, User, QueryName

خروجی نشان می‌دهد که فرآیند powershell.exe این درخواست را ایجاد کرده است!

مرحله چهارم: بررسی فعالیت مشکوک PowerShell

با بررسی بیشتر، تحلیلگر دستورهای مشکوک در PowerShell را پیدا می‌کند:

index=sysmon EventCode=1 Image="*powershell.exe"
| search CommandLine="*Base64*" OR CommandLine="*iex*" OR CommandLine="*DownloadString*"
| table _time, host, CommandLine, ParentImage

دستور زیر مشاهده می‌شود:

powershell.exe -nop -w hidden -encodedCommand SQBmACgAKABHAGUAdAAtAEwAbwBjAGEAdABpAG8AbgApACkA
این نشان‌دهنده استفاده از تکنیک Encoded PowerShell برای اجرای مخفیانه کدهاست – مشخصه رایج Cozy Bear.

مرحله پنجم: Pivot روی Host قربانی

تحلیلگر از Hostname لاگ‌های قبلی استفاده کرده و pivot می‌کند به سمت تمام فعالیت‌های آن:

index=sysmon host="host123"
| stats count by EventCode, Image, CommandLine

موارد مشکوک دیگر پیدا می‌شوند:
ساخت فایل با پسوند .dat در مسیر %APPDATA%اجرایexe با فایل ناشناختهارتباط با آی‌پی‌های خارجی غیرعادی از پورت‌های غیر استاندارد (مثلاً 443 اما با traffic غیر HTTPS)

 

مرحله ششم: تحلیل lateral movement

بررسی لاگ‌های authentication در AD نشان می‌دهد که همان یوزر به صورت غیرعادی به سرور دیگری RDP زده:

index=wineventlog EventCode=4624 LogonType=10Account_Name=”jsmith” | stats count by dest, _time

تحلیلگر متوجه حرکات جانبی (Lateral Movement) از سیستم آلوده به دیگر سیستم‌ها می‌شود.

 

مرحله هفتم: هشدار، مهار و پاسخ (Alert & Containment)

با استفاده از Splunk Enterprise Security، rule زیر برای شناسایی رفتارهای مشابه تعریف می‌شود:

| tstats summariesonly count FROM datamodel=Endpoint.Processes
WHERE Processes.process_name="powershell.exe" AND Processes.process="*Base64*"
BY _time, host, Processes.user, Processes.process

اقدامات پاسخ شامل:

  • ایزوله‌سازی سیستم قربانی از طریق EDR
  • هشدار به تیم Incident Response
  • بازنشانی رمز عبور کاربر آلوده
  • اجرای Memory Forensics برای شکار شواهد بیشتر