نگاهی به حملات سیاه باجافزار LockBit 3.0
شرکت سوفوس (Sophos) در گزارشی به مهندسی معکوس حملات اخیر جدیدترین نسخه از باجافزار معروف LockBit – که با نامهای LockBit 3.0 و LockBit Black نیز شناخته میشود – پرداخته است.
LockBit، از جمله باجافزارهایی است که در قالب خدمات موسوم به “باجافزار به عنوان سرویس” (Ransomware-as-a-Service – RaaS) به سایر مهاجمان عرضه میشود.
در اوایل امسال، جزییاتی در خصوص LockBit 3.0 منتشر شد که نشان میداد توسعهدهندگان این باجافزار در تلاشند تا با اسکریپتنویسی، توزیع آن در سطح شبکه را از طریق Windows Group Policy Objects – به اختصار GPO – یا با ابزار PSExec خودکارسازی کنند.
از سویی بررسی LockBit 3.0 نشان میدهد که این باجافزار، اکثر قابلیتهای نسخه قبلی خود، یعنی LockBit 2.0 را در خود دارد. در عین حال نویسندگان آن با بکارگیری تکنیکهای مختلف مبهمسازی (Obfuscation)، تحلیل نسخه جدید را برای محققان و محصولات امنیتی به مراتب دشوارتر کردهاند.
به عنوان مثال، در برخی موارد، اجرای باجافزار LockBit 3.0 مستلزم ورود یک “رمز عبور” 32 کاراکتری در خط فرمان است. بنابراین، بدون اطلاع از رمز عبور مذکور امکان اجرای این باجافزار در یک محیط آزمایشگاهی دشوار خواهد بود. هر چند نمونههایی که توسط محققان سوفوس بررسی شدهاند الزام ورود رمز عبور را نداشتهاند.
ضمن آن که باجافزار با مجوزهای LocalServiceNetworkRestricted نیز قابل اجرا بوده و عملاً نیازی به دسترسی کامل در سطح Administrator ندارد.
نکته قابل توجهه دیگر این که به نظر میرسد بسیاری از قابلیتهای LockBit 3.0 مستقیماً از باجافزار BlackMatter برگرفته شده است.
LockBit 3.0 نسخه تکامل یافته از BlackMatter
همان طور که اشاره شد LockBit 3.0 چندین تکنیک خود را از خانواده باجافزاری BlackMatter الهام گرفته است.
ترفند ضد اشکالیابی
Blackmatter و Lockbit 3.0 از ترفند خاصی جهت پنهان کردن فراخوانی توابع داخلی خود استفاده میکنند. در هر دو مورد، باجافزار یک Windows DLL را از جداول درهمساز (Hash) خود، که بر اساس ROT13 است، بارگذاری میکند. همچنین سعی میکند با جستجو در Process Environment Block – به اختصار PEB – ماژول، اشارهگرها را از توابع مورد نیاز خود دریافت کند.
سپس در انتهای پشته (Heap) به دنبال یک نشانگر باینری خاص در کد (0xABABABAB) میگردد؛ اگر این نشانگر را پیدا کرد، به این معنی است که کسی کد را اشکالیایی میکند لذا نشانگر را ذخیره نمیکند و عملاً باجافزار متوقف میشود.
پس از این بررسیها، برای هر API مورد نیاز، یک Stub خاص ایجاد میکند. به طور کلی پنج نوع مختلف Stub وجود دارد که میتوانند (به صورت تصادفی) ایجاد شوند. هر Stub قطعه کوچکی از Shellcode است که به صورت لحظهای درهمساز API را تحلیل نموده و به نشانی API در حافظه میپرد. تکنیکی دیگر برای دشوار کردن مهندسی معکوس کردن این باجافزار.
محققان سوفوس، دستورالعمل رمزگشایی تکه کدهای Stub در Shellcode را در نشانی زیر به اشتراک گذاشتهاند.
در تصویر زیر، اولین Stub رمزگشایی شده نشان داده شده است.
مبهمسازی رشتهها
بسیاری از رشتهها هم در LockBit 3.0 و هم در باجافزار BlackMatter مبهمسازی شدهاند و در طول زمان اجرا با درج رشتههای مبهم در پشته و رمزگشایی با یک تابع XOR استخراج میشوند. کدهای مبهمساز در LockBit و BlackMatter بسیار شبیه به یکدیگر هستند.
روش مبهمسازی رشته که در باجافزار LockBit 3.0 بکارگرفته شده، بسیار شبیه به روش استفاده شده در باجافزار BlackMatter به نظر میرسد.
بازگردانی API
LockBit دقیقاً از همان پیادهسازی BlackMatter برای رمزگشایی فراخوانیهای API استفاده میکند؛ با یک استثنا: LockBit یک مرحله اضافی با هدف پنهان کردن عملکرد آن از دیباگرها اضافه کرده است.
آرایه فراخوانیها دقیقاً همان تابع موجود در باجافزار LockBit 3.0 بوده و عملکردی مشابه را ارائه میدهد.
پنهانسازی نخها
هر دو باجافزار LockBit و BlackMatter با بکارگیری تابع NtSetInformationThread و پارامتر ThreadHideFromDebugger، نخها (Thread) را مخفی میکنند. احتمالاً این موجب میشود که اشکالیاب، رویدادهای مربوط به این نخها را شناسایی نکند.
LockBit نیز از همان ویژگی ThreadHideFromDebugger به عنوان ترفندی جهت فرار از سد محصولات امنیتی و ابزارهای کنترلی استفاده میکند.
چاپ اطلاعیه باجگیری
LockBit، همانند BlackMatter، اطلاعیه باجگیری (Ransom Note) را مستقیماً به چاپگرهای قابل دسترس ارسال میکند.
حذف Volume Shadow Copy
هر دو باجافزار از طریق حذف فایلهای Volume Shadow Copy، قابلیت کامپیوتر آلوده را در بازیابی فایلهای رمزگذاریشده از بین میبرند. باجافزار LockBit، متد IWbemLocator::ConnectServer را فراخوانی میکند تا به فضای محلی ROOT\CIMV2 متصل شده، به نشانگری از یک Object در IWbemServices دست پیدا کرده و در نهایت IWbemServices::ExecQuery را برای اجرای یک Query از WQL فراخوانی کند.
در این حالت نیز متد LockBit مشابه BlackMatter است، با این تفاوت که تا حدودی مبهمسازی رشته را به زیرروال (Subroutine) اضافه میکند.
استفاده از DNS
هر دو باجافزار LockBit و BlackMatter با فراخوانی NetShareEnum، اسامی دستگاه را در شبکه استخراج میکنند.
به نظر میرسد که در کد منبع LockBit، تابع مذکور به طور دقیق و کلمه به کلمه از کد منبع باجافزار BlackMatter کپی شده است.
تشخیص نسخه سیستمعامل
هر دو نوع باجافزار از کد یکسانی – و حتی با بکارگیری کدهای بازگشتی یکسان – جهت بررسی نسخه سیستمعامل استفاده میکنند. اگر چه با توجه به هگزادسیمال بودن شماره نسخه چنین شباهتی را میتوان عادی و معمول دانست.
پیکربندی
هر دو باجافزار، دادههای پیکربندی را در فایلهای اجرایی باینری تعبیه کردهاند. باجافزار LockBit پیکربندی خود را به روشی مشابه BlackMatter رمزگشایی میکند، البته با چند تفاوت کوچک.
به عنوان مثال، BlackMatter پیکربندی خود را در بخش rsrc. ذخیره میکند، در حالی که LockBit آن را در pdata. ذخیره مینماید.
و LockBit از یک الگوریتم Linear Congruential Generator – به اختصار LCG – متفاوت برای رمزگشایی استفاده میکند.
برخی از محققان حدس میزنند که شباهت بسیار زیاد بین کد باجافزارهای LockBit و BlackMatter ممکن است به علت استخدام یک یا چند کدنویس باجافزار BlackMatter توسط گردانندگان LockBit باشد. یا اینکه گردانندگان LockBit کدهای باجافزار BlackMatter را خریداری کرده باشند و یا ممکن است این شباهتهای زیاد به دلیل همکاری توسعهدهندگان و برنامهنویسان این دو باجافزار باشد.
بر اساس تحقیقات قبلی، تعامل بین گروههای باجافزاری چه سهواً یا عمداً چندان غیرمعمول نیست.در هر صورت، این یافتهها شواهد دیگری است از اینکه اکوسیستم باجافزار پیچیده و در عین حال تغییرپذیر است.
در هر صورت، LockBit 3.0 را میتوان باجافزاری پیشرو دانست. همانطور که سایت نشتداده LockBit 3.0 – که شامل جایزه اعلام باگها و آسیبپذیریها و جایزهای برای “ایدهها و نوآوریهای درخشان” است – از استقبال گردانندگان این باجافزار از نوآوری حکایت دارد.
بکارگیری ابزارهای تست نفوذ
از سوی دیگر، حملات LockBit 3.0 از استفاده مهاجمان آن از ابزارهای مورد استفاده در جریان تستهای نفوذ حکایت دارد.
برای مثال، مهاجمان در مواردی از ابزاری با نام Backstab که بر روی GitHub نیز قابل دسترس است، استفاده کردهاند. عملکرد اصلی Backstab، همانطور که از نامش پیداست، مختل نمودن ابزاری است که تحلیلگران در مراکز عملیات امنیتی جهت نظارت بر فعالیتهای مشکوک استفاده میکنند.
این ابزار از درایور Process Explorer مایکروسافت (امضاشده توسط مایکروسافت) برای توقف پروسههای محافظت شده و ضدبدافزار و غیرفعال نمودن ابزارهای EDR استفاده میکند.
Cobalt Strike دیگر ابزاری به نوعی معتبر است که مهاجمان LockBit از آن برای دستدرازی به Windows Defender بهره میگیرند.
یا در نمونهای دیگر، مهاجمان از نوعی باجافزار قفل شده با رمز عبور به نام lbb_pass.exe استفاده میکنند که پیشتر توسط مهاجمان باجافزار REvil نیز بکار گرفته شده است. این نشان میدهد که مهاجمان این باجافزار وابسته به هر دوی این گروهها میباشند و یا مهاجمانی که به LockBit وابسته نیستند از ابزار ساخت باجافزار LockBit 3.0 استفاده کردهاند. طبق گزارشها حداقل یک گروه به نام BlooDy، از این ابزار استفاده کرده است و احتمال آن وجود دارد که تعداد بیشتری این ابزار را بکار گرفته باشند.
مهاجمان LockBit 3.0 همچنین از ابزارهای عمومی در دسترس زیر که استفاده از آنها در بین مهاجمان باجافزاری دیگر نیز رایج است، بهره بردهاند:
- GMER anti-hook
- ESET AV Remover
- اسکریپتهای PowerShell طراحی شده برای حذف محصولات Sophos از سیستمهایی که در آنها Tamper Protection غیرفعال است.
همچنین شواهد به دست آمده حاکی از آن است که مهاجمان از ابزاری به نام Netscan برای کاوش در شبکه موردنظر و از Mimikatz جهت استخراج رمز عبور استفاده میکنند.
اطلاعات بیشتر
مشروح گزارش سوفوس در لینک زیر قابل دریافت و مطالعه است:
نشانههای آلودگی (IoC) این باجافزار نیز در لینک زیر قابل دسترس است:
https://github.com/sophoslabs/IoCs/blob/master/Ransomware-Lockbit3-IOCs.csv