خانه » بدافزار بدون فایل LODEINFO با ترفندهای ضد آنالیز و کد از راه دور تکامل می‌یابد

بدافزار بدون فایل LODEINFO با ترفندهای ضد آنالیز و کد از راه دور تکامل می‌یابد

توسط Vulnerbyte
108 بازدید
بدافزار LODEINFO

محققان امنیت سایبری، نسخه به روزرسانی شده یک بکدور به نام LODEINFO را کشف کرده‌اند که از طریق حملات فیشینگ هدفمند توزیع می‌شود. زمانی که کاربر یک فایل Word مخرب (از این پس Maldoc می‌نامیم) پیوست شده به ایمیل فیشینگ را باز می‌کند، نفوذ رخ خواهد داد (از فایل‌‌های اگسل نیز در روزهای نخستین سوء استفاده می‌شد). این یافته‌‌ها از سوی شرکت ژاپنی ITOCHU Cyber & Intelligence به دست آمده است که اعلام کرده است این بدافزار با ویژگی‌های جدید و همچنین تغییراتی در تکنیک‌های ضد تجزیه و تحلیل (اجتناب از تجزیه و تحلیل) به ‌روزرسانی شده است.

LODEINFO (نسخه‌های 0.6.6 و 0.6.7) برای اولین بار توسط کسپرسکی در نوامبر ۲۰۲۲ کشف گردید و قابلیت‌های آن شامل اجرای shellcode  دلخواه، گرفتن اسکرین شات و استخراج فایل به یک سرور کنترل ‌شده توسط عامل تهدید بود.

ESET یک ماه بعد، حملاتی را فاش کرد که رسانه‌ها، دیپلماسی، نهادهای عمومی، صنایع دفاعی و اتاق‌های فکر ژاپن توسط LODEINFO مورد هدف قرار گرفته بودند. حملات با استفاده از LODEINFO در سال ۲۰۲۳ ادامه یافت و چندین نسخه از بدافزار کشف گردید. این بدافزار همانطور که فراوانی به روز رسانی نسخه آن نشان می‌دهد، همچنان به طور فعال در حال توسعه می‌باشد.

LODEINFO
شکل ۱. تکامل LODEINFO

 

تحلیل و بررسی LODEINFO 

 

جریان نفوذ

جریان نفوذ LODEINFO در ادامه این مقاله مورد بررسی قرار گرفته است. LODEINFO در سال ۲۰۲۳ مجددا مشاهده گردید که دارای تغییراتی نسبت به نسخه‌های پیشین خود بود و آن هم به روز رسانی Downloader Shellcode می‌باشد. مسیر نفوذ اولیه مانند نسخه‌های پیشین است. جریان نفوذ از سند Word مخرب (Maldoc) آغاز می‌شود. LODEINFO در نهایت منجر به تزریق کد مخرب به حافظه خواهد شد.

کد VBA در این Maldoc در سال ۲۰۲۳، به روزرسانی شده است و به طور خاص، کد Downloader Shellcodeها برای هر دو نوع ۳۲ و ۶۴ بیت در آن اضافه شده‌اند و Shellcode مناسب، بسته به محیط مورد نظر انتخاب می‌شود. پذیرش معماری ۶۴ بیتی در سیستم عامل ویندوز یک چالش برای بسیاری از سازمان‌ها است و LODEINFO نیز احتمالاً برای انطباق با معماری ۶۴ بیت تغییر کرده است.

LODEINFO
شکل ۲. جریان نفوذ جدید از زمان LODEINFO نسخه 0.6.8 اجرا شده است

تغییرات در جریان نفوذ از v0.6.8 به v0.7.1 که در سال ۲۰۲۳ یا نسخه‌های بعدی مشاهده گردید، اعمال شده است.

 

تزریق تمپلیت از راه دور

موارد پیچیده‌تری در نسخه 0.6.9، LODEINFO مشاهده شده است که از Remote Template Injection یا اصطلاحا تزریق تمپلیت از راه دور در جریان نفوذ استفاده می‌کند. یک فایل Word با استفاده از Remote Template Injection باز می‌شود و تمپلیت را از سرور C2 مهاجم دانلود کرده و می‌خواند.

تمپلیت دانلود شده، بدافزاری است که معادل Maldoc ذکر شده در بالا است و حاوی کد VBA با Downloader Shellcode تعبیه شده می‌باشد. این در نهایت بدنه اصلی LODEINFO نامیده می‌شود. تصویر زیر تصویری از جریان نفوذ با تزریق تمپلیت از راه دور اضافه شده است.

جریان نفوذ بدافزار LODEINFO
شکل ۳. جریان نفوذ با تزریق تمپلیت از راه دور اضافه شده

خود فایل Word پیوست شده فقط تمپلیت را می‌خواند و تشخیص آن را به عنوان فعالیت مخرب دشوار می‌کند. این تکنیک احتمالاً برای جلوگیری از شناسایی توسط محصولات امنیتی در نظر گرفته شده است. برای تحلیل بیشتر ساختار فایل Word با استفاده از تزریق تمپلیت از راه دور، می‌توان محتوای فایل word\_rels\settings.xml.rels\ را در فایل word بررسی کنیم. این نشان می‌دهد که فایل مورد نظر برای خواندن تمپلیت https://45.76.222[.]130/template.dotm طراحی شده است.

ساختار فایل Word
شکل ۴. ساختار فایل Word که از تزریق تمپلیت از راه دور استفاده می کند

Maldoc

در ادامه به معرفی VBA موجود در Maldoc می‌پردازیم.

 

کد VBA تعبیه شده در Maldoc

کد VBA تعبیه شده در Maldoc شامل کدهای ۶۴ و ۳۲ بیتی Downloader Shellcode است.

بخشی از کد VBA تعبیه شده در Maldoc
شکل ۵. بخشی از کد VBA تعبیه شده در Maldoc

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

Shellcode رمزگذاری شده
شکل ۶. Shellcode رمزگذاری شده و تقسیم شده با Base64 دوباره مونتاژ میگردد

 

بررسی زبان مایکروسافت آفیس

کد بررسی تنظیمات زبان مایکروسافت آفیس در نسخه 0.7.0 Maldoc مستقر شده است. نمونه مورد نظر، بررسی می‌کند که آیا تنظیمات Office ژاپنی است یا خیر. تصور می‌شود که این فقط برای کارکرد در محیط زبان مقصد ایجاد شده است.

LODEINFO

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

 

Downloader Shellcode

Downloader Shellcode مورد استفاده در LODEINFO v0.7.1 یک بدافزار است که فایلی را که به صورت فایل PEM (از این پس به عنوان PEM جعلی نامیده می‌شود) را از سرور C2 دانلود و رمزگشایی می‌کند و در نهایت فایل‌هایی را برای آلوده شدن به LODEINFO ایجاد می‌کند. Shellcode، خود یک دانلودر بسیار ساده است، بنابراین ما نتایج تجزیه و تحلیل فرآیند رمزگشایی داده‌ها از فایل PEM جعلی را در این مقاله به اشتراک خواهیم گذاشت.

 

رمزگشایی فایل PEM جعلی

Downloader Shellcode، فایل PEM جعلی را از سرور C2 دانلود می‌کند و سپس فایل با استفاده از مراحل زیر رمزگشایی می‌شود:

  1. هدر و پاورقی فایل PEM جعلی حذف می‌شود.
  2. داده‌های مرحله ۱ با استفاده از Base64 رمزگشایی می‌گردد.
  3. ۳ بایت اول از داده‌های رمزگشایی شده در مرحله ۲ حذف می‌شوند.
  4. یک HMAC با استفاده از الگوریتم هش SHA1 از رمز عبور کدگذاری شده در دانلود Shellcode تولید می‌شود.
  5. HMAC تولید شده در مرحله ۴ به عنوان کلید برای AES استفاده می‌گردد و داده‌های مرحله ۳ با استفاده از AES رمزگشایی می‌شوند.
  6. داده‌های رمزگشایی شده در مرحله ۵ با استفاده از یک کلید XOR تک بایتی رمزگشایی می‌شوند.

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

LODEINFO
شکل ۸. رمزهای عبور رمزگذاری شده مورد نیاز برای رمزگشایی فایل PEM جعلی

 

استقرار Shellcode بکدور LODEINFO در حافظه

داده‌های رمزگشایی شده در مرحله ۶ با یک ساختار داده منحصر به فرد طراحی شده است. آبجکت‌هایی مانند Frau.dll مخرب برای استفاده در مرحله بعد در آن تعبیه شده است. جزئیات ساختار به شرح زیر است:

ساختار داده‌های بازیابی شده از فایل PEM جعلی
شکل ۹. ساختار داده‌های بازیابی شده از فایل PEM جعلی

داده‌های بازیابی شده حاوی چندین آبجکت به شرح زیر هستند:

  • exe
  • dll
  • exe_bak

هر آبجکت در یک فایل توسط Downloader Shellcode ایجاد می‌شود و در endpoint  آلوده نصب می‌گردد؛ سپس Elze.exe اجرا خواهد شد. Elze.exe خود یک فایل قانونی است، اما Frau.dll مخرب را با استفاده از بارگذاری جانبی DLL بارگیری می‌کند. Frau.dll یک بدافزار بسیار ساده است که Shellcode بکدور LODEINFO  را به عنوان یک پیلود در حافظه بارگذاری می‌کند.

با این حال، مبهم سازی در نسخه‌های v0.6.6، v0.6.8، و v0.6.9، با استفاده از Control-Flow Flattening (CFF) و کد ناخواسته بیشتر تقویت می‌شود. همانطور که در شکل زیر مشاهده می‌کنید، سمت چپ جریان برنامه بسیار پیچیده است. کد سمت راست شکل، بخشی از کد مربوطه است، اما بیشتر کد با CFF  (زرد) و کد ناخواسته (خاکستری) پر شده است و در واقع فقط مقدار کمی از کد مخرب (سفید) استفاده شده است.

کد مبهم شده توسط CFF
شکل ۱۰. مثالی از یک جریان برنامه و کد مبهم شده توسط CFF و کد ناخواسته

در نهایت، فایل Elze.exe_bak که داده‌ای با Shellcode بکدور LODEINFO  است و با یک XOR تک بایتی کدگذاری شده است، توسط Frau.dll خوانده می‌شود و به‌ عنوان یک پیلود، رمزگشایی می‌گردد.

 

شباهت با دانلودر شناخته شده DOWNIISSA

با انجام یک تحلیل دقیق، مشخص گردید که Downloader Shellcode مورد بررسی و دانلودر شناخته شده DOWNIISSA دارای سه شباهت با یکدیگر هستند. با این حال، ما معتقدیم که DOWNIISSA و Downloader Shellcode که مورد تحلیل و بررسی قرار دادیم، بر اساس ساختار خود از خانواده‌های مختلف بدافزارها هستند.

 

شباهت‌ها:

  • مکانیزم وصله خودکار برای پنهان سازی کدهای مخرب
  • روش رمزگذاری برای اطلاعات سرور C2
  • ساختار داده‌های رمزگشایی شده از فایل PEM جعلی

 

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

اولین شباهت مکانیزم وصله برای رمزگشایی خود Shellcode است. DOWNIISSA که در سال ۲۰۲۲ گزارش گردید، فرآیندی برای اصلاح خود Shellcode در هنگام اجرای آن داشت. Downloader Shellcode تازه یافت شده همچنین دارای مکانیزم خود اصلاحی یا Self-patching است.

مکانیزم Self-patching
شکل ۱۱. مکانیزم Self-patching در Downloader Shellcode

اگرچه این مکانیزم (Self-patching) در DOWNIISA مشابه همان مکانیزمی است که در Shellcode انجام می‌شود، اما تفاوت‌های واضحی نیز وجود دارد. DOWNIISSA از Base64 استفاده می‌کند، اما Downloader Shellcode فعلی از رمزگشایی XOR استفاده می‌نماید. کلید XOR یک به یک استفاده می‌شود و از 0X00 به 0XFF افزایش می‌یابد.

 

شباهت دوم: روش رمزگذاری برای اطلاعات سرور C2

شباهت دوم این است که روش رمزگذاری اطلاعات سرور C2 تعبیه شده در Shellcode یکسان می‌باشد. Downloader Shellcode شامل دو آدرس سرور C2 است که با یک XOR تک بایتی کدگذاری شده‌اند. نه تنها متد رمزگذاری بلکه روش تعبیه نیز بسیار مشابه است.

LODEINFO
شکل ۱۲. اطلاعات سرور C2 و فایل PEM جعلی تعبیه شده در Downloader Shellcode

 

شباهت سوم: ساختار داده‌های رمزگشایی شده از فایل PEM جعلی

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

 

Shellcode بکدور LODEINFO

 

Shellcode بکدور LODEINFO ، یک بدافزار بدون فایل (fileless) است که به مهاجمان اجازه می‌دهد از راه دور به میزبان‌های آلوده دسترسی داشته باشند و از آنها استفاده کنند. ویژگی‌های زیر همانند اطلاعات منتشر شده هستند:

  • آدرس سرور C2 از یک ساختار داده منحصر به فرد استفاده می‌کند.
  • مکانیزمی که به آدرس داده‌های تعبیه شده اشاره دارد، به عنوان مشخصه یا characteristic در نظر گرفته می‌شود.
  • شناسه فرمان بکدور با استفاده از XOR دو بایتی مخفی می‌شود.
  • ساختار و رمزگذاری داده‌های ارتباطی با سرور C2 بسیار پیچیده است، همانطور که در شکل زیر نشان داده شده است.
  • رمزگذاری فوق چندین بار از رمز Vigenere استفاده می‌کند.
LODEINFO
شکل ۱۳. نمای کلی از ساختار منحصر به فرد داده و رمزگذاری مورد استفاده برای ارتباط با سرور C2

تجزیه و تحلیل شرکت ژاپنی ITOCHU Cyber & Intelligence از نمونه‌های متعدد LODEINFO که در سال ۲۰۲۳ یافت شدند، تفاوت‌های زیر را با اطلاعات منتشر شده قبلی نشان می‌دهد:

  • تغییر در الگوریتم محاسبه هش برای به دست آوردن نام توابع API
  • اضافه شدن دستورات بکدور

 

تغییر ۱: تغییر در الگوریتم محاسبه هش برای به دست آوردن نام توابع API

نسخه v0.7.0 از یک الگوریتم محاسبه هش جدید در مقایسه با v0.6.9 استفاده می‌کند. این تغییر، تطبیق امضاها را با استفاده از قوانین مشابه نمونه‌های قبلی غیرممکن می‌سازد.

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

تغییر در الگوریتم محاسبه هش
شکل ۱۴. تغییر در الگوریتم محاسبه هش

 

تغییر ۲: افزودن موارد بیشتر به دستورات بکدور

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

تعداد دستورات بکدور در نسخه 0.6.5 به ۱۱ مورد کاهش یافت، اما نسخه v0.7.1 ، تعداد۶ دستور را بازیابی نموده و دستور runas جدید را نیز اضافه کرده و مجموع آن را به ۱۸ مورد رسانده است. علاوه بر این، چهار دستور (keylog، ps، pkill، autorun) که در v0.7.2 و v0.7.3 حذف شده بودند، بازیابی شده‌اند و محتوای دستور config  (پیکربندی) که قبلاً پیغام ” Not Available ” را نشان می‌داد نیز پیاده سازی شده است.

دستور

شرح

v0.6.5

v0.7.1

v0.7.2 و v0.7.3

command

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

فعال

فعال

فعال

ls

لیستی از فایل ها را دریافت می‌کند.

حذف شده

فعال

فعال

rm

یک فایل را حذف می‌کند.

حذف شده

فعال

فعال

mv

انتقال یک فایل

حذف شده

فعال

فعال

cp

یک فایل را کپی می‌کند.

حذف شده

فعال

فعال

cat

یک فایل به C2 آپلود می‌کند.

حذف شده

فعال

فعال

mkdir

یک دایرکتوری ایجاد می‌کند.

حذف شده

فعال

فعال

send

یک فایل از C2 دانلود می‌کند.

فعال

فعال

فعال

recv

یک فایل به C2 آپلود می‌کند.

فعال

فعال

فعال

memory

Shellcode را به حافظه تزریق می‌کند.

فعال

فعال

فعال

kill

یک فرآیند را توسط شناسه فرآیند خاتمه می‌دهد.

فعال

فعال

فعال

cd

دایرکتوری را تغییر می‌دهد.

فعال

فعال

فعال

ver

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

فعال

فعال

فعال

print

یک اسکرین شات از دسکتاپ تهیه می‌کند.

فعال

فعال

فعال

ransom

فایل ها را با استفاده از یک کلید AES ایجاد شده رمزگذاری می‌کند و همزمان آن کلید AES را با استفاده از یک کلید RSA هاردکد شده، رمزگذاری می‌کند.

فعال

فعال

فعال

comc

یک دستور را با استفاده از WMI اجرا می‌کند.

فعال

فعال

فعال

config

تنظیمات را در رجیستری می‌نویسد (در نسخه 0.7.2 اجرا شده است، این تابع فقط پیام ” Not Available ” را قبل از نسخه 0.7.1 باز می‌گرداند).

Not Available

(در دسترس نیست)

Not Available

(در دسترس نیست)

فعال

runas

یک دستور را به عنوان یک کاربر خاص اجرا می‌کند (پیاده‌سازی شده در v0.7.1).

N/A

(در دسترس نیست)

فعال

فعال

keylog

کلیدهای فشرده شده کیبرد، تاریخ و زمان و نام پنجره فعال را از endpoint مشکوک ذخیره می‌کند. از رمزگذاری XOR تک بایتی استفاده می‌کند و فایل در %temp%%hostname%.tmp ذخیره می‌شود.

حذف شده

حذف شده

فعال

ps

لیست فرآیندها را نمایش می‌دهد.

حذف شده

حذف شده

فعال

pkill

خاتمه فرآیند

حذف شده

حذف شده

فعال

autorun

تنظیم و حذف دسترسی

حذف شده

حذف شده

فعال

زیرساخت مهاجم

روند زیرساخت مهاجم که در سال ۲۰۲۳ مشاهده گردید در بین نسخه‌ها ثابت می‌باشد و مهاجمان ترجیح می‌دهند از AS-CHOOPA استفاده کنند.

زیرساخت مهاجم LODEINFO
شکل ۱۵. زیرساخت مهاجم LODEINFO

 

سخن پایانی

چندین نسخه از LODEINFO در سال ۲۰۲۳ و نسخه 0.7.3 در ژانویه ۲۰۲۴ مشاهده گردید. مهم است که همچنان مراقب باشید، زیرا احتمال زیادی وجود دارد که در آینده ویژگی‌های جدید و تکنیک‌های دور زدن مکانیزم شناسایی نیز در آن گنجانده شود. به عنوان یک اقدام متقابل، از آنجایی که هم Downloader Shellcode و هم Shellcode بکدور LODEINFO، بدافزارهای بدون فایل هستند، معرفی محصولی که بتواند بدافزار را در حافظه اسکن و شناسایی کند، برای شناسایی آن ضروری می‌باشد.

IoCها

MD5:

69dd7fd355d79db0325816569ae2129a – Maldoc
E82d98bae599cd172bb194adbdc76873 – zip file of above Maldoc
D1a925ddb6d0defc94afb5996ed148bd – Maldoc
9598b2af9dd1493dd213dbca56912af4 – Maldoc
2a9012499d15145b5f63700c05adc426 – Loader module
508aed3687c146c68ad16326568431ab – Loader module
60dea5b5f889f37f5a9196e040bce0eb – BLOB:encrypted LODEINFO v0.6.9
3d910e8ab29362ae36de73c6b70a7e09 – BLOB:encrypted LODEINFO v0.7.1
290c5f33a4f4735e386b8193b1abdcf9 – Artifact:unique data structure for malware set

منابع

همچنین ممکن است دوست داشته باشید

پیام بگذارید