آخرین اخبار
همهٔ اخبار
بدافزار و تروجان گزارش بحرانیت ۸/۱۰

تحلیل فنی TokenGrabber: کارخانه تولید بدافزارهای سرقت اطلاعات مبتنی بر Python

تحلیل فنی TokenGrabber: کارخانه تولید بدافزارهای سرقت اطلاعات مبتنی بر Python

تحلیل یک نمونه آرشیو مشکوک با نام 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 ناشناس.