کشف فعالیت 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 برای شکار شواهد بیشتر