⭕️ یک تکنیک جالب از سری تکنیک های Anti-forensic در DLL-Injection وجود دارد که با نام DLL Unlinking شناخته می شود.
این تکنیک از ویژگی های Windows Process Environment Block (PEB) استفاده می کند تا بتواند DLL های مورد نظر را به صورت پنهان لود کند.
PEB شامل یک اشاره گر به ساختار PEB_LDR_DATA است که درون آن لیستی ازعناصر LDR_DATA_TABLE_ENTRY وجود دارد که به صورت Doubly-linked برای هرپروسه در Virtual Memory ذخیره می شود.
این لیست ها شامل موارد زیر میباشد :
InLoadOrderModuleList InMemoryOrderModuleList InInitializationOrderModuleList
برای استفاده از تکنیک DLL Unlinking، می توان از ابزاری با زبان NIM استفاده کرد که با استفاده از این کد می توان DLL های مورد نظر را از doubly-linked لیست ها Unlink کرد، از جمله این موارد :
InLoadOrderModuleList InMemoryOrderModuleList InitializationOrderModuleList LdrpHashTable
باید توجه داشت که پس از Unlink کردن یک DLL ، هنوز هم ممکن است این DLL را با استفاده از ابزارهای مشابه Process Hacker مشاهده کنیم زیرا این ابزارها می توانند ماژول های بارگذاری شده را از VAD یا Virtual Address Descriptors به جای لیست های مربوط به فضای کاربر دریافت کنند.
https://blog.christophetd.fr/dll-unlinking/
https://github.com/frkngksl/UnlinkDLL
#RedTeam #MalDev
@securation
Post #1571
9.73K