تحلیل یک نمونه آرشیو مشکوک با نام my new program called 2.rar منجر به کشف یک ابزار پیشرفته برای ساخت بدافزارهای سرقت اطلاعات (Infostealer) شد. این ابزار که تحت عنوان TokenGrabber Builder شناخته میشود، بر اساس مدل Malware-as-a-Service (MaaS) طراحی شده است و به عامل تهدید اجازه میدهد تا نسخههای سفارشیسازی شدهای از بدافزار را برای قربانیان مختلف تولید کند.
ساختار معماری و مدل MaaS
این ابزار فرآیند تولید بدافزار را از Payload نهایی جدا کرده است. این رویکرد چندین مزیت عملیاتی برای مهاجم فراهم میکند:
- مقیاسپذیری: چندین اپراتور میتوانند از یک Builder واحد برای تولید نمونههای مختلف استفاده کنند.
- کاهش قابلیت ردیابی (Attribution): هر فایل اجرایی تولید شده دارای یک Webhook کدگذاری شده منحصربهفرد است که همبستگی بین نمونهها و شناسایی زیرساخت مشترک را دشوار میکند.
- کاهش سطح دانش فنی: رابط کاربری تعاملی ابزار، فرآیند ساخت بدافزار را برای افرادی با دانش فنی کم نیز ساده کرده است.
تحلیل مؤلفه Builder و استراتژیهای Evasion
این Builder برای تبدیل کدهای Python به فایلهای اجرایی ویندوز (EXE) از سه متد مختلف استفاده میکند:
- Nuitka: کد منبع Python را به زبان C و سپس به Machine Code تبدیل میکند. این روش باعث حذف Bytecode قابل بازیابی شده و ابزارهای Decompilation را ناکارآمد میکند. در رابط کاربری این گزینه با عبارت “Slower, stronger AV evasion” معرفی شده است.
- PyInstaller: مفسر Python و Bytecode را در یک فایل بستهبندی میکند که با ابزارهایی مانند
pyinstxtractorقابل استخراج است. - Raw Script: ذخیره بدافزار به صورت اسکریپت
stealer.pyبرای استقرار دستی.
همچنین، این ابزار برای یافتن مفسر Python در سیستم قربانی، مسیرهای محیطی (PATH)، رجیستری و پوشههای سیستمی را به طور خودکار جستجو میکند.
تحلیل Payload و قابلیتهای سرقت دادهها
بدافزار نهایی پس از اجرا، مجموعهای از تکنیکهای ضد-تحلیل و سرقت داده را پیادهسازی میکند:
۱. تکنیکهای Anti-Analysis و Anti-VM
تابع _debug_check() برای شناسایی محیطهای تحلیل از چهار روش استفاده میکند:
- Debugger Detection: استفاده از API ویندوزی
IsDebuggerPresent()برای شناسایی ابزارهایی مانند x64dbg. - Blacklisting: بررسی لیست پردازشهای در حال اجرا برای شناسایی آثار مجازیسازهایی نظیر VirtualBox، Xen و QEMU.
- Disk Size Heuristic: اگر حجم دیسک کمتر از ۵۰ گیگابایت باشد، بدافزار اجرا نمیشود (چون اکثر Sandboxها فضای کمی دارند).
- Timing Evasion: ایجاد تأخیرهای متغیر (Sleep) برای دور زدن محدودیت زمانی محیطهای تحلیل.
۲. مکانیزمهای Persistence
بدافزار برای بقا در سیستم از دو روش استفاده میکند: ایجاد یک کلید در رجیستری Run با نام جعلی WindowsUpdate و ایجاد یک Scheduled Task با تریگر ONLOGON که در حالت مخفی (بدون پنجره کنسول) اجرا میشود.
۳. استخراج اطلاعات حساس
این Infostealer اهداف گستردهای را دنبال میکند:
- مرورگرهای Chromium: استخراج کلید Master AES از طریق DPAPI و سرقت پسوردها، تاریخچه، کوکیها و اطلاعات کارتهای اعتباری از ۱۷ مرورگر مختلف.
- Firefox: استخراج تاریخچه و کوکیها از فایلهای SQLite.
- Wi-Fi: استفاده از دستور
netsh wlan show profilesبرای استخراج پسوردهای ذخیره شده در حالت Plaintext. - Discord: اسکن LevelDB برای یافتن توکنهای فعال و اعتبارسنجی آنها از طریق API دیسکورد.
- Roblox: سرقت کوکیهای
.ROBLOSECURITYبرای دسترسی بدون پسورد به حسابها.
۴. جمعآوری دادههای سیستمی و Exfiltration
بدافزار اطلاعاتی نظیر IP عمومی، موقعیت جغرافیایی (GPS)، ISP، نام کاربر و نام کامپیوتر را جمعآوری کرده و تمامی دادههای سرقتی را در یک آرشیو ZIP در حافظه (In-Memory) با استفاده از BytesIO بستهبندی میکند تا ردپایی روی دیسک نگذارد. در نهایت، این فایل از طریق یک HTTP POST request به یک Webhook تحت کنترل مهاجم ارسال میشود.
فرصتهای شناسایی (Detection Opportunities)
مدیران SOC و مهندسان امنیت میتوانند بر موارد زیر تمرکز کنند:
- اجرای غیرمنتظره
pip.exeدر برنامههای غیرتوسعهای. - ایجاد کلیدهای مشکوک در رجیستری یا Scheduled Tasks با نامهای تقلیدی.
- استفاده غیرمعمول از دستور
netsh wlan. - درخواستهای HTTP POST مشکوک به End-pointهای Webhook ناشناس.