استغلال الDLLs في الPersistence 

By  
Abdulaziz Almetairy  

Twitter : @AzizWho 

مقدمه

السلام عليكم ورحمة الله وبركاته..

الكثير من الناس اذا سمع عن Persistence.. تجيه فكرة ان الملف الخبيث يستخدم ال Registry لاضافة نفسه في الAutoRun او يقوم ب انشاء
Task Schedule للغرض من ال Persistence وثبات التنفيذ على جهاز الضحيه.



اليوم جبت طريقه مختلفه و راح اشرح كيف ممكن نستغل الDLLs في نظام الويندوز وتجنيدها للغرض من ال Persistence على الجهاز وتخطي برنامج الحمايه Windows Defender


ماهو ال DLL Hijacking؟

ببساطه هو استغلال وخداع البرنامج الضحيه لتحميل DLL خبيث بدل الDLL الاصلي.

عندما يتم تشغيل برنامج، يقوم النظام بجلب جميع ملفات الDLLs المطلوبه من البرنامج في ترتيب معين وهو: 

  1. Search the current directory.

  2. Search the system directory.

  3. Search the windows directory.

  4. Search the directories located in the PATH environment.

يعني اذا ماحصلها في رقم 1 ، يتوجه ل 2 واذا ماحصلها يروح ل 3 والخ..


ف لو كان فيه برنامج يدور على DLL متواجد في الWindows Directory، بإمكاننا التلاعب فيه واضافة الDLL الخبيث في الCurrent Directory بحيث انه تطابق البحث حقه ويستخدمها قبل يوصل للاصليه.

الخطوات اللي راح نسويها :

  1. البحث على برنامج ضحيه.

  2. البحث عن DLL يقوم بتحميلها من Directory مختلف مثل ماذكرت بالاعلى.

  3. انشاء DLL خبيث.

  4. انشاء برنامج Loader يقوم ب اسقاط الDLL الخبيث في الDirectory المطلوبه.


التطبيق العملي

  1. البحث على برنامج ضحيه.

    فيه كثير من البرامج القابله للDLL Hijacking ولكن افضل طريقه للعثور على ضحيه هو:
    البحث عن برنامج متواجد في كل جهاز ويكون مساره خارج الSystem32 بحيث انه بامكاننا التلاعب فيه. 

    مثال: 

  • Explorer.exe متواجد في C:\Windows

  • Notepad.exe ايضا متواجد في C:\Windows

اغلب ملفات الDLL متواجده في C:\Windows\System32 ف بهذي الطريقه بأمكاننا التلاعب على احد البرامج المذكوره اعلاه بحيث اذا طلب احد منهم DLL في  C:\Windows\System32 ، نتلاعب فيه و نحقنها في الDirectory اللي قبله. مثال: 

نضع الDLL الخبيث في ال Application’s Directory

Join