نوع جدید از Steganography و بارگیری حافظه در چندین مرحله برای سرقت اطلاعات استفاده می کند


آزمایشگاه امنیتی Quick Heal با استفاده از استگانوگرافی متوجه افزایش ناگهانی نمونه های dotnet شده است. در ابتدا ، اطلاعات زیادی در تجزیه و تحلیل استاتیک وجود ندارد. به نظر می رسد یک برنامه ساده است که با نام روش کار می کند. از طرف پویا ، برخی فعالیت نشان می دهند ، اما بررسی دیگری برای محیط ماسه سنگ است. جدا از آن ، حتی در صورت انجام ، چندین مرحله از حافظه را که شامل چندین دوره خواب طولانی است ، بارگیری می کند. یکی از چنین پرونده هایی که در آزمایشگاه ما بدست آمده از بدافزار Formbook است. دزد Formbook از سال 2016 به عنوان سرویس در فرم های هکر فروخته شده است.

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

تجزیه و تحلیل فنی

SSO.exe

در منبع sso.exe تصویری وجود دارد که استفاده از steganography را نشان می دهد. با این حال ، این منبع در این سطح استفاده نمی شود. منبع دیگری وجود دارد که یافتن آن در ابتدا دشوار است. با عبور از کد رمزگشایی ، این منبع دوم به عنوان مرحله 1 شناخته شد.

شکل 1 GregorianCalendar در Resource حاوی فایلی از مرحله 2 است

شکل 2 یک درخت نامگذاری منبع دیگر ، درست در زیر خط آبی ، نقاط قرمز قابل مشاهده وجود دارد ، حاوی پرونده ای از مرحله 1 است

در نقطه ورود یک خط کد برای اجرای فرم وجود دارد.

شکل 3 تابع Basic ، سازنده Form1 است که فایل را از مرحله 1 رمزگشایی می کند

اگر به کد Form1 برویم ، اطلاعات زیادی وجود ندارد. اما وقتی کلاس Form1 را بررسی می کنیم ، می توانیم در سازنده آن فراخوانی به روش ISectionEntry را ببینیم.

شکل 4 کد طراح ، برنامه رمزگشایی پرونده موبایل از مرحله 1

ISectionEntry شامل کدی برای به دست آوردن پیکسل ها (شکل 5) ، تبدیل به یک عدد صحیح و نوشتن آن به یک آرایه (شکل 6) و سپس فراخوانی MessageSurrogateFilter با بافر منتقل شده به عنوان یک پارامتر است.

شکل 5 روش رمزگشایی تصویر ، رمزگشایی مرحله 1 پرونده PE

شکل 6 بافر حاوی پرونده PE مرحله 1

روش MessageSurrogateFilter () سپس مقدار رمزگشایی شده (SimpleUI.dll) را در حافظه بارگذاری می کند و روش SeclectorX () خود را با چند استدلال فراخوانی می کند ، که بعداً در مرحله 1 توضیح داده خواهد شد.

شکل 7 اسمبلی بارگیری مرحله 1 در حافظه و فراخوانی عضو SelectorX با نام منبع ، کلید رمزگشایی و نام اسمبلی

شکل 8 SimpleUI.dll در حافظه بارگیری شده است

مرحله ی 1:

شکل 9 SimpleUI.dll

  • از آنجا که روشهای زیادی در این پرونده وجود ندارد ، ما مستقیماً از طریق کد متد SelectorX می رویم. همانطور که در شکل 7 می بینیم ، سه مقدار به این تابع منتقل شده است:
  • RestrictedError = 477265676F7269616E43616C656E646172 = GregorianCalendar (نام منبع در پرونده اصلی ، منبعی که در شکل 1 نشان داده شده است)
  • ValueEnumerator = 72584C4F594D6D556D = rXLOYMmUm (کلید رمزگشایی)
  • نام پروژه = نماینده. مشترک (پرونده اصلی)
  • روش cba () حاوی کدی برای بازیابی پیکسل ها از تصویر و تبدیل آنها به عدد صحیح و نوشتن آنها به یک آرایه است و XeH شامل کدی برای تبدیل مقدار هگزادسیمال به یک رشته است.

شکل 10 روش SelectorX از مجموعه اصلی به منبع GregorianCalendar دسترسی پیدا می کند و آن را با استفاده از کلید عبور شده از روش fgh () رمزگشایی می کند

شکل 11 اندازه بافر برای مرحله 2 شروع می شود

روش رمزگشایی روش fgh () یک XOR ساده با 2 مقدار است که در آن آرایه “bytes” حاوی نسخه Unicode کلید است (که در بالا به آن ValueEnumerator گفته می شود).

شکل 12 کد متد fgh () برای رمزگشایی ، xoring طبیعی

پس از رمزگشایی ، مجموعه در حافظه بارگیری می شود.

شکل 13 مونتاژ مرحله 2 در حافظه بارگذاری شده است

مرحله 2:

شکل 14 مونتاژ مرحله 2

تجزیه با این نام های عملکرد رمزگذاری شده دشوار می شود.

شکل 15 نام روش های Unicode در مرحله 2

در این مرحله 2 ، روشی به نام Fedree () تدوین می شود که سازنده آن حاوی کدی برای رمزگشایی و تزریق محموله نهایی است.

در روش رمزگشایی ، نام منبع ابتدا به s2pCN رمزگشایی می شود (منبع مرحله 2) ، منبع را بارگیری می کند و به همراه کلید به XOR_DEC منتقل می کند. سپس بافر رمزگشایی شده به تابع Unscramble منتقل می شود ، جایی که یک فایل dotnet دیگر را حمل می کند.

شکل 16 روش رمزگشایی در مرحله 2 ، که محموله نهایی را حمل می کند

XOR_DEC شامل یک xor ساده با کد مبهم است.

شکل 17 روش Xor_Dec بار نهایی را رمزگشایی می کند

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

شکل 18 کد روش رمزگشایی یک پرونده بار نهایی PE را حمل می کند

پس از رمزگشایی ، حفره ها را پردازش می کند و فرآیند sso.exe را در حالت متوقف ایجاد می کند.

شکل 19 کد توخالی را برای تزریق محموله نهایی پردازش کنید

شکل 20 پرچم گذاری برای ایجاد یک فرآیند در حالت متوقف شده

محموله نهایی:

پرونده تزریق شده آخرین بار حمل و نقل Formbook است که حدود 1500 روش با نام های تصادفی دارد.

این شامل 2 رشته مختلف رمزگذاری شده در Base64 است.

شکل 21 رشته کدگذاری شده 1 شامل اطلاعات و پیکربندی CnC است

2دوم رشته base64 شامل 5 ماژول است که بعداً در حافظه بارگیری و اجرا می شوند.

شکل 22 رشته کدگذاری شده 2

رشته ها از base64 تبدیل می شوند ، سپس معکوس می شوند و با کاراکترهای مشخص جایگزین می شوند و base64 دوباره رمزگشایی می شود.

شکل 23 روش رمزگشایی برای رمزگشایی جزئیات CnC در رشته 1 و ماژول های مختلف موجود در رشته 2

داده های بدست آمده برای 1خیابان رشته رمزگشایی شده ، سرورهای CnC ، نام mutex و برخی تنظیمات است.

شکل 24 داده ها از رشته رمزگشایی شده 1

همچنین یک پیوست برای بررسی اتصال شبکه و راه اندازی مجدد فرآیند و حذف پیوست ایجاد می کند.

شکل 25 محتوای پرونده Bat

پس از رمزگشایی داده ها ، بررسی می شود که آیا mutex وجود دارد ، یا خیر. در پیکربندی ، مقدار برچسب “AUR” صحیح است ، 2 نام از فرایندهای در حال اجرا را می گیرد ، 1 نام فرآیند را می گیرد ، دیگری نام هر پوشه را از فهرست والدین می گیرد و با روند در این مکان کپی می شود نام کوچک. علاوه بر این ، پرونده ای به نام هش از نام فرآیند و برخی از داده های زباله که به طور تصادفی تولید شده اند ، نگهداری می شود.

شکل 26 در مکانهای مختلف از مسیر فرآیندهای در حال اجرا کپی می شود و همچنین نام را از همان نام می گیرد

همچنین برنامه هایی را برای این پرونده های کپی شده برنامه ریزی می کند.

شکل 27 یک کار برنامه ای برای پرونده های کپی شده ایجاد می کند

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

شکل 28 کد بارگیری ماژول های مختلف و فراخوانی روش های مختلف بر اساس در دسترس بودن آنها

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

همچنین ماژولی وجود داشت که هنگام دریافت دستورات از CnC ، کد DCRat را هنگام اجرا کامپایل می کند.

شکل 29 کد کامپایل کد DCRat در زمان اجرا

ماژول های مختلف دیگر موجود:

  1. ماژول آنتی آنالیز

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

شکل 30 مقادیر رمزگذاری شده برای رشته های مورد استفاده در ماژول تجزیه و تحلیل

این شامل تکنیک های مختلفی برای شناسایی اینکه آیا تحت سیستم عامل VM یا Sandboxing در صورت اجرای فرآیندهای نظارت در حال اجرا است. همچنین ، راهی برای شناسایی VM / Sandboxing با بررسی حافظه فیزیکی است.

شکل 31 ماژول تجزیه و تحلیل

  1. ماژول USBSpreadDCLIB

شامل کدی برای توزیع در دستگاه های USB با ایجاد یک شروع خودکار.

شکل 32 ماژول USBSPreadDCLIB

  1. ماژول MiscellaneousInfoGraber

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

شکل 33 یک رجیستری را برای حذف سوابق جمع می کند

شکل 34 لیست فرآیندهای در حال اجرا

شکل 35 اطلاعات منطقه زمانی

  1. ماژول FileGrabber

همه پرونده ها را جمع آوری می کند

شکل 36 File Grabber Modules پرونده ها را جمع آوری می کند

  1. ماژول محافظت BSODP

در حال حاضر ، این ماژول در شرایط کامل نیست. این نشان می دهد که هنوز در حال توسعه است.

نتیجه:

به نظر می رسد این بدافزار است که هنوز در حال توسعه است. ما هنوز وکتور اولیه را دریافت نکرده ایم ، اما به نظر می رسد از یک پرونده مخرب Doc / Xls بارگیری شده است که از طریق ایمیل توزیع می شود. کاربران باید از باز کردن ایمیل ها ، اسناد ارسال شده توسط فرستنده های ناشناخته پرهیز کنند و AV را به روز کنند. همه ماژول ها و مراحل را با Trojan.Formbook و Trojan.YakbeexMSIL.ZZ4 پیدا می کنیم

MITER ATT & CK TTP:

مجازی سازی / جلوگیری از ماسهبازی: بررسی سیستم T1497.001
کار / کار برنامه ریزی شده T1053
تزریق فرآیند: حفاری فرآیند T1055.012
نقاب زدن T1036
اعتبار نامه از فروشگاه های رمز عبور T1555
جزئیات کلیپ بورد T1115
داده های ذخیره سازی پیکربندی T1602

IOC:

  • 1D13A84AA671B75F66F4C7FCE8339619291D4A43 exe
  • 6C73DC53F1AF57E1B2B404F2E20A9AECBAA80051 dll
  • DC7CF9544AA5B4928697B4C49C94A60211F025A1 dll
  • 9577B2B5C4FBA6B2AFA65C5161FCE75F48E75D5D dll
  • 7E314AE69FC9A613A4A5356556F73E027B540141 dll
  • 32D97D1729D9A5919CBE1AE76F46BCDB9620120133 dll

رومانا سیدیکی

Author: morteza

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *