در حالی که بسیاری از سازمانها، مشغول پچ کردن دو آسیبپذیری جدید Apache Log4j (CVE-2021-44228 و CVE-2021-45046) هستند، مهاجمان برای به کارگیری آنها به منظور تحویل بدافزارهایی مثل باتنتها، بکدوورها و کریپتوماینرها، با هم دیگر رقابت دارند.
یکی از تهدیدهایی که از Log4Shell استفاده میکند، یک خانواده جدید از باجافزارها به نام Khonsari است که Bitdefender آن را کشف کرده است. تاکنون، فقط یک نسخه ویندوز از این باج افزار شناسایی شده که مربوط به یازدهم دسامبر است. در آن حمله، مهاجمان از آسیبپذیری CVE-2021-44228 برای تحویل فایل قابل اجرا استفاده کردند. مایکروسافت نیز چندین مورد اجرای باجافزار Khonsari توسط کاربران آسیبپذیر ماینکرفت را شناسایی کرده است.
تا اینجا اینطور به نظر میرسد که Khonsari، حاصل کاری فردی است و با مدل محبوب «باجافزار به عنوان سرویس» (RaaS) که رویل (REvil)، لاکبیت (LockBit)، بلکمتر (BlackMatter) و هیو (Hive) از آن استفاده میکنند، کار نمیکند.
اولین فایلی که در حمله مشارکت داشت، یک دانلودکننده جاوا به نام Main.class بود و توسط Log4Shell، تحویل داده شد.
الگوی Log4Shell که میتوان از آن برای تحویل باجافزار Khonsari استفاده کرد.
این فایل جاوا، یک دانلودکننده ساده است و دو روز بعد از شناسایی اولیه Khonsari، یعنی در سیزدهم دسامبر، مهاجمان، فایل Main.class را تغییر دادند تا بدافزار دیگری به نام Orcus RAT را تحویل دهد.
فایل جاوا تحویل داده شده از طریق Log4Shell بدافزار Orcus RAT را دانلود میکند.
این باجافزار با استفاده از .NET توسعه یافته و مهاجمان، date stamp زمان کامپایل شده را به ۴۶ سال بعد، تغییر دادهاند.
جزئیات باینری Khonsari.
توسعهدهنده این بدافزار از مبهمسازی جزئی برای مخفیکردن نام بعضی از کلاسها، توابع و متغیرها، استفاده کرده است.
خوانسازی دکامپایل شده.
تمامی رشتههای مورد استفاده توسط این باجافزار، با استفاده از یک الگوریتم Rolling XOR ساده، کدنویسی شده است. این رشتهها را میتوان به صورت کد پایتون زیر، نشان داد:
رشتههای Khonsari کدگشایی شده.
به محض اجرای Khonsari، یک درخواست شبکه به یک سرور خارجی ارسال میشود.
اولین اقدام در عملکرد اصلی Khonsari.
این کار، احتمالا فقط برای تست اتصال به شبکه است زیرا هیچ دادهای در این Process، ارسال یا دریافت نمیشود. به علاوه، ما متوجه شدیم که اگر URL پاسخ ندهد، Process، کرش میشود. بنابراین، میتوان URL را بلاک کرد تا باجافزار Khonsari، اجرا نشود.
درخواست شبکه ارسال شده به وسیله Khonsari.
Khonsari، بعد از درخواست شبکه، تمامی درایوهای دردسترس و جدا از درایو C:\ را شمارش میکند. سپس، فهرستی از دایرکتوریهایی مثل Downloads، Desktop، Videos، Pictures و ... که قرار است رمزگذاری شوند، ایجاد میکند.
Khonsari در حال ساخت فهرستی از دایرکتوریها.
Khonsari پس از شمارش تمامی دایرکتوریها، فرآیند کدنویسی را شروع میکند (هر یک از مراحل فهرست شده، در شکل زیر، هایلایت شده است):
۱- تکرار فایلها (Iterating over files) در هر دایرکتوری
۲- خواندن و رمزنگاری محتویات فایل
۳- تغییر نام فایل برای اضافه کردن پسوند Khonsari
۴- پس از تکمیل حلقه، متن پیام باجافزار ایجاد و به صورت خودکار، باز میشود.
روند رمزنگاری Khonsari.
در طول این فرآیند، Khonsari پیش از رمزنگاری پسوند فایل، آن را بررسی میکند. در باینری آنالیز شده توسط ما، در صورتی که فایل داری پسوند .khonsari یا .ini یا ink باشد، این باجافزار، آن را رمزنگاری نمیکند.
Khonsari، رمزنگاری را بر اساس پسوند فایل، انجام میدهد.
ظاهرا، مورد آخر یک اشتباه تایپی بوده و احتمالا، توسعهدهنده Khonsari، قصد داشته است که این باج افزار، فایلهای دارای پسوند .lnk را رمزنگاری نکند. با این حال، این پسوند، لینکها را نیز رمزنگاری میکند زیرا رشته بررسی شده توسط کد، ink است.
Khonsari فایلهای .lnk را رمزنگاری میکند.
Khonsari برای رمزنگاری فایلها از AES 128 و برای رمزنگاری کلیدها از RSA استفاده میکند. روند رمزنگاری به صورت زیر است:
۱- با اجرای Khonsari، کلید AES و IV ایجاد میشود.
۲- سپس، از AES برای رمزنگاری تمامی فایلها با استفاده از کلید و IV ایجاد شده در مرحله قبل، استفاده میشود.
۳- Khonsari کلید AES و IV را با استفاده از یک کلید RSA عمومی که در باینری هاردکد شده است، رمزنگاری میکند.
۴- کلید و IV رمزنگاری شده با base64 کدگذاری و درون متن پیام باجافزار، ذخیره میشود.
رمرزنگاری AES+RSA توسط Khonsari.
زمانی که این فرآیند به پایان رسید، Khonsari، متن پیام را همراه با دستورالعملها و اطلاعاتی برای بازیابی فایلها (کلید AES + IV رمزنگاریشده/کدگذاریشده)، ایجاد میکند.
Khonsari متن پیام باجگیری باجافزار را ایجاد میکند.
سپس، Khonsari، این متن پیام باجگیری را به صورت خودکار باز میکند تا پیام را به قربانی، نمایش دهد.
متن پیام باجگیری Khonsari.
در صورتی که کاربر، به صورت تصادفی، پیام باجگیر را حذف کند، رمزگشایی فایلها، غیرممکن میشود زیرا کلید رمزگشایی، درون پیام بازیابی قرار دارد.
آسیبپذیریهای پیدا شده درون Apache Log4J، کابوسی برای افراد و سازمانها در سرتاسر دنیا هستند. استفاده از Log4Shell برای تحویل تهدیداتی مثل Khonsari، دیر و زود دارد ولی سوخت و سوز ندارد و بالاخره، اتفاق میافتد. ما باید مراقب تهدیداتی که از این آسیبپذیری، سوء استفاده میکنند، باشیم و تمامی سیستمهایی را که از Log4j استفاده میکنند، در اسرع وقت، پچ کنیم تا خطرات را کاهش دهیم. به علاوه، URLهای مرتبط با Khonsari باید بلاک شوند زیرا تا زمانی که درخواستهای شبکه Khonsari موفق نباشند، این باجافزار، کار نمیکند.