روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ بعد از اینکه در خصوص نشت OilRig یک گزارش خصوصی نوشتیم، تصمیم گرفتیم آرشیو خود را با قوانین YARA[1] نیز به طور اجمالی مورد بررسی قرار دهیم. فارغ از پیدا کردن یک سری نمونهی جدید باورمان بر این است که همچنین در پیدا کردن برخی نمونههای اولیهی قورباغه سمی[2] نیز موفق بودهایم.
قورباغه سمّی
هنوز کاملاً مطمئن نیستیم نام قورباغه سمی، توسط نویسندگان این بدافزار به بکدر داده شده است یا توسط افشاگران. به هر حال حقیقت این است که یکی از اولین نمونههای قورباغه سمی که میشد پیدا کرد از poison-frog[.]club به عنوان نام دامنه برای C2 خود استفاده میکند.
اما پیش از پرداختن به این مبحث، بیایید نخست به یک نمونه نگاه بیاندازیم: MD5 4EA656D10BE1D6EAC05D69252D270592. این در حقیقت یک فایل قابلاجرای PE32 است که به زبان C# نوشته شده است. کد C# چندان هم چنگی به دل نمیزند: تنها کارکردش دراپ کردن اسکریپت PowerShell (که شامل بکدرهایی است و داخل فایل قابلاجرا جاسازی میشود) اجرا و سپس پاک کردن آن است. همین کارایی (با تغییرات گاه به گاه در بخش اجرا) در تمامی نمونههای PE32 که پیدا کردیم ظاهر شده است.
اسکریپت جاسازیشدهی PowerShell از همان منطقی تبعیت میکند که همهی اسکریپتهای دراپر PowerShell یافتشده توسط محققین ما دنبال میکنند. دو رشته با نامهای dns_ag و http_ag وجود دارد (هرچند اولی یک رشتهی خالی در این نمونه است) که حاوی DNS و بکدر HTTP (base64 رمزگذاریشده) میشوند.
مثل همیشه، پایداری توسط استفاده از ابزار برنامهریزِ امور حاصل میشود.
بعد از اینکه base64 عامل DNS را کدگشایی کرد و آن را از UTF16 به ASCII تبدیل کرد، به نسخهی اولیهی بکدر Poison Frog HTTP برخوردیم: یک بکدر PowerShell 59 خطی.
همانطور که از یک بکدر 59 خطی نوشتهشده در ابزار PowerShell انتظار میرود، کارکردش محدود بوده و عملکردش نیز تقریباً ساده است.
ابتدا، کارش را با محاسبهی یک UID مبتنی بر آدرس MAC یا خروجیِ دستور خط فرمان whoami شروع میکند. سپس UID را که توسط اعداد تصادفی محاصره و یا در رشتهی 24351243510 محبوس شده است ارسال می کند.
سپس اگر پاسخ 11 کاراکتری دریافت شود، آن پاسخ به C2 که یا قبلش و یا بعدش 1 اضافه شده است.
این پاسخ در یک متغیر ذخیره میشود زیرا برای تعیین کارکردی که C2 فرا میخواند استفاده میشود. اما ابتدا پاسخ اولیه باز فرستاده میشود- این بار به همراه عدد 3 قبل یا بعدش.
اکنون، بسته به کاراکتر آخر پاسخ ذخیرهشده، اقدامات زیر صورت میگیرد:
اگر کاراکتر آخر 0 باشد، فرمان مشخصشده در پاسخ روی دستگاه اجرا میشود و نتیجه به C2 باز فرستاده خواهد شد.
اگر کاراکتر آخر 1 باشد، عامل نگاه میکند آیا فایل مشخصشده در پاسخ روی سیستم وجود دارد یا نه. اگر وجود نداشته باشد، 404 را باز میفرستد. اگر هم وجود داشته باشد، فایل به سرور ارسال میگردد.
اگر 2 دریافت شود، فایل روی سیستم درست در لوکیشنی که در پاسح مشخص شده است ذخیره میشود.
و تمام. همه در 59 خط.
نمونهی دیگری که پیدا کردیم MD5 C9F16F0BE8C77F0170B9B6CE876ED7FB است. این نمونه یکی از نسخههای اولیهی عامل DNS جاسازی میکند. در 335 خط کد، این نمونه قادر به اجرای فرمانها روی سیستم و نیز ذخیرهی فایلها در سیستم میشود.
قورباغه سمی با جامهی مبدّل
نصب بدافزار روی سیستم همیشه هم کار آسانی نیست. بنابراین توسعهدهندگان OilRig تصمیم گرفتند کمی ترفند به خرج دهند و این بدافزار را در قالب اپلیکیشن قانونی Cisco AnyConnect جا بزنند. این بکدر درست به روش نمونههای فوق جاساز میشود.
با این حال در این میان کمی اشتباهات کوچک اجرایی صورت گرفت. برای مثال، پاپآپ اطلاعات هر بار که رویش کلیک میکردید پدیدار میشد؛ که روی اپ اصلی و قانونی هرگز چنین چیزی سابقه ندارد اتفاق بیافتد.
پیام زیر همچنین به فریب دادن کاربران کمک کرد- هر بار دکمهی connect کلیک میشد این پیام ظاهر میگشت:
این ترفند باعث میشود تا کاربران فکر کنند یک جای کارِ این اپ میلنگد و یا دسترسی اینترنتشان مشکلی دارد؛ اما در واقعیت بکدر دارد به آرامی روی سیستم نصب میشود.
شلختگیِ OilRig
OilRig پیشرفتهترین عامل APT نیست زیرا در جریان فعالیتهایش اشتباهات کوچکی رخ میدهد.
برای مثال، یک نمونه به خاطر اشتباه تایپی نتوانست بدرستی اجرا شود.
همچنین بسیاری از نمونهها هنوز درون باینری (دودویی) مسیر PDB را داشتند.
آنها با سایر نمونهها، تاریخ کامپایل[3] را به تاریخی در آینده تغییر دادند- تاریخی که بعد از نشرش بود.
برای مثال، نمونهی 87FB0C1E0DE46177390DE3EE18608B21 تاریخ کامپایلش 2018-07-25 است، هرچند آن را یک سال زودتر روی سیستمهایمان پیدا کردیم.
[1] ابزاری است که به محققان اجازه میدهد تا تهدیدات را بر اساس قوانینی که برپایه الگوهای متنی یا باینری از پیش تعریفشده است را آنالیز و شناسایی کنند.
[2] Poison Frog
[3] عمل تبدیل متنی از زبان برنامهنویسی سطح بالا (زبان مبدأ) را به زبانی سطح پایین (زبان مقصد).
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکي نام دارد.