HackTool.Win32.APT- PS

به‌روزرسانی ۱۴۰۱/۰۳/۲۳:

در تاریخ ۱۴۰۱/۰۳/۲۱ هشداری از سوی مرکز افتا در ارتباط با این مجموعه بدافزار با عنوان “شناسایی یك بدافزار جدید در زیرساخت‌ها” و با نام 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 برای تبادل پکت‌ها استفاده می‌کند. این سرور در حال حاضر از دسترس خارج شده است.

Http://dropboxui[.]com:8443

زمانی که از پورت 443 استفاده می‌کنیم، نیازی به ذکر پورت در کنار آدرس دامین نیست. اما هنگام استفاده از پورت 8443 ملزم به ذکر شماره پورت کنار آدرس دامین هستیم.

در ادامه به شرح عملکرد هر یک از این سوکت‌ها می‌پردازیم.

شماره سوکت شرح عملکرد
127.0.0.1:62563 بدافزار به ازای دریافت هر بستهTLS روی این سوکت، با فراخوانی تابع main_startshell، یک پردازه cmd.exe ایجاد   و پس از اجرا، به پردازهcmd.exe خاتمه می‌دهد و مجددا شروع به شنود این سوکت می‌کند. به نظر می‎رسد بدافزار از این سوکت تنها دستوراتی را برای اجرا دریافت می‌کند.
127.0.0.1:36774 دربافت پکت‌های Http تحت TLS و فراخوانی تابع main_starthttp جهت دانلود/آپلود فایل
[::]:49151

0.0.0.0:49151

راه‌اندازی یک پروکسی سرور بین این سوکت و سرور از راه دور هکر

جدول 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 خواهد بود.

تصویر 2 پسوندهای کاندید

علاوه بر لیست بالا، رشته‌های دیگری نیز در فایل بدافزار به چشم می‌خورد که می‌توانند به عنوان پسوندهای کاندید در نظر گرفته شوند. این پسوندها عبارتند از:

.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 – دستورات مربوط به پراکسی

تصویر 19 – تنظیم پراکسی

7. امکان نمایش نسخه بدافزار برای هکر (هکر از چند نسخه از HackTool.Win32.HttpBackdoor را برای پیاده‌سازی عملیات خود استفاده کرده است).

تصویر 20 – نمایش نسخه بدافزار

8. امکان نمایش مسیر جاری فایل بدافزار (مسیر بدافزار “c:\programdata\pcmr\uhsvc.exe” بوده است).

9. امکان ایجاد فایل log و ارسال آن برای نمایش خطاهای احتمالی به هکر

تصویر 21 – ساخت فایل log

تصویر 22 – فایل 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

راهکارهای مقابله با بدافزار

همه نمونه‌های شناخته شده این بدافزار با اسامی HackTool.Win32.HTTPbackdoor  HackTool.Win32.HTTPCallBackService، HackTool.Win32.PS_Distributor، HackTool.Win32.PS_Backdoor و Trojan.Win32.QWipe توسط پادویش شناسایی می‌شوند.

به علاوه، ویژگی منحصر به فرد محافظت اطلاعات پادویش با تشخیص عملکرد Wipe توسط این بدافزار، مانع از تخریب اطلاعات توسط بدافزار شده و به اجرای آن خاتمه می‌دهد.

نشانه‌های آلودگی (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