روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ سپتامبر ۲۰۲۴، فعالیتهای مخربی را شناسایی کردیم که مؤسسات مالی (شرکتهای کارگزاری و معاملاتی) را از طریق توزیع فایلهای مخرب با پسوند .scr (اسکرینسیور) هدف قرار داده بودند. این فایلها در قالب اسناد مالی جعل شده و از طریق پیامرسان Skype ارسال میشدند. عامل تهدید، یک تروجان دسترسی از راه دور (RAT) جدید به نام GodRAT را که بر پایهی کد منبع Gh0st RAT توسعه یافته است، به کار گرفت. برای گریز از شناسایی، مهاجمان از روش استگانوگرافی استفاده و شِلکُد را درون فایلهای تصویری جاسازی کردند. این شِلکُد وظیفه داشت GodRAT را از سرور فرماندهی و کنترل (C2) دانلود کند.
GodRAT از افزونههای اضافی پشتیبانی میکند. پس از نصب، مهاجمان از افزونه FileManager برای کاوش در سیستم قربانی استفاده کردند و همچنین ابزارهای سرقت رمز عبور مرورگرها را برای استخراج اطلاعات کاربری به کار گرفتند. علاوه بر GodRAT، آنها برای حفظ دسترسی بلندمدت، از AsyncRAT نیز بهعنوان یک بدافزار ثانویه استفاده کردند.
GodRAT شباهت زیادی به AwesomePuppet دارد؛ یک بکدر دیگر مبتنی بر Gh0st RAT که ما در سال ۲۰۲۳ گزارش کرده بودیم. شباهتها در هر دو زمینهی کدنویسی و روش توزیع دیده میشود. این موضوع نشان میدهد که GodRAT به احتمال زیاد نسخهی تکاملیافتهی AwesomePuppet است که خود نیز به طور محتمل با گروه Winnti APT در ارتباط است. تا زمان انتشار این گزارش، این حملات همچنان فعال هستند و جدیدترین مورد شناساییشده به تاریخ ۱۲اوت ۲۰۲۵ بازمیگردد. در ادامه، خط زمانی حملات بر اساس شناسایی فایلهای اجرایی تزریقکنندهی شِلکُد GodRAT ارائه شده است. علاوه بر فایلهای مخرب .scr مهاجمان از فایلهای[1].pif نیز استفاده کردهاند که در قالب اسناد مالی جعل شده بودند.
جزئیات فنی
ایمپلنتهای بدافزاری
لودرهای شِلکُد
ما دو نوع لودر شِلکُد را شناسایی کردیم که هر دو با تزریق شِلکُد درون همان فرآیند خود، آن را اجرا میکنند. نوع اول بایتهای شِلکُد را مستقیماً در باینری لودر جاسازی میکند و نوع دوم شِلکُد را از یک فایل تصویری میخواند. یکی از فایلهای تزریقکننده شِلکُد GodRAT با نام SDL2.dll یک فایل اجرایی است که شِلکُد جاسازیشده را با استفاده از کلید ثابت زیر به روش XOR رمزگشایی میکند:
OSEDBIU#IUSBDGKJS@SIHUDVNSO*SKJBKSDS#SFDBNXFCB
سپس بخش جدیدی در حافظهی یک فرآیند اجرایی ایجاد میشود و شِلکُد رمزگشاییشده در آن کپی میگردد. در ادامه، این بخش جدید به فضای حافظهی فرآیند نگاشت میشود و یک نخ (Thread) برای اجرای شِلکُد ایجاد میگردد. در میان این موارد، فایلی به نام “SDL2.dll” (MD5: 512778f0de31fcce281d87f00affa4a8) وجود دارد که بهعنوان یک لودر عمل میکند. لودر SDL2.dll توسط فایل اجرایی مشروع Valve.exe بارگذاری میشود.
لودر حافظه تخصیص میدهد، بایتهای شِلکُد استخراجشده را کپی کرده و یک نخ برای اجرای آن ایجاد میکند. همچنین لودرهای مشابهی شناسایی شد که شِلکُد را از یک فایل تصویری با نام “2024-12-10_05.59.18.18.jpg”استخراج میکنند. یکی از این لودرها (MD5: 58f54b88f2009864db7e7a5d1610d27d) یک ورودی Registry Load Point در مسیر
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MyStartupApp
ایجاد میکند که به فایل اجرایی مشروع Valve.exe اشاره دارد.
عملکرد شِلکُد
شِلکُد در ابتدا به دنبال رشتهی “godinfo”میگردد که بلافاصله پس از آن دادههای پیکربندی قرار دارند. این دادهها با کلید تکبایتی XOR 0x63رمزگشایی میشوند. دادههای رمزگشاییشده شامل موارد زیر هستند:
- آدرس IP سرور C2
- پورت
- رشتهی دستور خط ماژول
شِلکُد به سرور C2 متصل شده و رشتهی “GETGOD”را ارسال میکند. سپس سرور C2 دادهای را بازمیگرداند که مرحله دوم شِلکُد را تشکیل میدهد. این مرحله دوم شامل موارد زیر است:
- کد بوتاسترپ
- یک DLL فشردهشده با UPXاز GodRAT
- دادههای پیکربندی
پس از دانلود مرحله دوم، شِلکُد مرحله اول دادههای پیکربندی مرحله دوم را با دادههای پیکربندی خودش بازنویسی میکند. سپس یک نخ جدید برای اجرای شِلکُد مرحله دوم ایجاد میشود. کد بوتاسترپ، DLL مربوط به GodRAT را در حافظه تزریق کرده، نقطه ورود DLL و تابع خروجی “run”را فراخوانی میکند. کل شِلکُد مرحله بعد بهعنوان آرگومان به تابع “run” ارسال میشود.
GodRAT
DLL مربوط به GodRAT نام داخلی ONLINE.dll دارد و تنها یک متود صادر میکند: “run”. این DLL ابتدا پارامترهای خط فرمان را بررسی کرده و عملیات زیر را انجام میدهد:
- اگر تعداد آرگومانهای خط فرمان یک باشد:
فرمان خطی از دادههای پیکربندی کپی میشود.
در نمونهی تحلیلشده، این فرمان:
· C:\Windows\System32\curl.exe
سپس آرگومان “-Puppet”به آن افزوده شده و یک فرآیند جدید با دستور زیر ایجاد میگردد:
C:\Windows\System32\curl.exe -Puppet
پارامتر “-Puppet”پیشتر در AwesomePuppet RAT نیز به شکلی مشابه استفاده شده بود. اگر این فرآیند ایجاد نشود، GodRAT تلاش میکند فرآیندی با دستور سختکُدیشده زیر بسازد:
%systemroot%\system2\cmd.exe -Puppet
در صورت موفقیت، فرآیند معلق میشود، حافظه تخصیص داده شده و بافر شِلکُدکه به تابع “run” داده شده بوددر آن نوشته میشود. سپس یک نخ جدید برای اجرای شِلکُد ایجاد میشود و فرآیند فعلی خاتمه مییابد. این روش باعث میشود GodRAT درون فرآیندهای curl.exeیا cmd.exe اجرا شود.
- اگر تعداد آرگومانها بیشتر از یک باشد:
بررسی میکند که آیا آرگومان دوم “-Puppet”است یا خیر. در صورت صحیح بودن، عملکرد RAT آغاز میشود؛ در غیر این صورت مانند حالت قبل (تعداد آرگومان یک) رفتار میکند.
پس از راهاندازی، RAT یک اتصال TCPبه سرور C2 برقرار میکند (روی پورتی که در پیکربندی مشخص شده است). سپس اطلاعات زیر از قربانی جمعآوری میشود:
- اطلاعات سیستمعامل
- نام میزبان محلی
- نام فرآیند بدافزار و شناسه فرآیند (PID)
- نام حساب کاربری مرتبط با فرآیند بدافزار
- نرمافزارهای آنتیویروس نصبشده
- وضعیت وجود یک درایور (Capture احتمالاً برای گرفتن تصاویر)
هرچند وجود درایور Capture بررسی میشود، اما در نمونهی تحلیلشده چنین قابلیتی مشاهده نشده است.
دادههای جمعآوریشده ابتدا با الگوریتم zlib (deflate) فشرده شده و سپس یک هِدر ۱۵ بایتی به آن افزوده میشود. پس از آن، این داده سه بار برای هر بایت با روش XORرمزگذاری میگردد. دادهی نهایی که به سرور C2 ارسال میشود شامل یک هِدر ۱۵ بایتی و در ادامه بلوک دادهی فشردهشده است.
ساختار هِدر شامل فیلدهای زیر است:
- magic bytes:\x74\x78\x20
- total size: مجموع اندازهی دادهی فشرده + اندازهی هِدر
- decompressed data size: اندازهی داده پس از فشردهزدایی
- fixed DWORD: عدد ثابت (۱ برای دادههای ورودی و ۲ برای دادههای خروجی)
دادهای که از سمت سرور C2 دریافت میشود، تنها با همان روش سهمرحلهای XOR رمزگشایی میگردد. این داده نیز شامل یک هِدر ۱۵ بایتی و سپس دادهی فرماناست.
قابلیتهایGodRAT بر اساس دادههای فرمان دریافتی
این RAT میتواند عملیات زیر را انجام دهد:
- تزریق یک DLL پلاگین دریافتشده در حافظه و فراخوانی متد صادرشدهی آن به نام “PluginMe”، همراه با ارسال نام میزبان (hostname) و پورت C2 بهعنوان آرگومانها. GodRAT از پلاگینهای مختلف پشتیبانی میکند، اما در تحلیل ما تنها پلاگین FileManager مشاهده شد.
- بستن سوکت و خاتمه دادن به فرآیند RAT.
- دانلود یک فایل از URL ارائهشده و اجرای آن با استفاده از API مربوط به CreateProcessAدر دسکتاپ پیشفرض
- باز کردن یک URL مشخص با استفاده از دستور شل برای اجرای مرورگر Internet Explorer، مانند:
- اجرای همان دستور بالا اما با تعیین دسکتاپ پیشفرض
- ایجاد فایلی با نام “%AppData%\config.ini”، سپس ساخت بخشی با نام “config”درون آن و ایجاد کلیدی به نام “NoteName”که مقدار آن رشتهای است که از C2 دریافت شده است.
· C:\Program Files\Internet Explorer\iexplore.exe %1
پلاگین FileManager در GodRAT
DLL پلاگین FileManager نام داخلی FILE.dllدارد و تنها یک متود به نام PluginMeرا صادر میکند. این پلاگین اطلاعات زیر را از سیستم قربانی جمعآوری میکند:
- جزئیات درایوهای منطقی (حرف درایو، نوع درایو، ظرفیت کل، فضای آزاد موجود، نام فایلسیستم و نام Volume)
- مسیر دسکتاپ کاربر فعلی لاگینشده
- بررسی اینکه آیا کاربر تحت حساب سیستم فعالیت میکند یا خیر
این پلاگین میتواند بر اساس دستورات دریافتی از C2 عملیات زیر را انجام دهد:
- فهرستکردن فایلها و پوشهها در مسیر مشخص، همراه با جزئیاتی مانند نوع (فایل یا پوشه)، نام، اندازه و زمان آخرین تغییر
- نوشتن داده در یک فایل موجود در آفست تعیینشده
- خواندن داده از یک فایل در آفست تعیینشده
- حذف یک فایل در مسیر مشخص
- حذف بازگشتی فایلها در مسیر مشخص
- بررسی وجود یک فایل؛ در صورت وجود، ارسال اندازه فایل، و در صورت عدم وجود، ایجاد یک فایل جدید برای نوشتن
- ایجاد یک پوشه در مسیر تعیینشده
- جابجایی یک فایل یا پوشه (به همراه زیرشاخهها و فایلهای درون آن)
- اجرای یک برنامه مشخص با پنجره قابل مشاهده از طریق API مربوط به ShellExecuteA
- اجرای یک برنامه مشخص با پنجره پنهان از طریق ShellExecuteA
- اجرای یک دستور خط فرمان مشخص با پنجره پنهان از طریق cmd.exe
- جستجوی فایلها در مسیری مشخص، همراه با جمعآوری مسیر مطلق فایل، اندازه و زمان آخرین تغییر
- متوقفکردن یک عملیات جستجوی فایل
- اجرای 7zipاز طریق نوشتن بایتهای از پیشسختکُدیشده به مسیرهای زیر و سپس اجرای آن با پارامترهای ارائهشده از سمت C2:
%AppData%\7z.exe (MD5: eb8d53f9276d67afafb393a5b16e7c61
%AppData%\7z.dll (MD5: e055aa2b77890647bdf5878b534fba2c
این ابزار برای استخراج فایلهای فشرده (Unzip) که توسط بدافزار دریافت یا رها شدهاند استفاده میشود.
پیلود دومین مرحله
مهاجمان با استفاده از پلاگین FileManager در GodRAT، ایمپلنتهای مرحله دوم زیر را مستقر کردند:
سرقتکننده رمزهای عبور کروم
- محل قرارگیری: %ALLUSERSPROFILE%\google\chrome.exe
- MD5: 31385291c01bb25d635d098f91708905
- عملکرد: جستجو در فایلهای پایگاهداده Chrome که شامل دادههای ورود به وبسایتها هستند ( URLها، نامهای کاربری و رمزهای عبور).
- دادههای جمعآوریشده در فایل “google.txt” در دایرکتوری ماژول ذخیره میشوند.
- فایلهای هدف:
- %LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data
- پایگاهداده SQLite که شامل جداول loginو stats است. از آن برای استخراج URLها و نامهای کاربری استفاده میشود. (رمزهای عبور رمزگذاریشده و مستقیماً قابل مشاهده نیستند).
- %LOCALAPPDATA%\Google\Chrome\User Data\Local State
- فایلی که کلید رمزگشایی رمزهای ذخیرهشده در آن قرار دارد.
سرقتکننده رمزهای عبور Microsoft Edge
- محل قرارگیری: %ALLUSERSPROFILE%\google\msedge.exe
- MD5: cdd5c08b43238c47087a5d914d61c943
- عملکرد: تلاش برای استخراج رمزهای عبور ذخیرهشده در مرورگر اج.
- دادههای جمعآوریشده در فایل “edge.txt” در دایرکتوری ماژول ذخیره میشوند.
- فایلهای هدف:
- %LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Login Data
- پایگاهداده SQLite با جدول loginsکه اطلاعات ورود کاربران در آن ذخیره میشود.
- %LOCALAPPDATA%\Microsoft\Edge\User Data\Local State
- شامل کلید رمزگشایی رمزهای ذخیرهشده.
AsyncRAT
فایل DLL با مشخصات زیر بهعنوان یک اینجکتور شناسایی شده است:
- MD5: 605f25606bb925d61ccc47f0150db674
- مسیرهای قرارگیری:
- %LOCALAPPDATA%\bugreport\LoggerCollector.dll
- %ALLUSERSPROFILE%\bugreport\LoggerCollector.dll
این DLL بررسی میکند که نام ماژول با “bugreport_.exe” مطابقت داشته باشد. سپس لودر، شِلکُد جاسازیشده را با کلید زیر به روش XOR رمزگشایی میکند:
EG9RUOFIBVODSLFJBXLSVWKJENQWBIVUKDSZADVXBWEADSXZCXBVADZXVZXZXCBWES
پس از آن، کلید دوم:
IUDSY86BVUIQNOEWSUFHGV87QCI3WEVBRSFUKIHVJQW7E8RBUYCBQO3WEIQWEXCSSA
از هر بایت شِلکُد رمزگشاییشده کسر میشود.
یک بخش حافظهی جدید ایجاد میشود، شِلکُد رمزگشاییشده در آن کپی و به حافظهی فرآیند جاری نگاشت میگردد. سپس یک نخ برای اجرای کد در این بخش ایجاد میشود. شِلکُد، باینری C# AsyncRAT را بهصورت Reflective Injection تزریق میکند.
پیش از تزریق، توابع اسکن AMSI ، و تابع EtwEventWrite پَچ میشوند تا مکانیزمهای امنیتی دور زده شوند.
AsyncRAT همچنین دارای یک گواهی دیجیتال جاسازیشده با ویژگیهای زیر است:
- Serial Number: df:2d:51:bf:e8:ec:0c:dc:d9:9a:3e:e8:57:1b:d9
- Issuer: CN = marke
- Validity:
- Not Before: 4 سپتامبر 2024، ساعت 18:59:09 GMT
- Not After: 31 دسامبر سال 9999، ساعت 23:59:59 GMT
- Subject: CN = marke
کد منبع و بیلدر GodRAT
ما کد منبع کلاینت GodRAT را در یکی از اسکنرهای آنلاین بدافزار محبوب کشف کردیم؛ این فایل در جولای 2024 آپلود شده بود.
- نام فایل: “GodRAT V3.5_______dll.rar”
- MD5: 04bf56c6491c5a455efea7dbf94145f1
- محتویات آرشیو: شامل بیلدر GodRAT
- MD5 بیلدر: 5f7087039cb42090003cc9dbb493215e
ویژگیهای بیلدر:
- قابلیت تولید Executable یا DLL
- اگر Executable انتخاب شود، کاربر میتواند از بین لیستی از نامهای اجرایی معتبر برای تزریق استفاده کند:
- svchost.exe، cmd.exe، cscript.exe، curl.exe، wscript.exe، QQMusic.exe، QQScLauncher.exe
- امکان انتخاب نوع فایل نهایی هنگام ذخیره Payload: .exe، .com، .bat، .scr، .pif
بررسی کد نشان میدهد که GodRAT بر پایهی Gh0st RAT ساخته شده است؛ زیرا شناسهی خودکار (UID) در فایل “GodRAT.h” با شناسهی موجود در فایل “gh0st.h” یکسان است. این موضوع strongly نشان میدهد که GodRAT در ابتدا صرفاً یک نسخه تغییرنامدادهشده از Gh0st RAT بوده است.
نتیجهگیری
پارامتر خط فرمان نادر “puppet”، شباهتهای کد با Gh0st RATو آرتیفکتهای مشترک مانند هِدر شناسه، نشان میدهد که GodRATمنشاء مشترکی با AwesomePuppet RATدارد که در گزارش خصوصی سال ۲۰۲۳ معرفی شد. این RAT بر اساس کد منبع Gh0st RAT ساخته شده و احتمالاً با فعالیتهای گروه Winnti APTمرتبط است. بر اساس یافتهها، اطمینان بالایی داریم که GodRAT نسخهی تکاملیافتهی AwesomePuppet است. با این حال، تفاوتهایی هم وجود دارد؛ برای مثال، بستههای C2 در GodRAT از فیلد “direction”استفاده میکنند که در AwesomePuppet به کار نرفته بود.
استفاده از کدپایگاههای قدیمی مانند Gh0st RAT که تقریباً دو دهه عمر دارند، همچنان در حملات امروزی مشاهده میشود. این کدها اغلب سفارشیسازی و بازسازی میشوند تا طیف گستردهای از قربانیان را هدف قرار دهند. کشف GodRAT نشان میدهد که چنین کدپایگاههای Legacy میتوانند در حوزه امنیت سایبری عمر طولانی داشته باشند و همچنان مؤثر باشند.
شاخصهای نفوذ (IoC)
هش فایلها
cf7100bbb5ceb587f04a1f42939e24ab
d09fd377d8566b9d7a5880649a0192b4 GodRAT Shellcode Injector
e723258b75fee6fbd8095f0a2ae7e53c GodRAT Self Extracting Executable
a6352b2c4a3e00de9e84295c8d505dad
6c12ec3795b082ec8d5e294e6a5d6d01
bb23d0e061a8535f4cb8c6d724839883
160a80a754fd14679e5a7b5fc4aed672
2750d4d40902d123a80d24f0d0acc454
441b35ee7c366d4644dca741f51eb729
318f5bf9894ac424fd4faf4ba857155e GodRAT Shellcode Injector
512778f0de31fcce281d87f00affa4a8 GodRAT Shellcode Injector
6cad01ca86e8cd5339ff1e8fff4c8558 GodRAT Shellcode Injector
58f54b88f2009864db7e7a5d1610d27d GodRAT Shellcode Injector
64dfcdd8f511f4c71d19f5a58139f2c0 GodRAT FileManager Plugin(n)
8008375eec7550d6d8e0eaf24389cf81 GodRAT
04bf56c6491c5a455efea7dbf94145f1 GodRAT source code
5f7087039cb42090003cc9dbb493215e GodRAT Builder
31385291c01bb25d635d098f91708905 Chrome Password Stealer
cdd5c08b43238c47087a5d914d61c943 MSEdge Password Stealer
605f25606bb925d61ccc47f0150db674 Async RAT Injector (n)
961188d6903866496c954f03ecff2a72 Async RAT Injector
4ecd2cf02bdf19cdbc5507e85a32c657 Async RAT
17e71cd415272a6469386f95366d3b64 Async RAT
مسیرهای فایل
C:\users\[username]\downloads\2023-2024clientlist&.scr
C:\users\[username]\downloads\2024-11-15_23.45.45 .scr
C:\Users\[username]\Downloads\2024-08-01_2024-12-31Data.scr
C:\Users\[username]\\Downloads\2025TopDataTransaction&.scr
C:\Users\[username]\Downloads\2024-2025Top&Data.scr
C:\Users\[username]\Downloads\2025TopClineData&1.scr
C:\Users\[username]\Downloads\Corporate customer transaction &volume.pif
C:\telegram desktop\Company self-media account application qualifications&.zip
C:\Users\[username]\Downloads\个人信息资料&.pdf.pif
%ALLUSERSPROFILE%\bugreport\360Safe2.exe
%ALLUSERSPROFILE%\google\chrome.exe
%ALLUSERSPROFILE%\google\msedge.exe
%LOCALAPPDATA%\valve\valve\SDL2.dll
%LOCALAPPDATA%\bugreport\LoggerCollector.dll
%ALLUSERSPROFILE%\bugreport\LoggerCollector.dll
%LOCALAPPDATA%\bugreport\bugreport_.exe
دامنهها و آیپیها
103[.]237[.]92[.]191 GodRAT C2
118[.]99[.]3[.]33 GodRAT С2
118[.]107[.]46[.]174 GodRAT C2
154[.]91[.]183[.]174 GodRAT C2
wuwu6[.]cfd AsyncRAT C2
156[.]241[.]134[.]49 AsyncRAT C2
https://holoohg.oss-cn-hongkong.aliyuncs[.]com/HG.txt URL containing AsyncRAT C2 address bytes
47[.]238[.]124[.]68 AsyncRAT C2
[1] Program Information File
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.