شرح کلی
نوع: تروجان (Trojan)
اسامی بدافزار:
Trojan.Win32.Siscos.a
درجه تخریب: زیاد
میزان شیوع: زیاد
آسیبپذیری مورد استفاده: EternalBlue) CVE-2017-0146 / MS17-010)
تروجان (Trojan) چیست؟
تروجانها نوعی از بدافزار محسوب میشوند که خود را در قالب یک نرمافزار سالم و قانونی نشان میدهند و بسیار شبیه نرمافزارهای مفید و کاربردی رفتار میکنند، اما هنگامیکه اجرا میشوند خرابیهای زیادی را برای سیستم ایجاد میکنند. نرمافزارهای دانلود شده از اینترنت، جاسازی شدن در متن HTML، ضمیمه شدن به یک ایمیل و غیره از جمله راههای ورود تروجانها میباشند. تروجانها برخلاف ویروسها و کرمهای کامپیوتری قادر به تکثیر خود نیستند.
بدافزار Siscos چیست؟
بدافزار Siscos از جمله بدافزارهای ماینینگ و از دسته تروجانها میباشد که علاوه بر استخراج ارز دیجیتال از سیستم قربانی با نصب یک بات در قالب سرویس و دستوراتی که از سوی هکر دریافت میکند، کنترل سیستم را بدست میگیرد. با توجه به این مسئله درجه تخریب این بدافزار بر روی سیستم در درازمدت می تواند زیاد باشد. این بدافزار همچنین با ایجاد یک حساب کاربری با نام mml23$ بر روی سیستم و قرار دادن آن در گروه Administrators مجوزهای خود را برای عملیات مخرب آتی بالا میبرد.
توضیحات فنی
علائم آلودگی
فایل اصلی بدافزار یک dll است که از طریق آسیب پذیری Eternalblue و درب پشتی ایجاد شده توسط ابزار Doublepulsar وارد سیستم قربانی شده و به عنوان زیرمجموعه یکی از پردازههای سیستمی (عموما lsass.exe) به اجرا در میآید.
شرح عملکرد فایل اصلی بدافزار
این dll ایجاد کننده یک حساب کاربری با مشخصات زیر میباشد:
User : mml23$
Pass : bengal1!
Group : Administrators
در عین حال یک دانلودر نیز میباشد. این dll حاوی دو تابع اکسپورت است که برای دانلود دو فایل بدافزار فراخوانی میشوند.
بلافاصله پس از فراخوانی تابع اول (urldown) فایلی با نام x86.exe از آدرس زیر دانلود میشود:
http://k.honker[.]info:8/x86.exe
این فایل با نام جعلی conhost.exe در پوشه Windows ذخیره میشود.
** فایل conhost.exe یک ابزار استاندارد مربوط به سیستم عامل ویندوز است که در حالت عادی در پوشه system32 میباشد.
با فراخوانی تابع دوم (urldown1) فایلی با نام madk.exe از آدرس زیر دانلود میشود:
http://k.honker.info:8/madk.exe
این فایل با نام جعلی smss.exe در پوشه Windows ذخیره میشود.
شرح عملکرد فایل x86.exe
یک dll با نام تصادفی در مسیر زیر ایجاد میکند و آن را بعنوان سرویس ثبت میکند.
[Root]:\Program Files\NetMeeting\[Random].dll
سپس در لیست پردازههای جاری پردازه 360tray.exe را جستجو میکند. این پردازه مربوط به یک آنتی ویروس چینی به نام 360safe میباشد. در صورتیکه این آنتی ویروس در حال اجرا باشد، بدافزار کار خود را خاتمه میدهد. بنابراین کاملا مشهود است که هکر چینی بوده و کشور خود را از آلودگی مستثنی کرده است. در صورتیکه پردازه این آنتی ویروس در سیستم قربانی اجرا نشده باشد، سرویس بدافزار با نام lssas در رجیستری ثبت میشود. این سرویس یک بات است.
در زیر لیست دستورات C&C سرویس بدافزار همراه با عملکرد آنها را مشاهده میکنید:
کد کنترلی | عملکرد |
01 | بهروزرسانی یا حذف سرویس بدفزار |
02 | خواندن اطلاعات سرویس از رجیستری سیستم قربانی |
03 | ارتباط با سرور بیتکوین : post.f2pool.info |
05 | پاک کردن لاگهای مورد نظر هکر مربوط به Application، system و security از بخش Eventlog سیستم |
06 | دانلود یک فایل مشخص |
08 | تغییر تنظیمات shell open command مربوط به مرورگر IE |
0A | اعمال تغییرات بر روی توکنهای مربوط به ایستگاه WinSta0\\Default |
0C | جستجوی یک پردازه در لیست پردازههای جاری |
0E | تغییر تنظیمات پراکسی |
از کد کنترلی شماره 0A میتوان نتیجه گرفت که هکر برای دستکاری مجوزهای مدنظر خود در سیستم قربانی از این کد و حساب کاربری mml23$ استفاده میکند.
شرح عملکرد فایل madk.exe
ساخت فایلی با نام conhost.exe در مسیر زیر :
[Root]:\Windows\Fonts\conhost.exe
ساخت سرویس زیر:
Service name : MetPipAtcivator
Service path : [Root]:\windows\Fonts\svchost.exe
DisplayName : Network Location Service
Description : Provides performance library information from Windows Management.
در صورتیکه این سرویس قبلا بر روی سیستم قربانی وجود داشته باشد، آنرا حذف میکند.
سرویس MetPipAtcivator بلافاصله اجرا شده و فایل conhost.exe را که در پوشه fonts قرار دارد را اجرا میکند.
ساخت سرویس زیر :
Service name : SetPipAtcivator
Service path : [Root]:\windows\Fonts\svchost.exe
DisplayName : WMI Performance Services
Description : Identify computers that are connected to the network, collect and store the properties of these networks, and notify the application when they are changed.
وظیفه این سرویس اجرای فایل rundllhost.exe ساخته شده توسط فایل conhost.exe و اجرای آن میباشد. rundllhost.exe فایل بیتکوین میباشد و با سرورهای زیر در ارتباط است:
max.csrss.website:80
l.csrss.website:14444
وظایف فایل conhost.exe
- ممانعت از اجرای پردازههای مانیتورینگ نظیر autoruns.exe، perfmon.exe، procexp.exe، ProcessHacker.exe و نیز پردازه rundll32.exe
- ایجاد فایلی با نام [Root]:\Windows\Fonts\rundllhost.exe
توجه : این بدافزار در نسخه جدید خود تغییراتی اعمال کرده است که در ادامه به شرح کامل از فعالیتهای نسخه جدید بدافزار میپردازیم.
علائم آلودگی در نسخه جدید بدافزار Siscos
در نسخهی جدید، تمامی فعالیتهای بدافزار همانند نسخهی قبل میباشد با این تفاوت که بدافزار با فراخوانی تابع دوم (urldown1) فایلی با نام smss.exe را دانلود میکند. این فایل با نام جعلی smss.exe در پوشه Windows ذخیره میشود.
علائم آلودگی به بدافزار smss.exe
- کندی سیستم به دلیل بالا بودن پردازه استخراج کننده ارز دیجیتال
- وجود فایلهای exe به صورت مخفی و سیستمی در مسیر فونتهای سیستم.
- وجود یک پوشه به نام Mysql در مسیر فونتهای سیستم.
- وجود دو سرویس به نامهای MetPipAtcivator و SetPipAtcivator در بین سرویسهای در حال اجرا.
- متوقف و حذف شدن سرویس lanmanserver.
- حذف تمامی policyهای تنظیم شده بر روی سیستم و اضافه شدن یک policy مشکوک. حال اگر کاربر در خط فرمان دستور Netsh ipsec static show all را اجرا کند، یک policy با نام Aliyun در بین سیاستهای ارتباطی خود خواهد دید. قابل ذکر است که نام policy در گونه های مختلف این بدافزار میتواند متفاوت باشد. از نشانههای مشهود این نوع policy بسته شدن پورتهای 139، 135 و 445 میباشد.
- اخلال در کار پردازههای 32 بیتی بر روی سیستمهای 64 بیتی.
شرح عملکرد فایل smss.exe
بدافزار smss.exe در شروع فعالیت، سیستم هدف را بررسی میکند تا در صورت وجود نسخههای قدیمی بدافزار بر روی سیستم، ابتدا علائم قدیمی را پاک کرده و سپس آنها را با نسخه جدید جایگزین نماید. از جمله سرویسهایی که توسط بدافزار از سیستم حذف میشوند میتوان به موارد زیر اشاره کرد:
MetPipAtcivator (سرویس مربوط به نسخه قدیمی بدافزار)
SetPipAtcivator (سرویس مربوط به نسخه قدیمی بدافزار)
mssecsvc2.0 و mssecsvc2.1 (سرویس های باج افزار WANNACRY)
lanmanserver (سرویس استاندارد ویندوز برای اشتراک گذاری فایل و منابع )
این بدافزار کاربری با نام کاربری mm123 را نیز حذف میکند که اکانت توسط نسخه قدیمی این بدافزار ساخته شده است.
در این مرحله بدافزار با جستجو بین برنامههای موجود، اقدام به بستن برنامههای مانیتورینگ مثل process explorer ، procmon ، process hacker و … میکند. از این مرحله به بعد بدافزار فایلهای سرویسهای جدید خود را در سیستم هدف قرار میدهد.
ابتدا یکی از فایلهای خود را که در مسیر فونتهای سیستم قرار داده است به عنوان سرویس MetPipAtcivator نصب و اجرا میکند. پس از آن دسترسی به برنامه cscript.exe را که برای اجرا script هایش به آن نیاز دارد به دست میآورد. با این روش اگر قربانی بر روی این برنامه محدودیتهای دسترسی اعمال کرده باشد، این محدودیتها را دور میزند.
عملیات بالا برای فایل WScript.exe نیز انجام میشود. همچنین اگر برای این فایلها در رجیستری تنظیماتی اعمال شده باشد که برنامهی خاصی اجرای آنها را مدیریت کند، این تنظمیات را از رجیستری حذف میکند.
در مرحله بعدی ابتدا اگر پردازه powershell در حال اجرا باشد، آن را از بین میبرد و سپس مالکیت فایل powershell.exe را در اختیار administrator قرار داده و سپس تمام دسترسیهای موجود برای فایل مورد نظر را در اختیار administrator قرار میدهد. بعد از اعمال این تغییرات، دسترسیهای system را از این فایل برمیدارد. در ادامه بدافزار مالکیت فایل host در مسیر %windir%\system32\drivers\etc را در اختیار میگیرد. این فایل حاوی url و ip متناظر آن برای تمام سایتهایی است که کاربر به آنها وصل شده است. همچنین بدافزار تمام دسترسیهای ممکن روی این فایل را برای گروه کاربران فراهم میکند. در نهایت نیز این فایل را مخفی میکند. سپس با اجرای دستور ipconfig /flushdns حافظه نهان dns کاربر را پاک میکند.
فعالیت بعدی بدافزار پاک کردن تمام سیاستهای ارتباطی سیستم قربانی با اجرای دستور زیر است:
netsh ipsec static del all
پس از این، سیاستهای مورد نظر خود را بر روی سیستم اعمال میکند:
netsh ipsec static add policy name=Aliyun
در مرحله بعد، بدافزار اقدام به پاکسازی قلمرو خود از سایر بدافزارها، به خصوص بدافزارهای ماینر میکند. نکته جالب توجه این بدافزار اجرای دستورالعمل taskkill /f /t /im servcies.exe میباشد که از خطرناکترین دستورالعملها بوده و باعث میشود تقریبا تمام سرویسهای سیستم از کار بیفتد و پس از آن با اجرای دستورهای sc stop services و sc delete services سعی میکند که سرویس آنها را نیز حذف کند تا دیگر قابل اجرا نباشند. دستورالعمل بعدی بدافزار taskkill /f /t /im splwow64.exe میباشد که پردازه splwow64.exe مسئول برقراری ارتباط پردازههای 32 بیتی با سرویس مربوط به سیستمهای 64 بیتی است.
از دیگر اقدامات بدافزار این است که هر کدام از سرویسها را که پاک میکند، فایل مربوط به آن سرویس را به صورت مخفی، فقط خواندنی و سیستمی در آورده و بعد از آن دسترسی افراد را به آن فایل محدود میکند. پس از اعمال این تغییرات بدافزار اقدام به دانلود بدافزارهای جدید میکند.
مسیری که فایلها در آن قرار میگیرند:
%windir%\fonts\Mysql
در ادامه عملکرد فایلهای دانلود شده را مشاهده میکنید:
فعالیتهای فایل ctfmon.exe
این فایل با اجرای تعدادی دستور، سرویسهای سالم Mysql و Mssql را حذف کرده و فایلهای خود را جایگزین آنها کرده و سرویس را مجددا اجرا میکند.
سپس با تنظیم کردن یک تسک زمانبندی شده، هر روز در ساعت خاصی این دستورات را مجددا اجرا میکند.
تسکهایی که بدافزار ایجاد کرده با نامهایی به صورت At* یا *fost* و یا *Group* در لیست تسکها مشخص هستند.
این فایل هم پس از اعمال تسکهای زمانبندی شده خود، اقدام به پاکسازی قلمرو خود از سایر بدافزارها میکند.
فعالیتهای فایل mks.exe
این فایل با دستور SecEdit اقدام به تغییر سیاستهای امنیتی سیستم و کانفیگ آنها به صورت دلخواه خود میکند.
روش مقابله و پاکسازی سیستم
آنتیویروس پادویش این بدافزار را شناسایی کرده و از سیستم حذف میکند. جهت پیشگیری از آلودگیهای احتمالی توسط بدافزارهایی که از آسیبپذیری EternalBlue استفاده میکنند، پیشنهاد میشود از وصله امنیتی ارائهشده توسط مایکروسافت ms17-010 استفاده کنید. بخش جلوگیری از نفوذ (IPS) آنتیویروس پادویش اینگونه آسیب پذیریها را شناسایی کرده و از ورود آن به سیستم قربانی جلوگیری میکند.