شرح کلی
نوع: روتکیت (Rootkit)
درجه تخریب: متوسط
میزان شیوع: کم
ابزار مورد سوءاستفاده: Computrace LoJack
اسامی بدافزار
• Padvish) Rootkit.win32.Lojax)
• Microsoft) Backdoor:Win32/Lojax)
• Kaspersky) Rootkit.EFI64.DoubleAgent.a)
• Eset) EFI/LoJax.A)
• Avira) BDS/DoubeAgent.wuwtd)
روتکیت (Rootkit) چیست؟
روتکیتها بر عملکرد هسته سیستم عامل تاثیر مخرب میگذارند. این تغییرات میتواند باعث مخفی شدن عملکرد اصلی فایلها، پردازهها، سرویسهای داخلی ویندوز و … شود. همچنین بدافزار ممکن است بدون اطلاع کاربر با اتصال به سرور خود اقدام به بهروزرسانی فایلهای خود نماید. از فعالیتهای اصلی روتکیتها میتوان به تغییر ساختارهای هسته سیستم عامل، ساخت درایورهای مخرب و یا تغییر در نحوه عملکرد درایورهای سالم اشاره نمود.
بدافزار Lojax چیست؟
این بدافزار منتسب به گروه fancy bear یا APT28 و متعلق به کارزار سرقت اطلاعات گروه مذکور است. بدافزار درواقع یک دربپشتی و دانلودر با بقای بسیار بالا در سیستم قربانی ایجاد میکند. برای این کار از ضعف امنیتی نرمافزار ضدسرقت LoJack متعلق به Computrace بهرهبرداری میشود. این ابزار که خود نوعی روتکیت است، با قرار دادن ابزارها و عوامل بقای خود در UEFI Firmware این تضمین را میدهد که در صورت سرقت و حتی پاکسازی کامل حافظه کامپیوتر، همچنان صاحب اصلی قادر به رصد، شناسایی و کنترل آن باشد. این رویکرد تهاجمی با توجه به کارکرد نرمافزار در لیست سفید نرمافزارهای ضدویروس قرار داشته است. بدافزار Lojax با سوءاستفاده از این ابزار و آسیبپذیری ذاتی نسخههای پیشین آن، عاملی بدافزاری را به همراه سرور فرماندهی و کنترل خود جایگزین سرور و عامل اصلی نرمافزار کرده و با توجه به نادیده گرفته شدن آن توسط ویروسیابها، از شناسایی میگریزد.
توضیحات فنی
LoJax مانند روتکیت عمل میکند، یعنی برنامه یا مجموعهای از ابزارهایی که امکان دسترسی به سطح Admin کامپیوتر یا شبکه را (در حالی که پنهان مانده است) فراهم میکنند. اما آنچه LoJax را بسیار ویژه میکند این است که اولین روتکیت کشفشدهای است که مستقیماً به رابط Unified Extensible Firmware Interface) UEFI) حمله میکند.
بهطور خلاصه UEFI جانشین BIOS در کامپیوترها است. از آنجایی که هر دوی این موارد جزئی از Firmware محسوب میشوند، در یک حافظه فلش که با پروتکل SPI کنترل میشود، در مادربرد یا برد اصلی سیستم نگهداری میشود و مانند BIOS حاوی دستورالعملهای لازم برای راهاندازی سیستم و کنترل چیپهای کامپیوتر است. این به این معناست که عملکرد UEFI وابستگی به سیستمعامل ندارد.
با توجه به موارد گفتهشده، LoJax از یک آسیبپذیری در ابزار Computrace LoJack استفاده میکند. این نرمافزار که در بسیاری از کامپیوترهای شخصی (لپتاپ) از قبل نصبشده است، اطلاعاتی درباره مکان لپتاپ ارسال میکند و همچنین اجازه میدهد پروندهها در صورت سرقت، حذف یا مسدود شوند. از آنجایی که این یک مکانیسم ضد سرقت است، LoJack به گونهای طراحی شده است که حتی اگر سیستم عامل مجدداً نصب شده باشد نیز بر روی لپتاپ باقی بماند، زیرا این موارد عناصری هستند که سارقان معمولاً پس از سرقت لپتاپ تغییر میدهند.
علائم آلودگی
به این دلیل که کلیه عملیات بدافزار هنگام بوت رخ میدهند، در سیستمعامل به جز علائم ثانویه چیزی مشاهده نمیشود. در واقع هنگام بالا آمدن سیستمعامل، بدافزار رد پای خود را میپوشاند.
شرح عملکرد
بدافزار LoJax با سوءاستفاده از فرایند سیستم مقابله با سرقت، اقدام به ایجاد و صیانت از backdoor خود در سیستم قربانی میکند که برای این کار باید در ارتباط عامل کوچک با سرور خودش اختلال ایجاد کند. آدرس سرور فرماندهی و کنترل به صورت تقریباً ناامنی در درون کد عامل کوچک تعبیه شدهاست. محتوای آدرس به صورت باینری xor شده است. چهار بایت نخست IP و بقیه url آن است. از آنجایی که هیچ نوع کنترل یا بررسی آدرسی وجود ندارد، هر عاملی که سطح دسترسی نوشتن بر روی دایرکتوری ویندوز را داشته باشد، قادر به تغییر این آدرس و درنتیجه جعل سرور فرماندهی و کنترل خواهد بود.
البته باید توجه داشت که بدافزار فقط سیستم LoJack را به گروگان نمیگیرد (احتمال نصب بودن آن بر روی همه سیستمها اندک است)، بلکه با روتکیت اختصاصی رفتار آن را تقلید مینماید و از این رو با توجه به whitelist بودن LoJack از شناسایی شدن میگریزد.
برای دسترسی به پارتیشنهای هارد از درایورهای NTFS DXE استفاده میشود. این درایورها بهطور پیشفرض قبل از بالا آمدن Boot Manager بارگذاری میشوند. در سیستمهای آلوده یکی از درایورها هک شده و اقدامات خرابکارانه انجام میدهد. درایور مخرب یک Event در سیستم به نام EFI_EVENT_GROUP_READY_TO_BOOT ایجاد میکند. این event هنگامی که روند بوت به مرحله انتخاب device یا Boot Device Selection) BDS) وارد شود، سیگنالی به درایور ارسال میکند تا بقیه عملیات خرابکارانه خود را انجام دهد. پس از رسیدن به مرحله Boot Manager ،BDS با فعال کردن سیگنال با CallBack به درایور secDEX شروع کار بدافزار را آغاز میکند. روال کلی عمل بدافزار پس از بارگذاری درایور و فعال شدن event به شرح زیر است:
۱. درایور secDXE دو فایل در پارتیشن ویندوز مینویسد: rpcnetp.exe و autoche.exe.
۲. محتوای کلید رجیستری BootExecute به شرح زیر تغییر میکند:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
“autocheck autochk *” -> “autocheck autoche *”
باید توجه داشت که برنامه Autochk.exe همواره پیش از سیستمعامل بالا آمده و سلامت پارتیشنهای هارد را بررسی میکند. در سیستم آلوده، برنامه autoche.exe به کمک کلید رجیستری گفته شده جایگزین برنامه سالم میشود.
۳. برنامه مخرب autoche.exe برای ایجاد بقا برای عامل کوچک یا rpcnetp.exe به کار میرود. این برنامه با وجود شباهت به autochk اصلی Computrace با آن تفاوت دارد. بر خلاف برنامه اصلی، این برنامه جایگزین ابزار autochk ویندوز نمیشود، بلکه با تغییر رجیستری، ویندوز را وادار به استفاده از خود میکند. همچنین، وظیفه کپی کردن عامل کوچک در بدافزار بر عهده روتکیت است، نه این برنامه.
۴. برنامه مخرب rpcnetp.exe یا عامل کوچک که ممکن است توسط روتکیت پیش از بالا آمدن ویندوز در سیستم نصب شود، وظیفه ارتباط با سرور فرماندهی و کنترل را دارد. برنامه فوق در درون خود امکان دانلود تروجانها و ابزارهای مخرب دیگر را دارا است، هرچند چنین موردی مشاهده نشده است. لیست نام و IP سرورهای فرماندهی و کنترل در نسخههای موجود به شرح زیر است:
ردیف | IP | URL |
1 | 185.144.82[.]239 | ikmtrust[.]com |
2 | 185.77.129[.]106 | secao[.]org |
3 | 93.113.131[.]103 | sysanalyticweb[.]com |
4 | 185.94.191[.]65 | webstp[.]com |
5 | 86.106.131[.]54 | elaxo[.]org |
6 | 103.41.177[.]43 | remotepx[.]net |
7 | 185.86.149[.]54 | lxwo[.]org |
8 | 80.185.86[.]148 | rpcnetconnect[.]com |
9 | 103.41.177[.]43 | remotepx[.]net |
10 | 80.103.41[.]177 | remotepx[.]net |
11 | 77.129.106[.]115 | secao[.]org |
12 | 46.21.147[.]71 | regvirt[.]com |
13 | 185.86.151[.]104 | jflynci[.]com |
14 | 185.86.148[.]184 | rpcnetconnect[.]com |
15 | 185.86.148[.]84 | rdsnets[.]com |
در تصویر زیر فرآیند بوت شدن یک سیستم آلوده را مشاهده میکنید:
روش مقابله و پاکسازی سیستم
نخستین راهکار برای جلوگیری از بدافزار، استفاده از Secure Boot است. از آنجایی که روتکیت مورد استفاده بدافزار به درستی امضا نشده است، Secure Boot که تنها اجازه بارگذاری موارد امضا شده را میدهد، میتواند جلوی آلودگی را بگیرد. با این وجود، ممکن است با توجه به استفاده از درایورهای مجاز، این بدافزار از این مانع بگذرد. در صورتی که سختافزار سیستم از نسل چهارم پردازندههای core Intel به بعد استفاده کند، با پیکربندی Intel Boot Guard میتوان جلوی آلودگی حافظه فلش UEFI را گرفت و حتی در صورت آلوده شدن، از بوت شدن سیستم ممانعت به عمل آورد.
در صورت آلوده شدن سیستم، باید حافظه SPI و Firmware فلش شده و از نو نصب شوند. در صورتی که به هر دلیلی نتوان این کار را انجام داد، راهی به جز تعویض مادربرد وجود ندارد.
آنتیویروس پادویش این بدافزار را شناسایی و از سیستم حذف میکند. جهت پیشگیری از ورود این دست بدافزارها به سیستم پیشنهاد میشود از کلیک بر روی لینکهای مشکوک خودداری نموده و فایلهای ضمیمه ایمیلها را قبل از اجرا، حتما پویش کنید. همچنین در صورت امکان همیشه سیستمعامل و آنتیویروس خود را بهروز نگه دارید.