آیا کرک ویندوز امن است؟
احتمالاً جمله معروف “هیچ ارزانی بیحکمت نیست” را شنیدهاید. حال باید بدانید که در دنیای اینترنت، “هیچ چیز واقعاً رایگان نیست.” استفاده از کرکها و فعالسازها یکی از سادهترین روشهایی است که هکرها برای نفوذ به سیستم کاربران به کار میگیرند.
کرک ویندوز، به دلیل ماهیت ویندوز بهعنوان یک سیستمعامل پایهای و حیاتی، بیش از هر نرمافزار دیگری مورد توجه هکرها قرار میگیرد. پس از آن نیز کرک آفیس معمولاً در رتبه بعدی است.
در این مقاله، قصد داریم شما را با یک بدافزار آشنا کنیم که از طریق کرک یا فعالساز محصولات مایکروسافت (مانند فعالساز KMSAuto) منتشر میشود.
مقدمه بدافزار Collector-stealer
بدافزار Collector-stealer که منشأ آن روسیه است، به طور گسترده در اینترنت برای استخراج دادههای حساس از سیستمهای کاربران و ذخیره آنها در سرورهای هکر مورد استفاده قرار میگیرد. اطلاعات دزدیدهشده برای اهداف خرابکارانه در فضای زیرزمینی سایبری استفاده میشود .
در این مقاله، تحلیل جامعی از بدافزار Collector-stealer ارائه میدهیم که شامل بررسی باینری، نحوه عملکرد و طراحی سرورهای کنترل کننده میشود. در طول تحقیقات خود، شواهد کافی یافتیم که نشان میدهند نویسنده این بدافزار در روسیه مستقر است. مهاجم عمدتاً کشورهای اروپایی را هدف قرار میدهد، اما کاربران در کشورهای دیگر مانند ایالات متحده، چین، کامبوج و دیگر کشورها نیز تحت تأثیر قرار میگیرند. بیایید تحلیل خود را آغاز کنیم تا به جزئیات بیشتری در مورد این بدافزار دست یابیم. در این مقاله، کد مخرب را به عنوان Collector-stealer معرفی میکنیم.
مکانیزمهای توزیع Collector-stealer
تحقیقات خود را با بررسی روشهای توزیع این بدافزار آغاز کردیم. نویسنده این بدافزار از روشهای مختلفی برای آلوده کردن کاربران استفاده میکند که شامل ترغیب آنها به بازدید از پورتالهای فیشینگ ، دانلود رایگان بازیها، بستههای فعالسازی یا برنامه کرک ویندوز است. این روشها به حملات دانلود خودکار منجر میشوند که بدافزار را بدون اطلاع کاربر نصب میکنند.
حملات دانلود خودکار میتوانند با بهرهگیری از آسیبپذیریهای نرمافزارهای کلاینت (مانند مرورگرها) یا سوءاستفاده از طراحی ذاتی مرورگرها اجرا شوند. در توزیع Collector-stealer ، ایمیلهای فیشینگ شامل پیامهایی بودند که به نظر میرسید از طرف نهادهای قانونی ارسال شدهاند. با تلاشهای بیشتر، دامنهها (یا زیر دامنهها) موجود در ایمیلهای فیشینگ را تحلیل کردیم تا اطلاعات بیشتری جمعآوری کنیم. در بخشهای بعدی، نمونههایی از این روشها را بررسی خواهیم کرد.
ابزار فعالسازی KMSAuto همراه Collector-stealer
KMSAuto (مطابق شکل ۱ ) یک ابزار فعالسازی رایگان برای ویندوز/آفیس است. در واقع، KMSAuto یک نرمافزار غیرمجاز است که به کاربر اجازه میدهد بدون رعایت اصالت سیستمعامل ، ویندوز یا آفیس را کرک کنند، این نرمافزار به عنوان ابزار هک یا ریسکافزار دستهبندی میشود و به کاربران امکان میدهد محصولات آفیس را به صورت غیرقانونی استفاده کنند.
معمولاً ابزارهای هک مانند KMSAuto به مهاجمان اجازه میدهند کدهای مخرب خود را با نرمافزار کرکشده ترکیب کنند تا از روش سوار شدن (piggybacking) استفاده کنند. در این روش، کد مخرب همراه با ابزار KMSAuto عمل میکند و برنامه قانونی را به صورت غیرقانونی فعال کرده و برنامههای مخرب اضافی را تزریق میکند.
Collector-stealer نیز به همین شیوه توزیع میشود. با اجرای این ابزار، KMSAuto برنامه را در سطح کاربری فعال میکند، اما در پسزمینه یک فرآیند فرعی ایجاد میکند که Collector-stealer را بر روی سیستم قربانی نصب کرده و ارتباط با سرور هکر را آغاز میکند.
ابزارهای ریسکافزار دیگر با هدف مشابه KMSAuto
علاوه بر KMSAuto، تعداد زیادی از ابزارهای ریسکافزار دیگر نیز با هدف مشابه به کار گرفته میشوند. بیشتر این بستهها مرتبط با بازیها یا VPNها هستند، مانند GTAV، NewWay ModMenu، COD Manager و غیره. در اینجا نقلقول معروف «در اینترنت هیچ چیز رایگان نیست» قابل تأمل است: اگر کاربر ابزاری کرک یا بازیها/نرمافزارهای کرکشده را دانلود کند، احتمال بالایی وجود دارد که سیستم او به کدهای مخرب آلوده شود.
دانلود Collector-stealer از طریق پورتال جعلی ماینر
KMSAuto تنها روش توزیع Collector-stealer نیست. پورتالهای فیشینگ که محتوای سایتهای ارائهدهنده نرمافزار قانونی را تقلید میکنند نیز برای انتشار این بدافزار استفاده میشوند.
در تحقیقات خود متوجه شدیم که مهاجم یک پورتال فیشینگ ایجاد کرده که محتوای آن شبیه به پورتال ارائهدهنده نرمافزارهای مرتبط با ارزهای دیجیتال است. این پورتال فیشینگ برنامه Collector-stealer را میزبانی میکرد و هنگامی که کاربر از آن بازدید میکرد، Collector-stealer به صورت خودکار دانلود میشد. این پورتال فیشینگ کاربران را فریب میداد که گمان کنند نرمافزار ماینر قانونی دانلود کردهاند، در حالی که اینگونه نبود.
شکل ۲ یک مقایسه بین پورتال فیشینگ و پورتال قانونی را نشان میدهد.
شکل ۲: مقایسه پورتال فیشینگ (چپ) با پورتال قانونی (راست)
پورتال فیشینگ در آدرس ethhomework[.]online و پورتال قانونی در آدرس hostero[.]eu قرار داشتند. مهاجم محتوای سایت hostero[.]eu را کپی کرده و پیامهای مهندسیشده اجتماعی، مانند پیشنهاد بیتکوین پس از دانلود، به آن اضافه کرده بود که صرفاً برای فریب کاربران طراحی شده بود.
اکنون درک بهتری از مکانیزمهای توزیع استفادهشده توسط مهاجمان برای انتشار Collector-stealer داریم. در ادامه، تحلیل فنی این بدافزار را ارائه میدهیم.
تجزیه و تحلیل فنی بدافزار Collector Stealer
تاریخچه و هدف بدافزار
گزارشهای عمومی قبلاً درباره این بدافزار منتشر شدهاند. Collector-stealerاز اواسط سال ۲۰۲۰ فعال بوده و همچنان در محیطهای عملیاتی فعال است و سیستمهای قربانی را به خطر میاندازد. این بدافزار که به زبان C++ نوشته شده است، به صورت مخفیانه اطلاعات ارزشمندی مانند رمزهای عبور ذخیرهشده، کوکیها، دادههای وب و موارد دیگر را از سیستم آلوده جمعآوری میکند. همانطور که از نامش پیداست، این بدافزار توسط بسیاری از مهاجمان برای استخراج دادهها از سراسر جهان استفاده میشود.
بیایید به تحلیل عمیقتر برنامه اصلی بپردازیم و عملکردهایی که این بدافزار ارائه میدهد را بررسی کنیم.
خرید لایسنس ویندوز 11 | همین حالا اورجینال شو
ساختار فایل اجرایی قابلحمل (PE)
در این بخش، ساختار پایه بدافزار Collector-stealer را با استفاده از تحلیل ایستا ارائه میدهیم. شکل ۳ ساختار فایل اجرایی قابلحمل (PE) را نشان میدهد.
به طور کلی، تحلیل ساختار فایل PE به ما کمک میکند تا طراحی یک فایل اجرایی را درک کنیم. فرمت PE شامل فرمت فایل شیء مشترک (COFF)، کد شیء، کتابخانههای پویا (DLL)، فایلهای فونت و core dumps در نسخههای ۳۲ بیتی و ۶۴ بیتی سیستمعاملهای ویندوز است.
فرمت PE یک ساختار داده است که اطلاعات موردنیاز لودرهای ویندوز را برای بارگذاری کد اجرایی در حافظه فراهم میکند. این اطلاعات شامل ارجاعات به کتابخانههای پویا برای لینکدهی، جدولهای خروجی و ورودی API، دادههای مدیریت منابع و سایر ساختارها است.
شکل ۳: ساختار PE کد مخرب Collector-stealer
اکنون نمای کلی از Collector-stealer ارائه شده است که شامل جزئیات اولیه ساختار PE نیز میشود. در ادامه به تحلیل باینری این بدافزار برای دستیابی به اطلاعات بیشتر میپردازیم.
جدول آدرسهای مورد استفاده و عملکردهای حیاتی
تحلیل جدول آدرسها(IAT) فایل PE اهمیت زیادی دارد تا بتوانیم عملکردهای API واردشده از کتابخانههای DLL سیستم و استفادهشده در حین اجرای باینری را شناسایی کنیم.
هنگامی که یک فایل PE در سیستم بارگذاری میشود، لودر ویندوز باید ساختار PE را بخواند و تصویر فایل را مستقیماً به حافظه بارگذاری کند. در این فرآیند، لودر همچنین مسئول بارگذاری تمام DLLهایی است که فایل اجرایی استفاده میکند و آنها را در فضای آدرس پردازش مرتبط قرار میدهد.
نقشهبرداری از DLLها و عملکردهای API مربوطه از طریق جدول آدرسها مدیریت میشود. این جدول شامل اشارهگرهای تابع است که لودر ویندوز هنگام بارگذاری DLLها کپی میکند. به زبان ساده، جدول IAT تعیین میکند که فایل اجرایی از کدام عملکردهای API استفاده میکند و عملیات مربوطه را اجرا میکند.
ما جدول IAT بدافزار Collector-stealer را استخراج کردیم و عملکردهای مهم API را که برای درک نحوه عملکرد این بدافزار در سیستم اهمیت دارند، در جدول ۱ بررسی میکنیم.
توضیح کلی | Critical API functions | DLL |
برای دانلود فایلها از اینترنت استفاده میشود. | URLDownloadToFileA | urlmon.dll |
این کتابخانه شامل ماژولهایی است که به برنامهها کمک میکنند با پروتکلهای FTP و HTTP تعامل داشته باشند تا به منابع اینترنتی دسترسی پیدا کنند. این کتابخانه شامل متدهای مرتبط با اینترنت است. | InternetCloseHandle InternetOpenA InternetConnectA HttpSendRequestExA HttpEndRequestA InternetWriteFile HttpOpenRequestA | wininet.dll |
کتابخانه رمزنگاری مایکروسافت، که بسیاری از توابع مربوط به گواهیها و پیامرسانی رمزنگاری را در CryptoAPI پیادهسازی میکند، مانند تابع CryptSignMessage. | CryptUnprotectData | crypt32.dll |
رابط برنامهنویسی پیشرفته کاربردی (AdvAPI32) برای پشتیبانی از فراخوانیهای امنیتی و دستکاری رجیستری طراحی شده است. | RegGetValueA RegOpenKeyExA | ADVAPI32.dll |
طراحی شده برای ارائه توابع Windows Shell API که برای باز کردن صفحات وب و فایلها استفاده میشوند. | SHGetFolderPathA | Shell32.dll |
شامل ماژولهایی است که به پیادهسازی مؤلفه USER ویندوز کمک میکنند و همچنین توابعی را فراهم میکند که از طریق آنها میتوان رفتار کاربر را شبیهسازی کرد. | CloseClipboard FindWindowA OpenClipboard keybd_event GetDesktopWindow ShowWindow GetClipboardData | User32.dll |
کتابخانه Kernel32.dll یکی از کتابخانههای اصلی در سیستمهای ویندوز است. این کتابخانه توابعی برای ایجاد فرآیندها و نخها، مدیریت حافظه و موارد دیگر ارائه میدهد. این یک کتابخانه در حالت کاربر (User-mode) است. | OutputDebugStringW IsDebuggerPresent CreateFileW DeleteFileW LoadLibraryA TerminateProcess GetCurrentProcess FindFirstFileExW FindNextFileW GetFileAttributesEx VirtualProtect WriteFile ReadFile GetStartupInfoW | Kernel32.dll |
کتابخانه رابط دستگاه گرافیکی مایکروسافت (GDI)، که برای مدیریت مؤلفههای گرافیکی تصاویر طراحی شده است. | GdiplusShutdown GdipCreateBitmapFromHBITMAP GdipGetImageEncoders GdipCreateBitmapFromScan0 GdipSaveImageToStream GdipGetImageEncodersSize GdipDisposeImage GdiplusStartup | gdiplus.dll |
جدول 1: جدول آدرسهای مورد استفاده.
روال مبهمسازی (Obfuscation Routine)
در این بخش به بررسی روشهای رمزنگاری و رمزگشایی مورد استفاده توسط Collector-stealer میپردازیم. در کد ۱ شبهکدی نشان داده شده است که این بدافزار برای رفع مبهمسازی (deobfuscate) مسیر دایرکتوری عمومی ویندوز و دیگر رشتههای مبهمشده استفاده میکند. این فرآیند با استفاده از کلید (رشته) 1A انجام میشود..
Step 1 : Encoded_String : "BB;YKXYBB6[HROIBB"
Step 2 : Deobfuscate_str : ""
Label 1:
Deobfuscate_str =Deobfuscate_str+HEX(String[i])+1A
If i<=Length(Encoded_String) :
i=i+1
Goto Label 1
کد1: نمونه شبهکد
توضیحات روال مبهمسازی
• هدف: مسیرها و دادههایی که به صورت عمدی رمزگذاری شدهاند تا تشخیص و تحلیل بدافزار دشوارتر شود.
• کلید استفادهشده: کلید رمزگشایی 1A به عنوان یک مقدار استاتیک برای تبدیل دادههای مبهمشده به اطلاعات قابلخواندن استفاده میشود.
این روش، از تکنیکهای متداول در بدافزارها برای جلوگیری از شناسایی توسط ابزارهای امنیتی و تحلیلگران بهره میبرد. نمایش جزئیات کد در لیست ۱ کمک میکند تا نحوه عملکرد این روال بهتر درک شود. اگر جزئیات بیشتری از لیست ۱ ارائه شود، میتوان مراحل دقیق رمزنگاری و رمزگشایی را تحلیل کرد.
کد۱: شبهکد
رفع مبهمسازی (deobfuscation) کد بالا و اجرای آن در محیط کنترلشده، تعدادی رشته متنی واضح به دست آمد که نشان میدهند چگونه Collector-stealer دقیقاً با منابع مختلف سیستم تعامل دارد. این فرآیند اطلاعات واضحی از رفتار بدافزار و ارتباط آن با منابع فراهم میکند.
Decrypted strings | Encrypted string |
Login data | 2UMOT*GZG |
Cookies | )UUQOKY |
Web data | =KH*GZG |
wallet.dat | ] GRRKZJGZ |
browser | HXU]YKX |
desktop.png | JKYQZUV0x14VTM |
/Telegram Desktop/tdata | 0x15 0x3AKRKMXGS 0x6 0x2A KYQZUV 0x15ZJGZG |
SteamPath | 9ZKGS6GZN |
SOFTWARE\Valve\Steam | 95,:=’8+BB<GR\KBB9ZKGS |
.vdf | 0x14\JL |
/con | YZKGS |
جدول 2: رشتههای رمزگشاییشده از فایل دودویی.
نتایج رفع مبهمسازی
پس از رفع مبهمسازی روال درونی بدافزار، رشتههای متنی شفاف استخراج شدند که جزئیات نحوه عملکرد بدافزار را نشان میدهند.
جدول ۲ لیستی از رشتههای متنی واضح به دست آمده پس از رفع مبهمسازی را نمایش میدهد. این دادهها میتوانند شامل موارد زیر باشند:
- مسیرهای فایل یا دایرکتوری در سیستم.
- توابع یا دستورات API استفادهشده.
- نقاط پایانی (endpoints) مورد هدف یا سرورهای هکر
تحلیل این رشتههای متنی به درک عمیقتر نحوه عملکرد بدافزار و تعامل آن با سیستم کمک میکند. جزئیات بیشتر در مورد رشتههای موجود در جدول ۲ میتواند در کشف اهداف و رفتارهای خاص Collector-stealer مفید باشد.
هر زمان که بدافزار نیاز به استفاده از یک رشته دارد، ابتدا رشته رمزگذاریشده را میگیرد و آن را به توابعی برای رفع مبهمسازی ارسال میکند. این رویکرد باعث میشود که تحلیل بدافزار پیچیدهتر شود، زیرا رشتهها فقط در زمان اجرا قابلمشاهده هستند.
تولیدکننده عدد شبهتصادفی در لحظه نیاز
برای ذخیره تمام دادههای جمعآوریشده در یک فایل، Collector-stealer عملیات اضافی انجام میدهد تا با استفاده از APIهای ویندوز نامهای فایل تصادفی تولید کند. این فرآیند شامل استفاده از مقادیر اولیه (seed values) برای ایجاد اعداد شبهتصادفی، تعیین طول رشتههای محاسبهشده و موارد مشابه است.
برای ایجاد نام فایل تصادفی، Collector-stealer از تابع GetSystemtimeAsFileTime استفاده میکند. این روش امکان تولید نامهای منحصربهفرد را برای فایلهای ذخیرهشده فراهم میآورد و ردگیری فعالیتهای بدافزار را دشوارتر میکند.
شکل ۴ فرآیند استفاده از GetSystemtimeAsFileTime برای ایجاد نامهای فایل تصادفی را نمایش میدهد. این عملکرد به بدافزار کمک میکند تا فایلهای خود را در سیستم قربانی مخفیانهتر مدیریت کند.
GetSystemtimeAsFileTime برای به دست آوردن تاریخ و زمان جاری سیستم استفاده میشود. این API مقادیر ۶۴ بیتی را پردازش میکند که شامل LowDateTime (بخش کممرتبه از زمان فایل) و HighDateTime (بخش پرمرتبه از زمان فایل) در ساختار FILETIME است.
به طور کلی، Collector-stealer شرایط را با بررسی محدودیتهای تاریخ و زمان برای محاسبه زمان جاری سیستم اعتبارسنجی میکند. مقدار محاسبهشده تاریخ و زمان به عنوان مقادیر اولیه (seed values) برای ایجاد رشتههای تصادفی به کار میرود که در نهایت به عنوان نام فایل استفاده میشوند.
شکل ۵ الگوریتمی را نشان میدهد که توسط Collector-stealer برای تولید رشتههای تصادفی با طول ۱۵ کلمه استفاده میشود. این رشتهها سپس به عنوان نام فایلهای بدافزار مورد استفاده قرار میگیرند.
این روش نه تنها نامهای منحصربهفردی ایجاد میکند بلکه ردگیری فایلهای بدافزار را نیز برای تحلیلگران دشوارتر میسازد. استفاده از تاریخ و زمان سیستم به عنوان مقادیر اولیه، سطح بالایی از تصادفی بودن و امنیت را تضمین میکند.
شکل ۵: الگوریتم تولید رشته تصادفی
شکل ۶: ایجاد فایل جدید با استفاده از CreateFileW1
در شکل ۶، Collector-stealer با استفاده از تابع CreateFileW1 و الگوریتم تولید رشته تصادفی که در شکل ۵ توضیح داده شد، یک فایل جدید ایجاد میکند. این فرآیند مراحل زیر را شامل میشود:
- استفاده از الگوریتم تولید رشته تصادفی برای نامگذاری فایل.
- فراخوانی CreateFileW1 برای ایجاد فایل جدید در سیستم قربانی.
- نوشتن دادههای جمعآوریشده در فایل ایجادشده.
این روش به بدافزار کمک میکند تا فایلها را با نامهای غیرقابل پیشبینی ذخیره کند و شناسایی فعالیتهای آن را برای ابزارهای امنیتی دشوارتر سازد.
شکل ۶: ایجاد فایل با نام تصادفی
Collector-stealer علاوه بر ایجاد فایلهای تصادفی، عملیات اضافی نیز انجام میدهد، از جمله استخراج موقعیت مکانی و بررسی تنظیمات منطقه زمانی سیستم قربانی با استفاده از تابع GetTimeZoneInformation. همچنین، نام رایانه قربانی را با فراخوانی روش GetComputerName بررسی میکند.
گرفتن اسکرینشات از طریق عملیات صفحهکلید
در این بخش، تمرکز بر تحلیل تعامل Collector-stealer با کلیپبورد و رویدادهای صفحهکلید ویندوز برای گرفتن اسکرینشات است.
- عملیات کلیپبورد:
- کلیپبورد ویندوز شامل عملکردهای برش و کپی است.
- تاریخچه کلیپبورد تعداد عملیات کپی موجود در آن را نشان میدهد.
- گرفتن اسکرینشات:
یکی از عملکردهای اصلی این بدافزار، سرقت دادهها از طریق گرفتن اسکرینشات است که این دادهها در کلیپبورد ذخیره میشوند. - روش اجرا:
همانطور که در شکل ۷ نشان داده شده است:- بدافزار از تابع Keybd_event در فایل کتابخانهای user32.dll استفاده میکند.
- این تابع رویداد فشردن کلید «گرفتن اسکرینشات» را شبیهسازی میکند.
- پارامتر کلید VK_SNAPSHOT به عنوان کلید ورودی در تابع keybd_event ارسال میشود تا عملیات اسکرینشات اجرا شود.
این روش به Collector-stealer امکان میدهد تا تصاویر صفحه قربانی را بدون نیاز به مداخله کاربر ضبط کند و دادههای حساس را به سرورهای کنترل و فرمان ارسال کند.
شکل ۷: شبیهسازی کلید اسکرینشات و ذخیره تصویر در کلیپبورد
پس از شبیهسازی فشردن کلید اسکرینشات، Collector-stealer تصویر ضبطشده را به فرمت bitmap در کلیپبورد ذخیره میکند. این فرآیند امکان ثبت تصویر از صفحه قربانی بدون اطلاع کاربر را فراهم میآورد.
تبدیل تصویر ضبطشده به جریان داده
پس از ذخیره تصویر در کلیپبورد:
- بدافزار به تصویر ضبطشده در قالب bitmap دسترسی پیدا میکند.
- تصویر را به یک stream (جریان داده) تبدیل میکند.
این عملیات در شکل ۸ نمایش داده شده است و به بدافزار اجازه میدهد تصویر را برای اهداف ذخیرهسازی یا ارسال به سرورهای هکر به فرمتی مناسبتر تغییر دهد.
این مرحله یکی از جنبههای حیاتی فرآیند سرقت دادهها توسط بدافزار است که باعث میشود اطلاعات بصری از سیستم قربانی استخراج و به راحتی مدیریت شود.
شکل ۸: ذخیره تصویر ضبطشده به جریان داده
شکل ۹: نمای هگزادسیمال اسکرینشات دسکتاپ
گزارش نشان میدهد که استریم بایت تصویر ضبطشده با امضای چهار بایتی ‘FF D8 FF E0’ شروع میشود، که نشاندهنده فایل تصویری JPEG است. بدافزار استریم بایت را از حافظه به فایلی جدید در مسیر ‘\public\directory’ مینویسد. پس از گرفتن اسکرینشات، Collector-stealer به دنبال اطلاعات دیگر، مانند دادههای تلگرام در پوشه ‘tdata’، واقع در مسیر ‘%Appdata%’ میگردد. این پوشه حاوی فایلهای رسانهای، جزئیات نشست و دیگر دادههای مربوط به Telegram Desktop است.
دسترسی به دادههای سمت کاربر
در این بخش، به نحوه جستجوی Collector-stealer برای اطلاعات حساس ذخیرهشده در دایرکتوریهای خاص میپردازیم.
- اسکن دایرکتوری اولیه:
- بدافزار پس از جمعآوری اطلاعات اولیه، دایرکتوری ‘C:\Users\alert-user\AppData\Roaming\’ را اسکن میکند.
- فایلهایی مانند login data، cookie files، web data و wallet.dat را جستجو میکند.
- نوع محتوای موجود در این فایلها:
- Login data: اطلاعات ورود مرورگر Chrome در پایگاه داده SQLite با نام Login Data و جدول logins ذخیره میشود.
- Cookies: کوکیهای Chrome در پایگاه داده SQLite با نام Cookies و جدول cookies ذخیره میشوند.
- Web data: تاریخچه فرمهای Chrome در پایگاه داده SQLite با نام Web Data و جدول autofill ذخیره میشود.
- Wallet.dat: کلاینت Bitcoin اطلاعات کلیدهای خصوصی را در فایلی به نام wallet.dat ذخیره میکند، که شامل کلیدهای خصوصی، عمومی، اسکریپتها (مرتبط با آدرسها)، متادیتای کلید و تراکنشهای کیف پول است.
- اسکن دایرکتوریهای دیگر:
- پس از تکمیل اسکن دایرکتوری Roaming، بدافزار دایرکتوری ‘\AppData\Local’ را برای فایلهای مشابه اسکن میکند.
- همچنین تمام فایلهای دسکتاپ را برای پسوندهای خاصی مانند .txt، .log، .rdp و دیگر موارد جستجو میکند.
- اگر فایلهایی با این پسوند پیدا شوند، محتوای آنها خوانده و دادهها در یک فایل RAR فشرده ذخیره میشوند.
- دانلود کتابخانه sqlite3.dll:
- Collector-stealer از API URLDownloadToFile برای دانلود فایل sqlite3.dll از سرور هکر استفاده میکند.
- این فایل در مسیر public directory ذخیره میشود.
این روشها به بدافزار اجازه میدهند اطلاعات حساس را از منابع مختلف در سیستم قربانی جمعآوری و برای سوءاستفاده ذخیره کند.
شکل ۱۰: دانلود فایل SQLite توسط Collector-stealer
بیشتر مرورگرهای مدرن از پایگاه دادههای SQLite برای ذخیرهسازی محلی دادههای مربوط به وبسایتها و برنامهها استفاده میکنند. این دادهها شامل کوکیها، اطلاعات ورود، دادههای تکمیل خودکار، دادههای وب و غیره هستند. تحلیل پایگاه داده SQLite نیازمند استفاده از کتابخانه SQLite است.
Collector-stealer از این قابلیت بهره میگیرد تا دادههای ذخیرهشده در پایگاه داده SQLite سیستم قربانی را به صورت متنی واضح (clear text) استخراج کند. با استفاده از این کتابخانه، بدافزار میتواند کوئریهای SQL را برای استخراج داده اجرا کند.
ساختاردهی و فشردهسازی دادههای سرقتشده
- خواندن دادهها:
- پس از اجرای موفقیتآمیز کوئریها، بدافزار دادهها را از پایگاه دادههای مرورگر استخراج میکند.
- فشردهسازی دادهها:
- Collector-stealer تمام دادههای سرقتشده، از جمله ساختار دایرکتوری، را در قالب فایل Zip فشرده میکند.
- ساختاردهی دادهها:
- شکل ۱۱ نحوه سازماندهی دادههای جمعآوریشده توسط بدافزار را در یک فایل آرشیو واحد نمایش میدهد.
شکل ۱۱: دانلود فایل sqlite3 توسط بدافزار
جدول ۳: ساختار کامل دایرکتوری فشردهشده به عنوان فایل Zip
اطلاعات عمومی کاربر ، مثل زمان ، تاریخ ، سیستم عامل ، نام کامپیوتر و غیره | Information.txt |
اسکرین شات از دسکتاپ کاربر | desktop.png |
اطلاعات مرورگرهای قربانی ، مثل پسوردها ، کوکی ، تاریخچه و غیره | /Browser/ |
شامل فایلهای جمعآوریشده از محل دسکتاپ است که انواع آنها شامل .txt، .log، .docx و .rdp میباشد. | /Files/ |
شامل دادههای جمعآوریشده از دایرکتوری دادهها، مانند دادههای تلگرام است. | /Telegram/ |
شامل دادههای جمعآوریشده از دایرکتوری Steam و همچنین ورودیهای رجیستری مرتبط با Steam، از جمله جزئیات کاربران فعال است. | /Steam/ |
جدول ۳: بینش درباره دایرکتوری آرشیوشده
در این مرحله، Collector-stealer تمام دادههای جمعآوریشده را همراه با ساختار دایرکتوری آنها به صورت فایل Zip فشرده میکند و به سرور هکر ارسال مینماید.
جزئیات ساختار دایرکتوری:
- مسیرها و فایلهای اصلی شامل:
- C:\Users\\AppData\Roaming: شامل دادههایی مانند کوکیها، اطلاعات ورود، تاریخچه فرمها و فایلهای مرتبط با تلگرام در پوشه tdata.
- C:\Users\\AppData\Local: شامل فایلهای محلی مرورگر و دادههای مشابه.
- Desktop Files: جستجو برای فایلهایی با پسوندهای خاص مانند .txt، .log، .rdp و ذخیره محتوای آنها.
- فرمت دادههای فشردهشده:
- تمامی فایلها و دایرکتوریهای مرتبط در یک فایل آرشیو Zip ساختاردهی شده و برای کاهش حجم و انتقال آسانتر فشرده میشوند.
- ارسال به سرور هکر :
- فایل فشرده به سرور کنترل و فرمان ارسال میشود تا توسط مهاجمان مورد استفاده قرار گیرد.
ساختار ارائهشده در جدول ۳ جزئیات دقیقی از فایلها و مسیرهای دایرکتوری فشردهشده نشان میدهد، که میتواند به تحلیلگران کمک کند تا رفتار بدافزار را بهتر درک کنند و مسیرهای آن را شناسایی کنند.
ارتباطات شبکه
برای درک نحوه ارتباط این کد مخرب با سرور هکر و انتقال دادههای سرقتشده از طریق شبکه، جزئیات زیر ارائه میشود:
- بررسی اتصال به اینترنت:
- پس از جمعآوری موفق دادههای حساس از سیستم قربانی، Collector-stealer قبل از انتقال دادهها به سرور هکر، یک زیرفرآیند خط فرمان جدید ایجاد میکند.
- این زیرفرآیند از طریق ارسال درخواست ping به آدرس IP 1.1.1.1 مربوط به DNS رزولور Cloudflare اتصال اینترنت را بررسی میکند.
- شکل ۱۲ این فرآیند را نشان میدهد.
- انتقال دادهها در صورت موفقیت:
- در صورت موفقیت در برقراری اتصال، فایل آرشیوشده (حاوی دادههای سرقتشده) از طریق شبکه به سرور هکر ارسال میشود.
- این فرآیند از پروتکلهای استاندارد یا رمزگذاریشده برای انتقال داده استفاده میکند، که شناسایی آن را برای سیستمهای امنیتی دشوار میکند.
این رویکرد نشاندهنده استفاده هوشمندانه از تکنیکهای بررسی اتصال و مدیریت خرابی توسط بدافزار است، که شناسایی آن را دشوارتر میسازد و عملیات آن را به صورت مخفیانه تضمین میکند.
شکل ۱۲: ارسال درخواست پینگ توسط Collector-stealer
برای درک کامل عملیات، دستور زیر تحلیل میشود:
cmd.exe /C ping 1.1.1.1 -n 1 -w 1000 > Nul & Del /f /q “%s”
تحلیل اجزای دستور:
- cmd.exe /C:
- دستور را اجرا کرده و پس از دریافت پاسخ، فرآیند را خاتمه میدهد.
- ping 1.1.1.1 -n 1 -w 1000:
- -n 1: تعداد درخواستهای echo فقط یک عدد باشد.
- -w 1000: مدت زمان انتظار برای دریافت پاسخ echo (در میلیثانیه).
- 1.1.1.1: آدرس سرور DNS کلودفلر که به سرعت به درخواستهای DNS پاسخ میدهد.
- > nul:
- دادههای خروجی دستور را به فایل nul ارسال میکند.
- هدف: جلوگیری از نمایش خروجی دستور و مخفی نگهداشتن عملیات از فرآیندهای دیگر.
- Del /f /q “%s”:
- /q: حذف فایل بدون نمایش پیام یا تأیید.
- /f: حذف فایل به صورت اجباری.
- این دستور فایل اجرایی بدافزار یا هر فایل مرتبط دیگر را حذف میکند تا ردپای آن در سیستم کاربر از بین برود.
پس از بررسی موفقیتآمیز اتصال اینترنت، Collector-stealer دادههای سرقتشده را به سرور کنترل و فرمان هکر ارسال میکند.
شکل ۱۳ نشان میدهد که بدافزار از درخواستهای HTTP POST برای انتقال دادهها در قالب فایلهای فشرده Zip استفاده میکند.
جزئیات فرآیند استخراج دادهها:
- شناسه کاربری (User-Agent):
- بدافزار به جای استفاده از شناسه استاندارد مرورگر، از یک رشته سفارشی به نام ‘uploader’ استفاده میکند.
- این شناسه غیرمعمول برای پنهان کردن فعالیتهای بدافزار طراحی شده است.
- کانال ارتباطی:
- فرآیند استخراج دادهها از کانال ارتباطی HTTP استفاده میکند.
- بدافزار درخواستهای HTTP POST را برای ارسال دادههای سرقتشده به سرور کنترل هکر آغاز میکند.
- دادهها در قالب فشرده ارسال میشوند.
- فرآیند در سرور هکر :
- دادهها در سرور هکر بازگشایی (Unzip) شده و در پورتال سرور بارگذاری میشوند.
- اطلاعات سرقتشده در این پورتال برای استفادههای بعدی در دسترس قرار میگیرد.
توضیحات پنل مدیریت هکر :
- ویژگیهای پنل مدیریت:
- پنل طراحیشده با PHP و میزبانیشده روی openresty به عنوان وبسرور.
- ارائه دسترسی به مهاجمان برای مدیریت دادههای سرقتشده.
- عملکردهای اصلی پنل:
- دریافت دادهها: دادههای فشردهشده از طریق درخواستهای HTTP POST توسط ماشینهای آلوده به سرور ارسال میشوند.
- بازگشایی آرشیو: فایلهای Zip در سرور بازگشایی میشوند و محتوای آنها در پورتال ذخیره میشود.
- سازماندهی دادهها: اطلاعات سرقتشده در قالبی ساختاریافته در پنل مدیریت نمایش داده میشود.
- صفحه ورود:
- شکل ۱۴ صفحه ورود پنل مدیریت هکر را نشان میدهد، که مهاجمان از آن برای دسترسی به دادهها استفاده میکنند.
- سطوح دسترسی:
- این پنل معمولاً دارای سطوح مختلف دسترسی است که مهاجمان میتوانند با استفاده از آنها دادهها را مشاهده، مدیریت و توزیع کنند.
اهمیت طراحی پنل هکر :
طراحی این پنل به مهاجمان امکان میدهد:
- دادههای سرقتشده را به طور متمرکز دریافت و مدیریت کنند.
- با استفاده از فناوریهای متنباز، عملکرد خود را بهینه کنند.
- دادهها را برای مقاصد مخرب دیگر پردازش و استفاده نمایند.
شکل ۱۴: پنل مدیریت کنترل و فرمان (C&C) Collector-stealer
شکل ۱۵: سازماندهی دادههای سرقتشده به صورت ساختاریافته توسط مهاجمان
شکل ۱۵: عملکرد ذخیرهسازی لاگهای سرقتشده توسط Collector-stealer
توضیحات سازماندهی دادهها:
- ساختاردهی دادهها:
- مهاجمان دادههای سرقتشده را به صورت دستهبندیشده ذخیره میکنند تا مدیریت و دسترسی به اطلاعات سادهتر شود.
- دادهها بر اساس نوع اطلاعات (مانند کوکیها، اطلاعات ورود، دادههای کیف پول و غیره) یا منبع (مانند مرورگرها یا برنامهها) مرتبسازی میشوند.
- ذخیرهسازی در پنل هکر :
- دادهها پس از بازگشایی از فایلهای Zip، در پایگاه داده یا سیستم فایل پنل کنترل و فرمان ذخیره میشوند.
- این ساختاردهی امکان جستجو، بازیابی و پردازش سریعتر دادهها را فراهم میکند.
- موارد استفاده از دادهها:
- مهاجمان میتوانند از این اطلاعات برای حملات بیشتر مانند دسترسی غیرمجاز به حسابها، فروش دادهها در بازار سیاه یا ایجاد حملات فیشینگ استفاده کنند.
اهمیت ساختاردهی دادهها:
- کاهش زمان پردازش اطلاعات برای مهاجمان.
- تسهیل استفاده از دادههای سرقتشده برای عملیات مخرب دیگر.
- افزایش کارایی در مدیریت حجم بالای دادهها که از سیستمهای آلوده جمعآوری شدهاند.
نتیجهگیری
بدافزارهای سرقت اطلاعات به طور فعال قربانیان را هدف قرار میدهند تا اطلاعات حساس را از سیستمهای آلوده استخراج کنند. در این مقاله، تحلیل بدافزار Collector-stealer با منشأ روسی مورد بحث قرار گرفت. دادههای سرقتشده توسط این بدافزار برای اهداف مخرب استفاده میشود؛ از جمله فروش در بازارهای زیرزمینی یا بهرهبرداری از اطلاعات برای انجام حملات بیشتر.
به دلیل محبوبیت این نوع بدافزارها، برخی گروههای مخرب نسخههای مختلفی از Collector-stealer را در اینترنت منتشر کردهاند و این یکی از میلیون ها بدافزاری است که مورد بررسی قرار گرفته.استفاده از کرک و عدم توجه به امنیت سایبری میتواند آسب های جربان ناپذیری ایجاد کند .
اطلاعات ارائهشده در این پژوهش میتواند برای بهبود راهحلهای شناسایی و پیشگیری از خطرات ناشی از این بدافزار مورد استفاده قرار گیرد.
منبع : VirusBulletin
پیشنهاد میکنم مقاله آیا صرفا نصب آنتی ویروس کافی است ؟ را مطالعه کنید ، این مقاله به اطلاعات منتشر شده بیش از 12000 کاربر اشاره میکند که به بدافزاری مانند Collector Stealer آلوده شده بودند؛ بسیاری از آنها آنتی ویروس داشتند و حتی برخی بیش از یک آنتی ویروس .
اگر امنیت برای شما مهم است به یاد داشته باشید ، “اولین قدم برای امنیت ، استفاده از یک سیستم عامل اورجینال است “
-
لایسنس آفیس 2021 هوم بیزینس مک6,200,000 تومان
-
محصول تخفیف خوردهخرید لایسنس آفیس 2021 پرو پلاس اورجینال498,000 تومان
-
محصول تخفیف خوردهخرید لایسنس ویندوز 11 پرو اورجینال279,000 تومان
-
محصول تخفیف خوردهخرید لایسنس ویندوز 10 پرو اورجینال با ارزانترین قیمت279,000 تومان