بدافزار Phexia، یک Backdoor و Infostealer ماژولار برای سیستمعامل macOS است که توسط چندین عامل تهدید (Threat Actor) مورد استفاده قرار میگیرد. این بدافزار از طریق متدهای فریبنده ClickFix و تکنیکهای پیشرفته برای پنهان کردن ارتباطات خود با سرورهای فرماندهی و کنترل (C2) بهره میبرد.
مکانیسم سرایت و استقرار
قربانیان از طریق دامنههای Typosquatted یا لیستهای خرید جعلی به صفحات تایید هویت دروغین هدایت میشوند. در این صفحات، یک دستور به کلیپبورد کاربر کپی شده و از او خواسته میشود تا آن را در Terminal اجرا کند. این دستور یک اسکریپت شل (مانند update.sh یا clear-cache.sh) را مستقیماً به bash منتقل میکند.
سپس این اسکریپت یک Dropper را از طریق osascript اجرا میکند که یک LaunchAgent را در پوشه Library کاربر ایجاد مینماید. این LaunchAgent با تنظیمات KeepAlive و RunAtLoad پیکربندی شده و Loader بدافزار به صورت Base64-encoded در داخل فایل plist قرار میگیرد.
تکنیک EtherHiding و زیرساخت C2
یکی از ویژگیهای برجسته Phexia، استفاده از تکنیکی به نام EtherHiding است. در نسخههای جدید، این بدافزار آدرس C2 خود را از یک Smart Contract در شبکه Polygon دریافت میکند. Loader بدافزار با ارسال یک درخواست eth_call به قرارداد هوشمند مشخص، آدرس سرور را استخراج میکند.
این روش باعث میشود که حتی در صورت شناسایی و تخریب دامنههای C2، عامل تهدید بتواند به راحتی با بهروزرسانی قرارداد هوشمند، زیرساخت خود را تغییر دهد، زیرا قراردادهای بلاکچین قابل حذف یا مسدودسازی توسط تحلیلگران امنیتی نیستند.
قابلیتهای سرقت داده و جاسوسی
بدافزار Phexia برای سرقت رمز عبور، یک دیالوگ جعلی “System Preferences” را نمایش میدهد تا کاربر را فریب دهد. همچنین قابلیتهای زیر را داراست:
- سرقت اطلاعات مرورگر: استخراج کوکیها، دیتابیسهای Login و اسرار Safe Storage.
- هدف قرار دادن کیف پولها: سرقت دادهها از افزونههای LastPass و NordPass و همچنین Keychain سیستم.
- استقرار بدافزارهای جانبی: این بدافزار قادر است ماینر XMRig را برای استخراج ارز دیجیتال روی سیستم قربانی نصب کند.
- جمعآوری موجودی نرمافزاری: ارسال لیست نرمافزارهای نصب شده برای تعیین تسکهای بعدی توسط مهاجم.
راهکارهای شناسایی و مقابله (Hunting)
به دلیل استفاده از ابزارهای Native اپل و Obfuscation در هر نسخه، شناسایی بر اساس Hash فایلها کارآمد نیست. تیمهای SOC باید بر رفتارهای زیر نظارت داشته باشند:
- اجرای دستورات
curlدر Terminal که خروجی آنها بهbashمنتقل میشود. - اجرای
osascriptتوسط LaunchAgentهایی که محتوای Base64 را رمزگشایی میکنند. - پردازشهایی غیر از مرورگر که درخواستهای JSON-RPC به شبکه Polygon ارسال میکنند.
- فراخوانی
dscl . authonlyکه حاوی رمز عبور به صورت Plaintext باشد. - ایجاد فایل در مسیر
~/.passphrase.
برای پاکسازی، حذف تمامی LaunchAgentها (حتی نسخههای قدیمی) و تغییر تمامی رمز عبورها و Session Cookieهای ذخیره شده در سیستم ضروری است.