بهروزرسانی ۱۴۰۱/۰۳/۲۳:
در تاریخ ۱۴۰۱/۰۳/۲۱ هشداری از سوی مرکز افتا در ارتباط با این مجموعه بدافزار با عنوان “شناسایی یك بدافزار جدید در زیرساختها” و با نام Dilemma انتشار یافت که همان HackTool.Win32.QWipe میباشد و در ادامه گزارش تحلیل آن ارائه شده است.
جزئیات فنی
1.1 ماژولها و توالی عملیات بدافزار
این بدافزار شامل ماژولهای بسیاری اعم از برنامه اجرایی و اسکریپتهای مختلف است که هر یک وظیفه کوچک خود را برعهده دارند.
در ادامه لیست فایلهای بدافزار به همراه شرح مختصری از عملکرد آنها را مشاهده میکنید:
نام فایل |
توضیحات |
HackTool.Win32.PS_Backdoor |
فایل Backdoor بدافزار جهت اجرای فرامین هکر و دانلود و آپلود فایل |
HackTool.Win32.QWipe |
تخریب اطلاعات هارددیسک (Wipe)، تغییر رمزعبور کاربران، حذف فایلهای پشتیبان ویندوز و … |
wint.bat |
اجرای تسک زمانبند جهت اجرای سرویس بدافزار HackTool.Win32.QWipe |
Lastfile |
محتوی مسیر آخرین فایل تخریب شده |
HackTool.Win32.HttpBackdoor |
به عنوان HttpBackdoor جهت ایجاد درب پشتی در سیستم و اجرای فرامین نفوذگر |
HackTool.Win32.HttpCallBackService |
ابزار HttpCallBackService نفوذگر جهت ارتباط با سرورهای c&c |
HackTool.Win32.PS_Distributor |
فایل توزیع کننده ابزار HttpBackdoor هکر |
جدول 1 – شرع مختصر عملکرد پی لودهای بدافزار
1.1.1 شرح عملیات تهدید HackTool.Win32.PS_Backdoor
این بدافزار به عنوان یک Backdoor برای هکر عمل میکرده است. این فایل با باز کردن شل بر روی سیستم قربانی، امکان اجرای دستورات از سرور راه دور را برای هکر فراهم میکند. از دیگر ویژگیهای این بدافزار میتوان به آپلود و دانلود فایل اشاره نمود. کلیه عملیات دریافت و ارسال داده توسط این فایل تحت پکتهای TLS صورت میپذیرد.
این بدافزار در زمان اجرا 4 سوکت با آدرس محلی روی سیستم قربانی ایجاد میکند و سپس اقدام به شنود داده روی این سوکتها میکند. در صورت دریافت داده، آنها را برای سرور از راه دور خود به آدرس زیر ارسال میکند. بدافزار برای ارتباط با سرور راه دور خود از پورت 8443 استفاده میکند. این پورت همانند پورت 443 از شیوه رمزنگاری TLS برای تبادل پکتها استفاده میکند. این سرور در حال حاضر از دسترس خارج شده است.
زمانی که از پورت 443 استفاده میکنیم، نیازی به ذکر پورت در کنار آدرس دامین نیست. اما هنگام استفاده از پورت 8443 ملزم به ذکر شماره پورت کنار آدرس دامین هستیم.
در ادامه به شرح عملکرد هر یک از این سوکتها میپردازیم.
جدول 2 – سوکتهای بدافزار و شرح عملکرد آنها
1.1.2 شرح عملیات فایل wint.bat
این فایل اجرا کننده سرویس Wiper بدافزار میباشد. سرویسی با نام جعلی Windows Taks Scheduler که همانطور که در نام سرویس مشخص است، به جای کلمه “Tasks” از کلمه “Taks” استفاده شده است. فایل Wiper با اسامی msdskint.exe و Dilemma.exe در سیستمهای مختلف در مسیرهای زیر دیده شده است:
c:\windows\ccmcache\6\msdskint.exe
c:\programdata\pcmr\msdskint.exe
1.1.3 شرح عملیات تهدید HackTool.Win32.QWipe
این فایل، Wiper ایجاد شده توسط هکر میباشد که میتواند آرگومانهایی از ورودی دریافت کند. در صورتی که هیچ آرگومان ورودی وارد نشده باشد نیز فایل مذکور دارای آرگومانهای از پیش تعریف شده میباشد که از همانها در طول اجرا استفاده میکند.
هکر این فایل را با استفاده از ابزار “Eziriz .NET Reactor” پک کرده است. با این مقصود که کد بدافزار از دید تحلیلگر و آنتیویروس مخفی بماند. در ادامه شرح عملیات بدافزار بعد از دیکد برنامه شرح داده شده است.
در جدول زیر لیست آرگومانهای قابل دریافت توسط بدافزار Wiper به همراه عملکرد آنها آورده شده است.
آرگومان ورودی | شرح عملکرد |
-wipe-exclude | مسیرهایی که بعد از این آرگومان قرار گرفته شده به لیست استثنائات بدافزار اضافه میشود تا عملیات تخریب (Wipe) بر روی آنها انجام نگیرد. |
-light-wipe | تعداد دفعاتی که بافر مورد نظر بدافزار جهت تخریب روی فایلهای سیستم قربانی نوشته میشود. |
-sessions | سبب میشود تمامی Sessionهای اکتیو سیستم Logoff و ریستارت شوند. |
-delete-users | اکانت کاربران وارد شده به همراه این آرگومان از سیستم حذف میشوند. |
-shadows | تمامی نسخههای پشتیبان گرفته شده از اطلاعات سیستم پاک میشوند. |
-start-iis | سرویس iis استارت میشود. |
-config | عملیاتی تعریف نشده است. |
-processes | پردازههای وارد شده به همراه این آرگومان خاتمه پیدا میکنند. |
Logs- | بدافزار با استفاده از ابزار wevtutil.exe ویندوز و Enum همه لاگهای سیستم عامل، تمام لاگهای Event viewer را پاک میکند. |
-delete | در صورت وارد شدن این آرگومان، فایلهایی که wipe میشوند در نهایت از سیستم حذف میشوند. (تابع Win32Native.DeleteFile ویندوز اجرا میشود) |
-break-users | تغییر کلمه عبور کاربران سیستم قربانی |
-wipe-only | تنها فایلهای موجود در مسیرهایی که وارد شده تخریب میشوند. |
-purge | به معنی پاکسازی کامل میباشد که در آن روند تخریب محتوای فایل با روند معمولی متفاوت است. |
-passwords | عملیاتی تعریف نشده است. |
-wipe-all | تخریب اطلاعات کلیه درایوهای سیستم |
-stop-iis | سرویس iis متوقف میشود. |
جدول 3 – شرح دستورات بدافزار HackTool.Win32.QWipe
در ادامه به شرح تفصیلی هر یک از آرگومانهایی که نیاز به توضیح بیشتر دارند میپردازیم.
-
آرگومان break-users–
اگر این آرگومان وارد شده باشد و کاربری مشخص شده باشد، بدافزار به ازای هر یک از اکانتهای تعریف شده در سیستم یک کلمه عبور ست میکند. این کلمه عبور رشته ثابت “S7Y1a82R!” میباشد.
تصویر 1 – تغییر کلمه عبور کاربران توسط بدافزار
-
آرگومان purge–
این آرگومان در هنگام عمل Wipe بر روی فایلها مورد استفاده قرار میگیرد. به طور کلی مقداری که بدافزار برای تخریب (Wipe) اطلاعات در نظر میگیرد، یک بافر 200 بایتی است که محتوای آن طی یک الگوریتم به صورت تصادفی ساخته میشود.
اگر آرگومان purge وارد شده باشد، مقداری با نام full_purge در کد بدافزار ست میشود. این آیتم به معنای پاکسازی کامل برای بدافزار است. در این حالت روال تخریب بدافزار بر روی اطلاعات فایلها به این صورت است که مقدار داخل بافر را در بلاکهای ۲۰۰ بایتی روی فایل مینویسد تا به انتهای فایل برسد.
همچنین بدافزاری لیستی با نام purgeExtensions در کد خود جای داده است، این لیست شامل پسوندهای کاندید مورد نظر هکر میباشد. به این صورت که اگر فایلی که قرار است تخریب شود یکی از پسوندهای زیر را داشته باشد، روند تخریب اطلاعات آن فایل همانند روند full_purge خواهد بود.
علاوه بر لیست بالا، رشتههای دیگری نیز در فایل بدافزار به چشم میخورد که میتوانند به عنوان پسوندهای کاندید در نظر گرفته شوند. این پسوندها عبارتند از:
.accdb, .cdx, .dmp, .js, .pnf, .rom, .tif, .wmdb, .acl, .cfg, .doc, .hlp, .png, .rpt, .tiff, .wmv, .acm, .chk, .docx, .hpi, .lnk, .pps, .rsp, .tlb, .xdr, .amr, .com, .dot, .ppt, .sam, .tmp, .xls, .apln, .cpl, .drv, .pptx, .scp, .tsp, .xlsx, .asp, .cpx, .dwg, .hxx, .m4a, .pro, .scr, .avi, .dat, .eml, .ico, .mid, .psd, .sdb, .xsd, .ax, .db, .nls, .rar, .sig, .wab, .zip, .bak, .dbf, .ext, .one, .wab~, .bin, .dbx, .fdb, .jar, .pdf, .rdf, .sqlite, .wav, .bmp, .dll, .gif, .jpg, .pip, .resources, .theme, .wma, .config, .mxf, .mp3, .mp4, .cs, .vb, .tib, .aspx, .pem, .crt, .msg, .mail, .enc, .msi, .cab, .plb, .plt
- آرگومان wipe-all-
اگر این آرگومان وارد شده باشد، کل درایوهای فعال سیستم در یک لیست ذخیره میشود. سپس همه اطلاعات درایوها wipe میشود.
هنگام تخریب اطلاعات، 3 فایل استثناء میشوند:
- default.htm
- index.htm
- death_to_raisi.exe
روال تخریب اطلاعات توسط بدافزار در صورتی که مقدار full_purge ست نشده باشد یا پسوند فایلها جزء پسوندهای کاندید نباشد به این صورت است که ابتدا به اندازه 200 بایت بافر تعیین شده از آفست صفر روی فایل مینویسد. سپس کل سایز فایل را بر 1024 تقسیم میکند. این مقدار را در متغیر num4 ذخیره میکند.
اگر برای آرگومان light_wipe عدد وارد شده باشد، مینیمم مقدار بین light_wipe و num4 را محاسبه میکند و در num4 مینویسد.
سپس به اندازه num4 بار از آفست جاری 1024 بایت (0X400) فاصله میاندازد و روی 200 بایت بعدی همان مقدار را مینوسید و به همین ترتیب ادامه میدهد تا به انتهای فایل برسد. در نهایت فایل lastfile2 را در پوشه فایلی که تخریب شده میسازد و مسیر فایل را در آن یادداشت میکند.
همانطور که قبلا اشاره شد، فایل Wiper بدافزار در صورتی که آرگومانی به عنوان ورودی دریافت نکند نیز آرگومانهای از پیش تعریف شده دارد. این فایل در صورتیکه تحت سرویس اجرا شود دارای آرگومانهای پیشفرض زیر خواهد بود:
تصویر 3 – لیست رشتهها به عنوان آرگومان ورودی
با توجه به این آرگومانها، این سرویس به صورت زیر عمل خواهد کرد:
1. مقدار light-wipe- برابر 3 میباشد. به این معنی که بافر تخریب اطلاعات 3 بار بروی هر فایل نوشته میشود.
2. سرویس iis متوقف میشود.
3. تمامی لاگهای EventViewer سیستم عامل ویندوز پاک میشوند.
4. تمامی نسخههای پشتیبان پاک میشوند.
5. مقدار processes – برابر sql* میباشد. به این معنی که تمامی پردازههایی که در نام آنها رشته sql آمده باشد خاتمه مییابند.
6. تمامی اطلاعات درایوهای فعال به استثنای مسیرهای exclude شده تخریب میشود.
7. مسیرهای استثناء شده (exclude) توسط هکر به شرح زیر میباشند:
"C:\Windows" "C:\$Recycle.Bin" "C:\$WinREAgent" "C:\Config.Msi" "C:\MSOCache" "C:\Recovery" "C:\Program Files\IBM\*" "C:\System Volume Information" "C:\Program Files\dotnet" "C:\Program Files (x86)\dotnet*" "C:\Program Files\Symantec*" "C:\Program Files (x86)\Symantec*" "C:\Program Files (x86)\Padvish*" "C:\Program Files\Kaspersky*" "C:\Program Files (x86)\Kaspersky*" "C:\Program Files\Microsoft*" "C:\Program Files (x86)\Microsoft*" "C:\Program Files\Windows*" "C:\Program Files (x86)\Windows*"
در دستورات برنامه تابعی وجود دارد که نشان میدهد هکر به آنتی ویروس پادویش حساس بوده است. به عنوان مثال همانگونه که در تصویر 4 مشاهده میشود، بدافزار لیست پردازههای در حال اجرا روی سیستم را رصد میکند. در صورتی که در میان این پردازهها، سرویس پادویش یا UI آن بالا باشد، بدافزار به جای اجرای تابع پیش فرض خود برای Wipe اطلاعات، تلاش میکند عملیات wipe را از طریق دیگری انجام دهد.
به نظر میرسد علت این تغییر تاکتیک از طرف بدافزار، فرار از سیستم شناسایی رفتاری پادویش است که روش wipe اطلاعات آن را تشخیص داده و آن را بلافاصله به صورت خودکار متوقف میکند؛ اما در هر صورت روش دوم بدافزار نیز توسط پادویش شناسایی و متوقف میشود.
در روش دوم بدافزار سعی میکند به ازای هر یک از فایلهای سیستم، یک فایل bat موقت (tmp.bat) بسازد و برای این فایلهای موقت دو تسک زمانبند با مجوز سیستم ایجاد میکند.
تصویر 4 – جستجوی سرویس و UI آنتی ویروس پادویش توسط بدافزار
تصویر 5 – تغییر روش تخریب اطلاعات توسط بدافزار بعد از یافتن سرویس آنتی ویروس پادویش
در نمونه زیر مثالی از فایل bat ساخته شده را مشاهده میکنید:
تصویر 6 – نمونه ای از فایل bat ساخته شده جهت تخریب اطلاعات
همانطور که در محتوای این فایل bat مشخص است، ابتدا بدافزار با استفاده از ابزار fsutil سیستمعامل ویندوز یک فایل با محتوای null به اندازه حجم فایلی که میخواسته تخریب کند (در اینجا 3072 بایت) با پسوند qipe. ساخته است. سپس قصد داشته است این فایل ساختگی را جایگزین فایل اصلی نماید.
در واقع هکر با علم به این که آنتیویروس پادویش توانایی جلوگیری از تخریب اطلاعات سیستم را دارد، سعی داشته است از راه دیگری با استفاده از ابزارهای استاندارد سیستم برای حذف اطلاعات استفاده کند. با این وجود مولفه ضدباجگیر پادویش باز هم از وقوع این نوع حمله جلوگیری کرده است.
در کد برنامه دستوراتی وجود دارد که نشان میدهد این بدافزار میتواند، در زمان انجام عملیات لاگ زمان اجرای برنامه را به صورت زیر ذخیره کند:
در کد بدافزار رشتههایی با عناوین “– Excluded” ، “– Skipped” ، “BreakSelectedUsers” ، “DeleteSelectedUsers” ، “KillProcesses” و … به چشم میخورد. در هنگام خاتمه عملیات نیز این لاگ با رشته “Finished on ” و ثبت زمان پایان مییابد. با این وجود هکر ظاهراً نیازی به ذخیره لاگ با استفاده از فایل Wiper نداشته است. زیرا کدی برای تابع Output که وظیفه چاپ نتیجه عملیات را بر عهده داشته، در نظر گرفته نشده است.
1.1.4 شرح عملیات تهدید HackTool.Win32. HttpCallbackService
هکر از این فایل به عنوان ابزاری برای دانلود و آپلود فایل و اجرای فرامین موردنظر خود بر روی سیستم قربانی استفاده میکرده است. در ادامه به شرح عملکرد این بدافزار میپردازیم.
این فایل اطلاعات مربوط به سرور بدافزار را از فایل کانفیگ خود و یا از ورودی دریافت میکند.
در جدول زیر شرح دستوراتی که این ابزار پشتیبانی میکند آمده است:
عملکرد |
دستور |
عملیات دانلود یا آپلود فایل از سیستم قربانی به سرور بدافزار و بالعکس بصورت کدگذاری شده |
Download/Upload |
فعال شدن فلگ isStayAliveMode |
stay-alive |
غیرفعال شدن فلگ isStayAliveMode (غیرفعال شدن ابزار به مدت 1 دقیقه) |
cool-down |
اجرای فرامین هکر از طریق کامندلاین |
عملکرد پیشفرض |
جدول 4 – لیست دستورات ابزار HttpCallbackService
در تصاویر زیر نمای کلی توابع بدافزار و کوئریهای قابل دریافت را مشاهده میکنید.
تصویر 7 – توابع بدافزار HttpCallbackService
تصویر 8 – لیست رشتهها و کوئریها
ابتدا بدافزار آدرس سرور هکر را از فایل کانفیگ میخواند و نسبت به محتوای فایل کانفیگ کوئریهای زیر میتوانند توسط بدافزار درنظر گرفته شود.
کوئری |
رشته انتهای فایل کانفیگ |
?m= |
.aspx |
?m= |
.php |
m= |
/ |
/m= |
پیشفرض |
جدول 5 – جدول رشتهها و کوئریها
روال گرفتن دستور از سرور، بعنوان مثال دانلود فایل از کلاینت به سرور بدافزار به این صورت است که بعد از برقراری ارتباط با سرور، محتوای فایلی با نام m= را از آن میخواند. سپس بعد از بازیابی مسیر فایل مشخص شده، آن فایل را توسط الگوریتم base64 رمزگذاری کرده و برای سرور ارسال میکند.
تصویر 9 – محتوای فایل دستور سمت سرور
تصویر 10 – کدگذاری فایل توسط بدافزار و ارسال آن به سرور
در صورتی که فایل m= شامل دستور باشد، این دستور توسط cmd.exe به اجرا درمیآید.
تصویر 11 – اجرای دستور توسط cmd.exe
بدافزار خروجی عملیات خود را در فایلی به نام .out در سیستم قربانی ایجاد میکند.
تصویر 12 – لاگ خروجی بدافزار HttpCallbackService
1.1.5 شرح عملیات فایل HackTool.Win32.HttpBackdoor
این فایل به عنوان httpservice برای هکر عمل میکند. اطلاعات مربوط به دستورات مورد نظر هکر در دو فایل uhsvc.exe.start و uhsvc.exe.ini ذخیره شده است. نام این فایل در حملات مختلف متفاوت بوده است.
این سرویس که با نام Microsoft Update Health Host در سیستم ثبت شده است، دارای کامندهایی جهت دانلود و آپلود فایل و همچنین ارتباط با پایگاه داده sql و ارسال نتایج به سرور مخرب و دستکاری فایلهای محلی میباشد. نسخههای مختلفی از این httpservice یافت شده است که عبارتند از 0.1.3vXH و 0.1.4vXH. این نسخهها در عملکرد کلی تفاوتی ندارند و دستورات یکسانی را میپذیرند.
این فایل همانند فایل Wiper هکر با استفاده از ابزار “Eziriz .NET Reactor” پک شده است. علاوه بر آن در فایل کانفیگ بدافزار، دستورات دیگری به شرح زیر استفاده شده است.
دستور |
عملکرد |
ipconfig /all |
بازیابی تنظیمات آی پی کارتهای شبکه |
whoami /all |
بازیابی اطلاعات مربوط به نام کاربری، گروه کاربر، انواع مجوزها و دسترسیها |
systeminfo |
اطلاعات کلی سیستم اعم از نوع سیستمعامل، میزان حافظه مجازی و فیزیکی، دامین، کارت شبکه و … |
tasklist |
لیست پردازههای جاری |
wmic logicaldisk get name |
اسامی پارتیشنهای موجود بر روی دیسک |
net user |
اسامی کاربری سیستم جاری |
dir c:\users |
نمایش اطلاعات مربوط به فایلهای موجود در پوشه c:\users |
net sessions |
لیست ارتباطات از راه دور جاری |
net view /all |
لیست منابع اشتراکی جاری |
net share |
لیست درایوها و پوشههای به اشتراک گذاشته شده |
route print |
اطلاعات مربوط به جداول Route |
netstat -aon |
جدول ارتباطات مربوط به پورتهای فعال |
ping 8.8.8.8 -n 2 |
چک برقراری ارتباط سیستم جاری با اینترنت |
جدول 6 – دستورات استفاده شده در فایل کانفیگ ابزار HttpBackdoor
نتایج زیر با توجه به موارد مشاهده شده بعد از دیکد دستورات به دست آمده است:
1. بدافزار پس از آنکه تحت سرویس اجرا شد، یکtcpListener در سیستم قربانی ایجاد میکند. در ادامه یکی از نسخههای بدافزار که از پورت 9399 استفاده میکند تشریح میگردد. در نمونههای که از فایل uhsvc.exe.start یافته شده است، هکر پکتهای ورودی به پورت 9399 (و در برخی نمونه ها پورت 9396 ) را از خارج از شبکه به سیستم قربانی در فایروال مجاز کرده است.
تصویر 13 – محتوای فایل uhsvc.exe.start
2. بدافزار قابلیت دریافت دستورات متفاوت از سرور هکر و اجرای آنها را دارد. بدافزار این دستورات را توسط ابزار cmd اجرا میکند.
تصویر 14 – اجرای فرامین مورد نظر هکر توسط شل
3. استفاده از توابع sqlConnection و sqlCommand جهت اجرای کوئریهای مختلف بر روی پایگاه داده SQL
4. ایجاد فایل
تصویر 15 – ایجاد فایل توسط هکر از طریق بدافزار
5.بدافزار قابلیت zip و unzip محتویات دایرکتوریها، دانلود/آپلود و در صورت لزوم حذف فایلهای مورد نظر هکر را دارد. این بدافزار جهت فشردهسازی فایلها از کتابخانه IonicZip استفاده میکند.
تصویر 16 – قابلیت فشرده سازی/بازگشایی و حذف فایل
تصویر 17– امکان دستکاری محتوای دایرکتوریها
6. قابلیت دریافت آدرس پراکسی مورد نظر سرور برای ارتباط با آن از طریق دستورات “p=” و “b=”
تصویر 18 – دستورات مربوط به پراکسی
7. امکان نمایش نسخه بدافزار برای هکر (هکر از چند نسخه از HackTool.Win32.HttpBackdoor را برای پیادهسازی عملیات خود استفاده کرده است).
8. امکان نمایش مسیر جاری فایل بدافزار (مسیر بدافزار “c:\programdata\pcmr\uhsvc.exe” بوده است).
9. امکان ایجاد فایل log و ارسال آن برای نمایش خطاهای احتمالی به هکر
در جدول زیر لیست عملیاتی که توسط بدافزار پشتیبانی میشود، نمایش داده شده است:
عملکرد |
دستور |
Shellexecute with #zip support |
a_1=s |
Run SQL commands |
a_1=c |
View output and error logs and delete them |
a_1=i1 |
Delete output and error logs |
a_1=i2 |
Run cmd interactively |
a_1=i |
Shellexecute |
Cmd= |
Show Malware path |
W_i |
Show Malware Version |
V_i |
Act as a proxy and forward connection to another website/infected node |
P= OR b= |
Write any file |
M=afe=1 |
Run SQL commands |
Con= |
File Manager (Browse directories, Download/Upload Files, …) |
Prt= |
Read/Write based on GET |
other |
جدول 7 – دستورات وب سرویس بدافزار
1.1.6 شرح عملیات تهدید HackTool.Win32.PS_Distributor
این فایل برای هکر نقش توزیع کننده ابزار را ایفا میکرده است. وظیفه این فایل برقراری ارتباط با کلاینتهای داخل شبکه و ساخت و اجرای سرویس و تسک زمانبند برای ابزارهای مورد نظر هکر میباشد. این فایل عملیات توزیع را بر روی شبکه انجام میدهد.
تصویر 23 – شروع عملیات بدافزار Distriboutor
این فایل با استفاده از Share و دستور net use برای عملیات خود بهره میگیرد. همانطور که در تصویر بالا مشخص است این فایل دارای نام کاربری و کلمه عبور پیشفرض برای ارتباط با کلاینتها میباشد:
Username : TicketUser Password : TicketUser |
علاوه بر آن این فایل قابلیت دریافت اطلاعات نام کاربری، کلمه عبور و مسیر پوشه اشتراکی را بصورت آرگومان ورودی دارا میباشد. همچنین این فایل لیست آپیهای مورد نظر خود را از فایلی با نام distribiutor.ini دریافت میکند.
بدافزار پس از برقراری ارتباط با کلاینتهای مورد نظر، اقدام به کپی ابزار Httpservice به ترتیب زیر میکند:
“copy /y c:\\windows\\msunify4.exe \\\\” + ip + \\c$\\windows\\msedgeupdate.exe “copy /y c:\\windows\\msunify.start \\\\” + ip + \\c$\\windows\\msedgeupdate.exe.start |
همانطور که در دستورات بالا مشاهده میکنید، ابزار HackTool.Win32.HttpBackdoor با نام msunify4.exe در سیستم جاری وجود داشته است. این فایل با نام msedgeupdate.exe در سیستم مقصد کپی شده است. فایل msedgeupdate.exe.start که معادل msunify.start است فایل کانفیگ ابزار فوق میباشد.
تصویر 24 – برقراری ازتباط بدافزار با کلاینتهای داخل شبکه
پس از آن بدافزار اقدام به ساخت سرویس به ترتیب زیر مینماید:
“sc \\\\” + ip + ” create \”Microsoft Edge Update Service (edgeupdatel)\” binpath= \”c:\\windows\\msedgeupdate.exe\” start= auto” “sc \\\\” + ip + ” start \”Microsoft Edge Update Service (edgeupdatel)\”” |
همانطور که مشخص است سرویسی با نام Microsoft Edge Update Service (edgeupdatel) به ازای فایل msedgeupdate.exe (ابزار HackTool.Win32.HttpBackdoor) در کلاینت مورد نظر ایجاد و اجرا میشود.
تصویر 25 – ساخت و اجرای سرویس بر روی کلاینتها
در ادامه بدافزار اقدام به ایجاد تسک زمانبند برای اجرای ابزار موردنظر در کلاینتها میکند.
“copy c:\\windows\\msunify.css \\\\” + ip + \\c$\\Users\\Public\\CreateService.bat “schtasks /create /S {0} /tn \”Backup checks\” /XML c:\\windows\\msunify4.xml /U \”{1}\” /P \”{2}\” /F” “schtasks /run /S {0} /tn \”Backup checks\” /U \”{1}\” /P \”{2}\”” |
دستورات بالا بیانگر این است که بدافزار ابتدا فایلی با نام msunify.css را از سیستم جاری با نام CreateService.bat در کلاینت موردنظر و در مسیر \\c$\Users\Public کپی میکند. این فایل وظیفه دارد ابزار Nmap.exe را جهت شناسای حفرههای امنیتی موجود بر روی تنظیمات شبکه استخراج کند. پس از بازیابی این اطلاعات، آنها را در فایلی با نام pse200.tmp ذخیره میکند. دستور زیر محتوای فایل CreateService.bat را نشان میدهد.
c:\windows\temp\nmp\nmap.exe -sV 200.200.0.0/16 -oN C:\windows\temp\pse200.tmp |
در انتها ابزار HackTool.Win32.PS_Distributor یک تسک زمانبند با نام Backup checks به ازای فایل msunify4.xml ایجاد میکند.
تصویر 26 – ساخت تسک زمانبند توسط HackTool.Win32.PS_Distributor
2 راهکارهای مقابله با بدافزار
همه نمونههای شناخته شده این بدافزار با اسامی HackTool.Win32.HTTPbackdoor HackTool.Win32.HTTPCallBackService، HackTool.Win32.PS_Distributor، HackTool.Win32.PS_Backdoor و Trojan.Win32.QWipe توسط پادویش شناسایی میشوند.
به علاوه، ویژگی منحصر به فرد محافظت اطلاعات پادویش با تشخیص عملکرد Wipe توسط این بدافزار، مانع از تخریب اطلاعات توسط بدافزار شده و به اجرای آن خاتمه میدهد.
3 نشانههای آلودگی (IOC)
نام فایل |
MD5 |
uhsvc.exe cbsvc.exe msunify.exe msunify4.exe msedgeupdate.exe |
466832ef3f81f1cc37466be9e1b7c4d2 9fbab064ec583f80dc15e1abc2ebcad3 2529ed634df912d95d52be717560b0b6 cc97e34cf19f56263abd0f89e907cf7a 66e6d3b03613074f38b2a6acff8e8229 94354ecf588835cea2352b873211290e af029e3168e27394020b3f4315b2419b 2c1e86a5c5c5ad19d64baa66e78af6f1 e633f5ce289cdcbdee93b7c02178fa35 4cc3665c4fb23ace6b0f9b396c66f8e6 987a94bdce7f9d50fc0a30f2b10189f6 1a773e123469ea5a22fd3c21b0de56e9 c85af99a8c3bcb5826b9f938ba14d538 |
uhsvc.exe.start msunify.start msedgeupdate.exe.start |
381d8239561c3714c1b71f0c2df4f57e 798754303e774a09e5b0e7eff424fd7d |
Msunify.css MSUnifySvc.bat |
eb08b4c7ecc25053e5fb23c200e7734b ff2253be230bb20fc68c3a1ad1107c72 |
wdisvc.exe spoolsvc.exe edgeupdatel.exe edgeupdaten.exe |
0ff024b1f42104ff0e9b22c38f293ad4
|
costura.ini |
6cbc6bcc647bd8a8afb8384e95bc2fa1 |
CDPSvc.bat |
dafb3f2bce39562a68e6bd4176af6d86 |
SpoolService.bat |
beb00ea7a94fff2ce321a0e9377750ad |
CreateService.bat |
03c3c225122414a94f90b2aedee490e9 |
dao.exe |
6319dfec18c53bfcd28cda698f03bd55 |
msdskint.exe Dilemma.exe |
13e7caebf00dd2315885e1f47030eb3c 6d806a5b0390262b5ef4687ba10c540c |
Distributor.exe |
29841e0069749e1255269cdf4cf6e965 |
Distributor.ini |
2ee8f6d4853c59c2462ff0b71b455719 |
wint.bat |
0aa3b91d584803a39250742b69173841 |