ربودن جریان اجرا
Hijack Execution Flowتوضیحات
مهاجمان نحوه اجرای برنامهها توسط سیستمعامل را دستکاری میکنند تا payloadهای مخرب را اجرا کنند. این تکنیک شامل DLL hijacking، side-loading، path interception و سایر روشهای دستکاری جریان اجرا میشود. مهاجمان میتوانند از این روش برای پایداری، ارتقاء سطح دسترسی و فرار از شناسایی استفاده کنند.
زیرتکنیکها (5)
مهاجمان از ترتیب جستجوی DLL ویندوز سوءاستفاده میکنند تا DLLهای مخرب را به جای DLLهای قانونی بارگذاری کنند. ویندوز DLLها را در ترتیب خاصی جستجو میکند و مهاجمان میتوانند DLL مخرب را در مسیری قرار دهند که قبل از مسیر اصلی جستجو میشود.
مهاجمان از برنامههای قانونی که DLLها را از مسیرهای نسبی بارگذاری میکنند سوءاستفاده میکنند. با قرار دادن DLL مخرب در کنار برنامه قانونی، مهاجمان میتوانند کد مخرب را در زمینه یک فرآیند قانونی اجرا کنند.
مهاجمان متغیرهای محیطی مانند LD_PRELOAD در لینوکس یا DYLD_INSERT_LIBRARIES در macOS را تغییر میدهند تا کتابخانههای مخرب را قبل از کتابخانههای قانونی بارگذاری کنند. این تکنیک به مهاجمان اجازه میدهد توابع سیستمی را hook کنند.
مهاجمان از مسیرهای سرویس ویندوز که بدون نقلقول هستند و شامل فاصله میشوند سوءاستفاده میکنند. ویندوز هر بخش از مسیر را به عنوان یک فایل اجرایی احتمالی امتحان میکند. مهاجمان میتوانند فایل اجرایی مخرب را در مسیر مناسب قرار دهند.
مهاجمان از مجوزهای ضعیف رجیستری سرویسهای ویندوز سوءاستفاده میکنند تا مسیر باینری سرویس را با یک فایل اجرایی مخرب جایگزین کنند. با تغییر ImagePath در رجیستری سرویس، مهاجمان میتوانند کد مخرب را با سطح دسترسی SYSTEM اجرا کنند.
روشهای شناسایی
نظارت بر بارگذاری DLL از مسیرهای غیرعادی. بررسی متغیرهای محیطی PATH. شناسایی فایلهای اجرایی با مجوزهای ضعیف. تحلیل رفتار فرآیندها با EDR.
روشهای مقابله
استفاده از Safe DLL Search Mode. پیادهسازی Application Whitelisting. بررسی مجوزهای فایلهای سیستمی. محدود کردن متغیرهای محیطی. استفاده از امضای دیجیتال.