محققان مرکز تحقیقاتی فورتینت (Fortinet) کارزار فیشینگی (Phishing) را شناسایی کردهاند که در آن مهاجمان اقدام به ارسال سه بدافزار بدون فایل (Fileless) به نامهای AveMariaRAT ،BitRAT و PandoraHVNC بر روی دستگاه قربانی میکردند. در این کارزار، پس از اجرای کد مخرب بدافزارهای مذکور، مهاجمان قادر به کنترل، سرقت اطلاعات حساس از دستگاههای قربانیان به منظور انجام سایر اقدامات منطبق با فرامین کنترلی از سرور خود میباشند.
در بخش اول این مقاله تحلیلی، تشریح نمودیم چگونه این سه بدافزار Fileless از طریق کارزار فیشینگی به دستگاه قربانی منتقل میشوند و از چه سازوکاری برای بارگذاری، استقرار و اجرای این بدافزارهای بدون فایل در هدف موردنظر استفاده میکنند.
در بخش دوم این مقاله، بر روی کد مخرب این سه بدافزار تمرکز خواهیم کرد و در مورد نحوه سرقت اطلاعات حساس از دستگاه قربانی، نحوه ارسال دادهها به سرور C2، جزئیات مربوط به فرامین کنترلی، و همچنین اقداماتی که میتوانند با این فرامین انجام دهند، توضیح خواهیم داد.
این کارزار دارای درجه شدت «حیاتی» (Critical) میباشد و بر روی سیستمهای Microsoft Windows تاثیر میگذارد، دستگاه قربانی را کنترل نموده و اطلاعات حساس و حیاتی را سرقت میکند.
بدافزار بدون فایل AveMariaRAT
Ave Maria یک اسب تروا دسترسی از راه دور (Remote Access Trojan – به اختصار RAT) است که با نام WARZONE RAT نیز شناخته میشود. طیف گستردهای از ویژگیها نظیر سرقت اطلاعات حساس قربانی و کنترل از راه دور دستگاه هک شده، از جمله قابلیتهایی نظیر «ترفیع اختیارات» (Privilege Escalation)، کنترل از راه دور دسکتاپ، ضبط تصاویر دوربین و موارد دیگر را برای مهاجمان فراهم میکند.
این اولین بدافزاری است که در میان این سه بدافزار به پروسه جدید ایجاد شده aspnet_compiler.exe در دستگاه قربانی تزریق شده و سپس اجرا میشود.
گام اول:
پیکربندی Ave Maria به صورتی است که RC4 در بخش bss. ساختار PE آن رمزگذاری شده است. کلید رمزگشایی و دادههای رمزگذاری شده هر دو در bss. قرار دارند. هنگام راهاندازی بدافزار، ابتدا بخش مربوط به پیکربندی رمزگشایی میشود. شکل زیر دادههای رمزگشایی شده در حافظه را نشان میدهد.
این نه تنها شامل سرور کنترل و فرماندهی (Command and Control – به اختصار C2) و درگاه آن (0x3E7) است، بلکه تعدادی Switch Flag را نیز شامل میشود، مانند اینکه آیا باید خود را به دسته اجرای خودکار اضافه کند یا نه و یا اینکه کنترل حساب کاربری (User Account Control – به اختصار UAC) یا Windows Defender را دور بزند یا خیر.
گام دوم:
هنگامی که Ave Maria اتصال خود را به سرور C2 برقرار کرد، شروع به کنترل دستگاه قربانی میکند. ترافیک بین مشتری و سرور C2 با کلید ثابت warzone160 به صورت RC4 رمزگذاری شده است.
بسته متنی همچون نمونه زیر میباشد.
l29 BB 66 E4 70 EA 00 00 1E 00 00 00 00 00 00 00
00 FA 07 00 00 00 00 00 60 EA 00 00 4D 5A 90 00
این بسته متن ساده شامل موارد زیر میباشد:
- هر بسته باید با مقدار dword 0xE466BB29 شروع شود.
- 0xEA70 اندازه دادههای فرمان است. اگر هیچ دادهای برای فرمان وجود نداشته باشد، مقدار آن 0x0 است.
- 0x1E شماره فرمان این بسته است.
- دادههای بعدی، دادههای فرمان هستند که یک فایل اجرایی در این بسته نمونه میباشند. اگر دادهای برای فرمان وجود نداشته باشد، دادهای نمایش داده نمیشود.
بدافزارAve Maria شامل قابلیتهای زیر است:
Virtual Network Computing Remote – به اختصار Remote VNC ،Remote Shell ،File Explorer ،Process Managern ،Remote Webcam ،Password Manager ،Reverse Socks دانلود و اجرای یک فایل، Remote Keylogger ،HRDP Manager و همچنین «ترفیع اختیارات».
شکل بالا قابلیت مربوط به Remote Keyloggerا (Command 24H) را در سمت سرور C2 نشان میدهد. این شکل نشان میدهد که وقتی مرورگر Chrome را باز کرده و یک نشانی را تایپ میکنیم و Enter را در دستگاه قربانی فشار میدهیم، چه چیزی ضبط میشود.
هدف قابلیت Password Manager این بدافزار، سرقت اطلاعات اصالتسنجی از برنامههای کاربردی زیر از جمله مرورگرهای اینترنتی و برنامههای مدیریت ایمیل زیر میباشد:
Google Chrome, Epic Privacy browser, Microsoft Edge, UCBrowser, Tencent QQBrowser, Opera, Blisk, Chromium, Brave-Browser, Vivaldi, Comodo Dragon, Torch, Slim, CentBrowser, Microsoft Internet Explorer, Mozilla Firefox, Microsoft Outlook, Microsoft Messaging, Mozilla Thunderbird, Tencent Foxmail, and more.
شکل بالا تصویری از شبهکد (pseudoCode) است هنگامی که Ave Maria اطلاعات اصالتسنجی (فرمان 20H) را از فایلهای تعریف شده در چندین مرورگر اینترنتی سرقت میکند. در این کد، تابعی فراخوانی میشود تا اطلاعات اصالتسنجی به شیوه RC4 رمزگذاری شده و سپس آنها را به سرور C2 ارسال کند. جدول زیر اکثر فرامین کنترلی را که بدافزار Ave Maria از آن پشتیبانی میکند، نشان میدهد.
بدافزار بدون فایل PandorahVNC RAT
دومین بدافزار بدون فایل نرمافزاری تجاری PandorahVNC Rat است که در این کارزار به RegAsm.exe تزریق میشود. این بدافزار با #C و Microsoft .NET Framework توسعه داده شده است. همچنین از قابلیتهایی نظیر سرقت اطلاعات اصالتسنجی از برخی برنامههای محبوب مانند Chrome ،Microsoft Edge ،Firefox، Outlook ،Foxmail و غیره پشتیبانی میکند. ضمن آن که فرامین کنترلی و قابلیتهایی جهت اجرای یک پروسه، گرفتن عکس از صفحهنمایش، دستکاری ماوس و صفحه کلید قربانی و غیره جهت کنترل دستگاه قربانی را دارا میباشد.
گام اول:
بدافزار بدون فایل PandorahVNC RAT در ابتدا متغیرهای زیر را تعریف میکند. این متغیرها، آدرس سرور C2، درگاه TCP و شناسههایی هستند که هنگام ارسال دادهها به سرور C2 از آنها استفاده میشود.
string str = vncgoga.duckdns.org; //C2 server
string str2 = 1338; // TCP port
string identifier = 3H4RHL; // Group id
سپس، به استخراج ماژول هسته از یک رشته کدگذاری شده با base64 که تمام قابلیتهای PandoraHVNC RAT را دارا است، میپردازد. در ادامه ماژول اصلی را با روش Process Hollowing (تعویض فایل اجرایی و جایگزینی کدمخرب به جای آن) در پروسه جدید ایجاد شده cvtres.exe (فایلی از Microsoft .Net framework) مستقر میکند. سعی میکند فایل را از یکی از نشانیهای زیر پیدا کند:
“C:\Windows\Microsoft.NET\Framework\v4.0.30319\”
“C:\Windows\Microsoft.NET\Framework\v2.0.50727\”
اگر فایل مورد نظر پیدا نشد، بدون اجرای ماژول اصلی PandoraHVNC RAT از آن خارج میشود. آدرس سرور C2، درگاه و شناسهها نیز در حین جایگذاری کدمخرب به پروسه جدید منتقل میشوند. شکل زیر کد مربوط به انجام Process Hollowing را نشان میدهد.
گام دوم:
در این مرحله، اطلاعات اولیه از دستگاه قربانی جمعآوری شده و به سرور C2 ارسال میشود تا دستگاه قربانی را در سرور ثبت کند. در تصویر زیر دادههای چنین بستهای نمایش داده شده است.
اولین عدد صحیح 64 بیتی یعنی 0x62، کل اندازه بسته است. دادههای بعدی در یک Binary Object سریالی مهر و موم شده است. داده 16H (“00 01 … 0000”) نوعی Header است. 0x4a بعدی هماندازه با رشتههای زیر و یک عدد صحیح با طول متغیر است. آخرین0x0b یک Flag جهت خاتمه دادن است.
حال رشته سریالی مهر و موم شده را که شامل شماره بسته (654321)، شناسه گروهی کلاینت (3H4RHL)، نام کاربری قربانی و نام کامپیوتر (Bobs@BOBS-PC)، کد موقعیت مکانی قربانی (US)، اطلاعات سیستم (Windows 7 Pro)، تاریخ (05/09/2022)، نسخه کلاینت (3.1) و اینکه آیا از محصول ضدویروسی استفاده میشود (False)، میباشد.
هنگامی که سرور C2 این بسته را دریافت کرد، اطلاعات قربانی را در یک لیست همانند شکل زیر نشان میدهد.
سپس هکر می تواند با کلیک راست روی کلاینت و کلیک بر روی گزینههای موجود در منو، دستگاه قربانی را کنترل کند. شکل بالا منوی نمایش داده شده در هنگام کلیک راست و گزینههای آن را نشان میدهد.
شکل قبلی تصویری از دو بسته را نمایش میدهد، خط اول مربوط به بسته کنترل فرمان دریافتی با شماره فرمان 3308 میباشد. دیگری بسته ارسالی به سرور C2 با شماره بسته 3308 است که پس از سرقت اطلاعات اصالتسنجی قربانی به هنگام کلیک هکر روی Pandora Recovery ایجاد میشود. همانطور که قبلاً نیز ذکر شد، این دو بسته در Binary Object به صورت سریالی مهر و موم شدهاند.
جدول زیر جزئیات تمام فرامین کنترلی و قابلیتهایی را که PandoraHVNC RAT ارائه میدهد، نمایش میدهد.
بدافزار بدون فایل BitRAT
سومین بدافزار بدون فایلی که به پروسه aspnet_compiler.exe تزریق میشود، BitRat است که گفته میشود یک تروجان دسترسی از راه دور است. بدافزار BitRat، قابلیتهای جمعآوری اطلاعات نظیر دادههای Clipboard، کلیدهای فشرده شده توسط کاربر (Keylogger)، اطلاعات اصالتسنجی برنامههای کاربردی مختلف، ثبت تصاویر از طریق دوربین دستگاه (Webcam Logging) و ضبط صدا (Voice Recording) را برای مهاجمان فراهم میکند. فرامین کنترلی گستردهای برای کنترل دستگاه قربانی نظیر دانلود و اجرای یک فایل، کنترل از راه دور دسکتاپ، کنترل پروسهها و سرویسها، Reverse Socks و غیره وجود دارد.
گام اول:
پیکربندی رمزگذاری BitRat مشابه Ave Maria Rat است. شکل زیر رمزگشایی شده پیکربندی آن را در حافظه نشان میدهد، جایی که سرور C2 و درگاه (890)، شناسه کلاینت (f2b8b66873ca913a) و موارد دیگر در آن وجود دارد.
تلاش جهت اتصال به سرور C2 ادامه مییابد. سپس با بکارگیری پروتکل TLS 1.2 از ترکیب رمزگذاری RSA و AES جهت انتقال بسته استفاده میشود. شکل زیر مدلی را نشان میدهد که در آن، دادههای متنی به صورت Base64 کدگذاری و با روش AES-256 رمزگذاری میشوند. در نهایت، داده های رمزگذاری شده را از طریق پروتکل TLS 1.2 به سرور C2 ارسال میکند.
در این بخش توضیح میدهیم که یک بسته متنی ساده چگونه است. شکل زیر، تصویری از نرمافزار اشکالیاب (Debugger) را نشان میدهد که بدافزار BitRat در آن بسته متنی ساده را با بکارگیری اطلاعات اولیه دستگاه قربانی به صورت Base64 کدگذاری میکند.
این بسته شامل بخشهای زیادی است که با «|» از هم جدا شدهاند؛ این بخشها عبارتند از شناسه کلاینت (f2b8b66873ca913a)، نام کاربری، نام کامپیوتر، اطلاعات CPU، کارت GPU، نام سیستم (Win 7)، مدت زمان روشن بودن دستگاه، زمان بیکاری سیستم، مقدار RAM، نشانی IP، اینکه آیا کاربر ورود به سیستم Admin است یا خیر، نسخه کلاینت بدافزار BitRat ا(1.38) و غیره. در مرحله بعد، بسته به شیوه Base64 کدگذاری و یه صورت AES-256 رمزگذاری شده و در نهایت به سرور C2 ارسال میشود.
هنگامی که سرور C2 این بسته را دریافت کرد، دستگاه قربانی در رابط کنترلی آن ظاهر میشود، جایی که هکر میتواند دستگاه آلوده را کنترل کند.
گام دوم:
BitRat قدرتمندتر از AveMariaRAT و PandoraHVNC است زیرا تعداد زیادی فرمان کنترلی (172 فرمان) را جهت کنترل دستگاه قربانی ارائه میدهد.
شکل زیر داشبورد را در هنگام اتصال به سیستم قربانی در سمت سرور C2 نشان میدهد. در سمت چپ، اطلاعات اولیه دستگاه قربانی وجود دارد، در حالی که برخی از قابلیتها در سمت راست فهرست شدهاند.
به غیر از قابلیتهای نمایش داده شده در داشبورد، قابلیتهای زیر نیز از طریق منوی آن ارائه میشود:
- Chat
- Clear browsers
- Clipboard management
- DLL injection
- Change desktop background
- Open website
- Notes
- UAC bypass
- Kill Windows Defender
- Show preview of screen or webcam
- Keylog download & search
- Reverse socks
- System management (reboot, shutdown, sleep, etc.)
- BitRat client’s update and uninstall
- DDoS attack (plugin)
- Mining (plugin)
- Telegram bot (plugin)
- Passwords Logins (plugin)
گام سوم:
هنگامی که BitRat بسته فرمان کنترل را دریافت میکند، فقط به رمزگشایی AES-256 جهت بازیابی بسته متنی ساده (Plaintext) نیاز دارد. ساختار بسته متنی ساده را با استفاده از مثال زیر توضیح میدهیم:
“ddos_start|MTkyLjE2OC4yMi4xNQ==|3333|1|tcp|tcp|1|0|L3NpdGUucGhwP3g9dmFsMSZ5PXZhbDI=”
هر بسته دستوری با رشته نام دستور و پارامترهای بعدی شروع میشود که با علامت “|” از هم تفکیک میشوند.
دستور مثال بالا از دستگاه آلوده میخواهد که یک حمله DDoS را شروع کند، که در آن ddos_start نام فرمان است، ==MTkyLjE2OC4yMi4xNQ نشانی IP هدف مورد نظر است که بصورت Base-64 کدگذاری شده است، 3333 پورت موردنظر، tcp نیز Flood method میباشد. پروتکل tcp است، شماره رشته «1»، مقدار آن «0» و آخرین فیلد مربوط به داده میباشد.
اولین بار، بدافزار BitRat فهرستی که در آن به گرههای حاوی نام فرمان و شماره فرمان (مانند ddos_start برای 85H) لینکدهی شده را علاوه بر چندین Flag مقداردهی اولیه میکند. بدافزار BitRat تابعی دارد که از طریق آن گرهها و با مقایسه رشتهای، در جستجوی گرهای است که با نام فرمان بسته مطابقت داشته باشد. نام فرمان از offset +10H گره شروع میشود و شماره فرمان مربوطه در یک dword از نشانی offset +28H ذخیره میشود. در عبارات زیر گره مذکور در ddos_start قرار دارد.
Offset+00 A0 2E 30 00 00 71 3E 00 A0 2E 30 00 00 00 00 00 .0..q>. .0…..
Offset+10 64 64 6F 73 5F 73 74 61 72 74 00 00 00 00 00 00 ddos_start……
Offset+20 0A 00 00 00 0F 00 00 00 85 00 00 00 …….……
BitRat عمل تطابق را از طریق شماره فرمان انجام میدهد. در ادامه در جدول زیر بیشترین فرامین کنترلی بدافزار BitRat را همراه با توضیحات مختصری از آنها، فهرست میکنیم.
جمعبندی
در این مقاله، کد مخرب سه بدافزار بدون فایل بکارگرفته شده در کارزار فیشینگ را بررسی کردیم و توضیح دادیم که آنها به چه پروسههایی تزریق و اجرا میشوند.
در ادامه نحوه اتصال این سه بدافزار به سرور C2 را تشریح نموده و ساختار بستههایی که به سرور C2 ارسال میشوند را نمایش دادیم. همچنین مقادیری که به بستههای فرامین کنترلی در کلاینتهای بدافزار جهت کنترل دستگاه قربانی ارسال میشود را ارائه کردیم.
علاوه بر این ضمن نمایش جداول فرامین کنترلی هر یک از این بدافزارها، قابلیتهای این سه بدافزار را همراه با چند مثال جهت اثبات نحوه بکارگیری مهاجمان از آنها شرح دادیم.
نشانههای آلودگی (IoC):
URL:
vncgoga[.]duckdns[.]org:1338
mubbibun[.]duckdns[.]org:999
danseeeee[.]duckdns[.]org:2022
maraipasoo[.]duckdns[.]org:890
برای مشاهده نشانههای آلودگی بخش اول این مقاله اینجا را کلیک نمایید.
منبع:
https://www.fortinet.com/blog/threat-research/phishing-campaign-delivering-fileless-malware-part-two