بدافزار Squid Loader برای اولینبار در اواخر آوریل ۲۰۲۴ مشاهده شده است و عمدتاً از طریق ایمیلهای فیشینگ توزیع میشود. بیشتر قربانیان این بدافزار کاربران چینی بودند.
مرحله اول این بدافزار یک Loader است که از روشهای مختلف و بسیار پیچیده برای جلوگیری از Static & Dynamic Analysis خود استفاده میکند این Loader برای بارگذاری مرحله دوم روی سیستم قربانی استفاده میشود و به دلیل اینکه این بدافزار برای بار اول شناسایی شده نام آن را باتوجهبه ویژگیها و روشهای استفاده شده برای جلوگیری از تشخیص و تجزیه تحلیل Squid Loader گذاشتند. در مرحله دوم این بدافزار یک Agent از Cobalt Strike است که برای سختتر شدن تجزیه وتحلیل دست خوش تغییرات شده است.
تمام Squid Loader هایی که با email های فیشینگ فرستاده شده بود حاوی نام شرکتهای چینی بودند؛ مانند معرفی روترهای صنعتی هواوی، China Mobile و شرکتهای دیگر که برای فریب کارمندان استفاده میشود. Email های ارسالی حاوی یک فایل بودند که آیکون Word داشت؛ ولی در واقع یک فایل باینری بود. Loader پس از اجراشدن توسط قربانی با نشاندادن File Format Error قربانی را گمراه میکرد و سپس خود را در یک مسیر دیگر کپی میکرد و بار دیگر در مسیر جدید اجرا میشد (تنها در صورتی این کار را انجام نمیداد که در مسیر موردنظر قرار گرفته بود). بهعنوانمثال (Back File/install.exe) که این یک اقدام عمدی بود تا Loader در مسیر معین و با نام غیر مشکوک اجرا شود.
Squid Loader از روشهای مختلفی برای جلوگیری از Static & Dynamic Analysis استفاده میکرد که به برخی از آنها اشاره میکنیم.
استفاده از برخی Code ها مانند تابعهای بیپایان و تابعهایی که اعداد تصادفی و بیارزش تولید میکردند، این تابعها قرار نبود اجرا شوند و بدافزار قبل از رسیدن به این تابعها Jump میکرد. استفاده از Encrypted Code که بدافزار بهصورت پویا تابعهای بعدی مورداستفاده را Decrypt میکرد. استفاده از In-Stack Encrypted String کلمات کلیدی که میتوانستند بهراحتی Malicious بودن Process را افشا کنند که آنها را با روشهای مختلفی مانند XOR بهصورت Encrypt درآورده و در صورت نیاز Decrypt کرده و متن و کلید را در Stack نگه داشته و پس از استفاده پاک میکرد. با استفاده از Jump ها و Call های مختلف به نقاط مختلف کد رفته تا کار Dynamic Analysis را سختتر کند.
تمام Sample های دریافت شده از C2 Server یک نسخه از Cobalt Strike Agent بودند که یک سری تغییرات برای جلوگیری از آنالیزشدن داشتند مانند CGF Obfuscation ولی روشی برای Anti-vm & Anti-debug نداشتند؛ زیرا انتظار میرفت که قبل از اجراشدن مرحله دوم Loader قرارگیری در Debugger یا VM را چک کرده باشد.
در آخر Loader یک HTTPS GET Request به /api/v1/pods میفرستد اگر سرور جواب ندهد و یا جواب موردنظر Loader را ندهد Loader در یک لوپ بینهایت C2 Server را پینگ میکند واگر سرور جواب درست را برگرداند یک HTTP POST request /api/v۱/pods میفرستد و در HTTP POST Body یک Sample را به صورت Encoded شده دریافت میکند. پس از دریافت Sample ان را به صورت Function به Function می گیرد Decode می کند و در Stack قرار می دهد و پس از اجراشدن Sample یک سری دیتاها را از سیستمعامل میگیرد و برای C2 Server ارسال میکند.
راه هایی برای کاهش این خطر پذیری
- بلاک کردن Spam Email ها
- عدم دانلود و اجراکردن فایلهای مشکوک
- عدم کلیک بر روی لینکهای ناشناس
روش های تشخیص این حمله
در صورت استفاده از سیستم شناسایی و پاسخ در نقاط پایانی هوپان (EDR) که یکی از اساسی ترین ماژول های راهکار گسترده شناسایی و پاسخ نخجیرپان (XDR) میباشد، تحلیل فعالیت های مرتبط و هشدارهای زیر مشاهده می گردد:
- نظارت بر پروسسهای مشکوک در حال اجرا
- نظارت بر ترافیک خروجی از شبکه
- نظارت بر ارتباط پروسسها با C2 Server
این تهدید از تکنیک های زیر که در جدول مایتر اتک موجود می باشد استفاده نموده است.
Reconnaissance | Initial Access | Defense Evasion | Command and Control |
Active Scanning | Content Injection | Abuse Elevation Control Mechanism | Application Layer Protocol |
Gather Victim Host Information | Drive-by Compromise | Access Token Manipulation | Communication Through Removable Media |
Email Addresses | Exploit Public-Facing Application | BITS Jobs | Content Injection |
Employee Names | External Remote Services | Build Image on Host | Data Encoding |
Gather Victim Network Information | Hardware Additions | Debugger Evasion | Data Obfuscation |
Gather Victim Org Information | Spearphishing Attachment | Deobfuscate/Decode Files or Information | Dynamic Resolution |
Phishing for Information | Replication Through Removable Media | Deploy Container | Symmetric Cryptography |
Search Closed Sources | Supply Chain Compromise | Direct Volume Access | Fallback Channels |
Search Open Technical Databases | Trusted Relationship | Domain or Tenant Policy Modification | Hide Infrastructure |
Search Open Websites/Domains | Valid Accounts | Execution Guardrails | Ingress Tool Transfer |
Search Victim-Owned Websites | Exploitation for Defense Evasion | Multi-Stage Channels | |
File and Directory Permissions Modification | Non-Application Layer Protocol | ||
Hide Artifacts | Non-Standard Port | ||
Hijack Execution Flow | Protocol Tunneling | ||
Impair Defenses | Proxy | ||
Impersonation | Remote Access Software | ||
Indicator Removal | Traffic Signaling | ||
Indirect Command Execution | Web Service | ||
Match Legitimate Name or Location | |||
Masquerade File Type | |||
Modify Authentication Process | |||
Modify Cloud Compute Infrastructure | |||
Modify Registry | |||
Modify System Image | |||
Network Boundary Bridging | |||
Obfuscated Files or Information | |||
Plist File Modification | |||
Pre-OS Boot | |||
Process Injection | |||
Reflective Code Loading | |||
Rogue Domain Controller | |||
Rootkit | |||
Subvert Trust Controls | |||
System Binary Proxy Execution | |||
System Script Proxy Execution | |||
Template Injection | |||
Traffic Signaling | |||
Trusted Developer Utilities Proxy Execution | |||
Unused/Unsupported Cloud Regions | |||
Use Alternate Authentication Material | |||
Valid Accounts | |||
Virtualization/Sandbox Evasion | |||
Weaken Encryption | |||
XSL Script Processing | |||