
Windows-API-Hooking-Tool, das Prozessargumente dynamisch vortäuscht und verbirgt mithilfe der Detours-Bibliothek und PEB-Manipulation, wodurch eine verdeckte Prozesserstellung für Red-Team-Operationen ermöglicht wird.
Twitter: @AzizWho
NoArgs ist ein Tool, das entwickelt wurde, um Prozessargumente dynamisch zu fälschen und zu verbergen, während es unbemerkt bleibt. Es erreicht dies, indem es Windows-APIs hookt, um die Windows-Interna im laufenden Betrieb dynamisch zu manipulieren. Dadurch kann NoArgs Prozessargumente diskret verändern.




Das Tool funktioniert hauptsächlich, indem es Prozesserstellungsaufrufe der Windows-API-Funktion CreateProcessW abfängt. Wenn ein Prozess gestartet wird, ist diese Funktion für das Erzeugen des neuen Prozesses zusammen mit etwaigen Befehlszeilenargumenten verantwortlich. Das Tool greift in diesen Prozesserstellungsablauf ein und stellt sicher, dass die Argumente entweder versteckt oder manipuliert werden, bevor der neue Prozess gestartet wird.
Das Hooking von CreateProcessW wird mithilfe von Detours erreicht, einer beliebten Bibliothek zum Abfangen und Umleiten von Win32-API-Funktionen. Detours ermöglicht die Umleitung von Funktionsaufrufen zu benutzerdefinierten Implementierungen, während die ursprüngliche Funktionalität erhalten bleibt. Durch das Hooking von CreateProcessW kann das Tool die Prozesserstellungsanfragen abfangen und seine benutzerdefinierte Logik ausführen, bevor der Prozess erzeugt wird.
Der Process Environment Block (PEB) ist eine Datenstruktur, die von Windows verwendet wird, um Informationen über die Umgebung und den Ausführungszustand eines Prozesses zu speichern. Das Tool nutzt den PEB, um die Befehlszeilenargumente der neu erstellten Prozesse zu manipulieren. Durch Ändern der im PEB gespeicherten Befehlszeileninformationen kann das Tool die an den Prozess übergebenen Argumente ändern oder verbergen.
Process Hacker-Ansicht:

Process Monitor-Ansicht:

Injektion in die Eingabeaufforderung (cmd): Das Tool injiziert seinen Code in den Eingabeaufforderungsprozess und bettet ihn als positionsunabhängigen Code (Position Independent Code, PIC) ein. Dies ermöglicht eine nahtlose Integration in den Speicherbereich von cmd und gewährleistet einen verdeckten Betrieb ohne Abhängigkeit von bestimmten Speicheradressen. (Nur für die verschleierte ausführbare Datei auf der Releases-Seite)
Windows-API-Hooking: Detours werden verwendet, um Aufrufe der CreateProcessW-Funktion abzufangen. Durch Umleitung des Ausführungsflusses zu einer benutzerdefinierten Implementierung kann das Tool seine Logik ausführen, bevor die ursprüngliche Windows-API-Funktion aufgerufen wird.
Benutzerdefinierte Prozesserstellungsfunktion: Nach dem Abfangen eines CreateProcessW-Aufrufs wird die benutzerdefinierte Funktion ausgeführt, die den neuen Prozess erstellt und seine Argumente bei Bedarf manipuliert.
PEB-Modifikation: Innerhalb der benutzerdefinierten Prozesserstellungsfunktion wird der Process Environment Block (PEB) des neu erstellten Prozesses aufgerufen und modifiziert, um das Ziel der Manipulation oder Versteckung der Prozessargumente zu erreichen.
Ausführungsumleitung: Nach Abschluss der Manipulationen kehrt die Ausführung nahtlos zur Eingabeaufforderung (cmd) zurück, ohne Unterbrechungen. Diese dynamische Umleitung stellt sicher, dass nachfolgende Befehle diskret manipuliert werden, und umgeht Erkennungs- und Protokollierungsmechanismen, die auf die Prozessdetails aus dem PEB angewiesen sind.
Option 1: Kompilieren der NoArgs-DLL:
Sie benötigen installiertes Microsoft Detours.
Kompilieren Sie die DLL.
Injizieren Sie die kompilierte DLL in eine beliebige cmd-Instanz, um neu erstellte Prozessargumente dynamisch zu manipulieren.
Option 2: Laden Sie die kompilierte ausführbare Datei (einsatzbereit) von der Releases-Seite herunter.