حمله Wildpressure به صنعت خاورمیانه با Milum

حمله Wildpressure به صنعت خاورمیانه با Milum

Wildpressure شرکت های صنعتی خاورمیانه را با Milum هدف قرار میدهد

 

در تاریخ آگوست سال ۲۰۱۹ محققین کسپرسکی، عملیات مخربی را کشف کردند. این عملیات از تروجانی که با زبان برنامه نویسی C++ نوشته شده است استفاده میکند که ما آن را Milum نام گذاری کردیم.

تمام قربانی‌هایی که ما ثبت کردیم شرکت‌هایی در خاورمیانه بوده اند، که اکثر آن‌ها صنعتی هستند. موتور اختصاصی تشخیص تهدید کسپرسکی (KTAE) کدهای مشابهی را با عملیات‌های مخرب قبلی تشخیص نداده است. همچنین شرکت‌های هدف نیز با عملیات‌های قبلی یکسان نیستند. در حقیقت ما فقط سه نمونه منحصر به فرد، فقط در یک کشور پیدا کرده‌ایم. بنابراین ما این حملات را هدفمند در نظر گرفته و نام آن را WildPressure نام گذاری کرده‌ایم.

زمان ساخت تمام این فایل‌ها یکسان هستند – مارچ ۲۰۱۹

این مسئله مطابقت دارد با اینکه ما قبل از ۳۱ می ۲۰۱۹ نشانه‌ای از آلودگی مشاهده نکرده‌ایم، پس هر فایلی که قبل از این تاریخ ساخته شده باشد، جعلی است و تاریخ ساخت آن دستکاری شده است. برای زیر ساخت‌ها، مهاجمین از سرورهای مجازی OVH و Netzbetrieb استفاده کرده‌اند، همچنین از دامینی متعلق به Proxy anonymization service استفاده میکنند.

این بدافزار از فایل‌های JSON برای تنظیمات خود استفاده میکند و از پروتوکل HTTP برای ارتباط با سرور خود استفاده میکند. درون درخواست‌های HTTP POST ارتباطات رمزنگاری شده ما به چند مورد جالب برخورد کردیم. یکی از آنها نسخه بدافزار را نشان می دهد که ۱٫۰٫۱ است که نشان میدهد بدافزار در مرحله اولیه توسعه است. دیگر فیلدها وجود برنامه هایی را  نشان می دهد که با زبان‌های برنامه نویسی غیر از C++ نوشته شده‌اند.

تنها الگوریتم رمزنگاری RC4 است که با کلیدهای ۶۴ بایت مختلف برای قربانیان مختلف ساخته شده است. همچنین ، توسعه دهندگان به اندازه کافی مهربان بودند تا داده های RTTI را درون فایل ها بگذارند. محصولات کسپرسکی این بدافزار را به عنوان Backdoor.Win32.Agent تشخیص می دهد. برای اطلاعات بیشتر با ایمیل زیر در ارتباط باشید: intelreports@kaspersky.com

 

WildPressure

 

چرا ما آن را Milum می نامیم و چرا این مورد برای ما جالب است

 

تمام تروجان های فوق الذکر که با زبان C++ نوشته شده اند به صورت فایل‌های مستقل PE ، که در ابتدا با نام Milum46_Win32.exe نامگذاری شده اند. کلمه “milum” در نام کلاس C++ در داخل بدافزار استفاده شده است ، بنابراین ما نام Trojan را بر اساس آن انتخاب کردیم.

ویژگی بارز دیگر آن این است که بدافزار از الگوریتم‌های فشرده سازی zlib زیادی مانند zlibVersion() ، inflate() یا deflate() استفاده می کند. این فشرده سازی برای ارتباطات با سرور C2 خود مورد نیاز است ، اما در واقعیت نیازی به استفاده از آنها در یک برنامه مستقل (Standalone) نیست.

قسمت‌های تنظیمات JSON فقط به نسخه و زبان برنامه نویسی محدود نمی شوند. مهاجمین همچنین از شناسه های قربانیان که در نمونه های بدافزار یافت می شوند، استفاده می کنند. در میان آنها ما HatLandM30 و HatLandid3 را پیدا کردیم که هیچکدام از آنها آشنا نیستند. در جدول زیر نمونه هایی از Milum وجود دارد که دارای نشانه های کامپایلر هدر PE است، اما شناسه های قربانی متفاوت هستند:

 

 

به جای توصیف همه فایل‌های تنظیمات، ما آنها را یک به یک در جدول زیر به همراه تمام ویژگی های اصلی این خانواده بدافزار جمع آوری کرده ایم:

 

 

بگذارید آن را کمی عمیق تر بررسی کنیم

 

معروف ترین نمونه از یافته های ما این مورد است:

 

 

این برنامه مانند یک پنجره در نوار ابزار به صورت مخفی وجود دارد. عملکردهای اصلی مخرب در یک پردازش (Thread) جداگانه اجرا می شوند. Milum داده های تنظیمات خود را رمزگشایی می کند و پارامترهای “klientid” و “encrypt_key” را برای رمزگذاری RC4 به دست می آورد.

 

نمونه ای از داده های تنظیمات رمزگشایی شده. قسمت
نمونه ای از داده های تنظیمات رمزگشایی شده. قسمت “clientid” در هر نمونه مشاهده شده متفاوت است.

 

جدول زیر پارامترهای مختلف تنظیمات را شرح می دهد:

 

 

مهاجمین می توانند Trojan را با استفاده از کلید (“b” یا “B”) به عنوان اولین Argument و نام فایل به عنوان Argument دوم اجرا کنند. در این حالت، Milum فایل ارسال شده به عنوان پارامتر را حذف می کند. سپس Trojan فولدر C:\ProgramData\Micapp\Windows\  را ایجاد می کند و داده های تنظیمات خود را تحلیل می کند تا آن را برای ارسال به سرور C2 خود آماده کند.

برای ارسال اطلاعات، Milum از درخواست HTTP POST با سه پارامتر که در جدول زیر ذکر شده است استفاده می کند.

 

 

دو پارامتر اول از داده های تنظیمات گرفته شده است. سومین داده رمزگذاری شده است و پس از رمزگشایی، در آوردن از حالت فشرده و مرتب سازی، به صورت زیر است:

 

 

در این فایل چندین قسمت وجود دارد که باید ذکر شوند. ما علاوه بر C ++ به زبان های برنامه نویسی مختلفی نیز اشاره کردیم: به نظر می رسد “vt” به یک زبان برنامه نویسی اشاره دارد و “ext” به پسوند یک فایل اشاره می کند. تنها دلیلی که می تواند برای نگهداری از آنها وجود داشته باشد این است که اگر مهاجمان چندین Trojan داشته باشند که به زبان های مختلف نوشته شده اند بتوانند با همان سرور C2 یکسان کار کنند.

در رابطه با قسمت “Command”، سرورهای C2 در زمان تجزیه و تحلیل فایل غیرقابل دسترسی بودند، بنابراین ما اطلاعاتی از آنها نداریم. با این حال، ما بخش اجرایی را در کد Milum، مانند قسمت زیر تجزیه و تحلیل کرده‌ایم:

 

 

چه کسانی مورد حمله قرار گرفته‌اند؟

 

بر اساس اطلاعات ما ، از تروجان Milum منحصراً برای حمله به اهدافی در خاورمیانه حداقل از اواخر ماه می ۲۰۱۹ استفاده شده است.

 

 

ما در سپتامبر ۲۰۱۹ توانستیم یکی از دامنه های سرور C2 که upiserversys1212[.]com بود را از بین ببریم. اکثر IP های بازدید کننده نیز از خاورمیانه بودند و ما معتقدیم که بقیه آدرس‌ها اسکنر شبکه، سرورهای خروجی TOR یا اتصالات VPN بودند.

 

 

و چه کسانی پشت این حملات بودند؟

 

تا به امروز هیچ شباهت قاطعی، مبتنی بر سورس کد یا قربانی با دیگر مهاجمین شناخته شده ای مشاهده نکرده ایم. سورس کد C ++ آنها کاملاً متداول است ، در رابطه با داده های تنظیمات و پروتکل ارتباطی از داده های پیکربندی شده با فرمت JSON به صورت کدگذاری Base64 استفاده میکند که به صورت باینری ذخیره شده است و آن را با توابع Standard Temple Library (STL) کامپایل می کند. با این حال، این صفت‌های مشترک به اندازه کافی دلیل قاطعی برای نسبت دادن آن به دیگر گروه‌ها نیستند و فرضیه ما این است که آنها صرفاً تصادفی هستند. ما به نظارت بر این عملیات ادامه خواهیم داد.

 به صورت خلاصه

 

تا به امروز، ما در مورد مکانیسم گسترش Milum هیچ اطلاعاتی نداریم. عملیاتی که ظاهراً به صورت انحصاری شرکت‌هایی را در خاورمیانه هدف قرار می دهد (که حداقل برخی از آنها شرکت‌های صنعتی هستند) موضوعی است که به طور خودکار توجه هر تحلیلگر را به خود جلب می کند. هر شباهتی را باید از لحاظ انتساب به دیگر گروه‌ها ضعیف دانست و ممکن است تکنیک هایی باشد که از موارد شناخته شده قبلی کپی شده است. در واقع ، این چرخه “یادگیری از مهاجمین با تجربه تر” در سالهای اخیر توسط تعدادی از مهاجمین جدید انجام میگیرد.

 

Indicators of compromise

 

Files MD5
۰C5B15D89FDA9BAF446B286C6F97F535
۱۷B1A05FC367E52AADA7BDE07714666B
A76991F15D6B4F43FBA419ECA1A8E741
Original file names are Milum46_Win32.exe; on the target side they exist as system32.exe

URLs
upiserversys1212[.]com/rl.php
۳۷٫۵۹٫۸۷[.]۱۷۲/page/view.php
۸۰٫۲۵۵٫۳[.]۸۶/page/view.php

منبع: https://securelist.com/wildpressure/

تهیه شده توسط : علیرضا هوشمند

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *