کال بک در کرنل و مثال واقعی یک روت کیت از کتاب Evasive Malware گروه آموزشی وابسته به تلگرام آکادمی روزبه
مقوله Callback در کرنل چیست؟ مقوله Callbackها توسط سیستمعامل برای اطلاعرسانی رویدادهای خاص به ماژولهای کرنل (مانند درایورها) استفاده میشوند. مثلاً اگر یک فرآیند جدید ایجاد شود، سیستمعامل از طریق PsSetCreateProcessNotifyRoutine یک اعلان به درایورهای ثبتشده ارسال میکند تا آنها بتوانند عملیاتی مانند ثبت یا پردازش را انجام دهند.
نحوه سوءاستفاده از Callback چیست؟ روتکیتها، مانند Necurs، از این قابلیت برای نفوذ و کنترل سیستم سوءاستفاده میکنند. آنها با ثبت Callbackهای مخرب در کرنل، میتوانند: - رویدادهای مهم سیستم (مانند ایجاد فرآیند یا تغییر در فایلها) را رهگیری کنند. - اقدامات مخرب انجام دهند، مانند پنهانسازی فرآیند یا فایلها، مسدود کردن ابزارهای امنیتی، و کنترل فعالیت شبکه.
روتکیت Necurs: معرفی و هدف
- سال ظهور:Necurs در سال 2012 شناسایی شد و به یکی از پیچیدهترین روتکیتهای زمان خود تبدیل شد. - فعالیت: Necurs بهعنوان یک روتکیت و بات نت عمل میکرد و علاوه بر مخفیکردن خود، برای توزیع بدافزارهایی مانند Locky و GameOver Zeus مورد استفاده قرار میگرفت. - سال نابودی: در سال 2020، مایکروسافت و تیمهای امنیتی زیرساختهای Necurs را مختل و سرورهای فرمان و کنترل (C2) آن را از بین بردند.
روت کیت Necurs و سوءاستفاده از Callbackها روتکیت Necurs برای تثبیت موقعیت، محقق ساختن عملیات مخرب و پنهان ماندن از ابزارهای امنیتی، از Callbackهای کرنل بهصورت گسترده سوءاستفاده میکرد.
روشهای سوءاستفاده Necurs از Callbackها: 1. پنهانسازی فرآیندها: -این Necurs با استفاده ازPsSetCreateProcessNotifyRoutin ، فرآیندهای خود و بدافزارهای وابسته را از لیست فرآیندهای قابل مشاهده پنهان میکرد. - هر بار که یک فرآیند جدید در سیستم راهاندازی میشد، Necurs بررسی میکرد آیا باید این فرآیند را پنهان کند یا به اقدامات مخرب خاصی بپردازد.
2. کنترل سیستم فایل: - با سوءاستفاده از Callbackهای مرتبط با سیستم فایل (مانند فیلترهای I/O)، Necurs فایلهای مخرب خود را پنهان میکرد یا دسترسی به آنها را مسدود میکرد. - این تکنیک باعث میشد ابزارهای امنیتی نتوانند فایلهای Necurs را شناسایی یا حذف کنند.
3. اختلال در ابزارهای امنیتی: - روت کیت Necurs ابزارهای ضدبدافزار یا تحلیل بدافزار را از طریق مانیتور کردن آنها شناسایی کرده و تلاش میکرد اجرای آنها را مختل کند. - این روتکیت حتی میتوانست کدی را بهطور مخرب به فرآیندهای امنیتی تزریق کند یا ساختار دادههای آنها را روی کرنل تغییر دهد.
4. نظارت و مداخله در فعالیت شبکه: - این Necurs از Callbackهای سطح شبکه (TDI یا سایر فیلترهای شبکه) برای مخفی کردن ارتباط با سرورهای C2 استفاده میکرد. - این قابلیت باعث شد ترافیک مخرب آن، مانند ارسال اسپم یا دستورات بدافزاری، از دید ابزارهای شناسایی شبکه پنهان بماند.
5. ماندگاری و مقاومت: - با استفاده از Callbackها، Necurs هرگونه تلاش برای شناسایی و حذف را در همان لحظه شناسایی کرده و با مختل کردن عملیات ضدبدافزارها از حذف خود جلوگیری میکرد.