
Nutzung von TLS-Callbacks zur Ausführung einer Payload, ohne Threads in einem Remote-Prozess zu erzeugen.
Neues Modul 34: TLS-Callbacks für Anti-Debugging
Neues Modul 35: Threadless Injection
Diese Methode nutzt TLS-Callbacks, um eine Payload auszuführen, ohne Threads in einem entfernten Prozess zu erzeugen. Diese Methode ist von Threadless Injection inspiriert, da RemoteTLSCallbackInjection keine API-Aufrufe tätigt, um die injizierte Payload auszulösen.
Der PoC folgt diesen Schritten:
CreateProcessViaWinAPIsW-Funktion (z. B. RuntimeBroker.exe).g_FixedShellcode und die Haupt-Payload.Der g_FixedShellcode-Shellcode stellt dann sicher, dass die Haupt-Payload nur einmal ausgeführt wird, indem er die ursprüngliche Adresse des TLS-Callbacks wiederherstellt, bevor die Haupt-Payload aufgerufen wird. Ein TLS-Callback kann während der Lebensdauer eines Prozesses mehrmals ausgeführt werden. Daher ist es wichtig, die Anzahl der Auslösungen der Payload zu kontrollieren, indem der ursprüngliche Code-Pfad zur ursprünglichen TLS-Callback-Funktion wiederhergestellt wird.
Das folgende Bild zeigt unsere Implementierung, RemoteTLSCallbackInjection.exe, die eine cmd.exe als Haupt-Payload startet.
