
Outil de hooking d'API Windows qui falsifie et dissimule dynamiquement les arguments de processus via la bibliothèque Detours et la manipulation de PEB, permettant une création furtive de processus pour les opérations d'équipe rouge.
Twitter : @AzizWho
NoArgs est un outil conçu pour usurper dynamiquement et dissimuler les arguments des processus tout en restant indétectable. Il y parvient en s'interfaçant avec les API Windows pour manipuler dynamiquement les mécanismes internes de Windows à la volée. Cela permet à NoArgs de modifier discrètement les arguments des processus.




L'outil fonctionne principalement en interceptant les appels de création de processus effectués par la fonction API Windows CreateProcessW. Lorsqu'un processus est lancé, cette fonction est chargée de créer le nouveau processus, ainsi que les éventuels arguments de ligne de commande spécifiés. L'outil intervient dans ce flux de création de processus, garantissant que les arguments sont soit masqués, soit modifiés avant le lancement du nouveau processus.
Le hooking de CreateProcessW est réalisé via Detours, une bibliothèque populaire pour intercepter et rediriger les fonctions API Win32. Detours permet la redirection des appels de fonctions vers des implémentations personnalisées tout en préservant la fonctionnalité d'origine. En hookant CreateProcessW, l'outil peut intercepter les demandes de création de processus et exécuter sa logique personnalisée avant de permettre la création du processus.
Le Bloc d'Environnement du Processus (PEB) est une structure de données utilisée par Windows pour stocker des informations sur l'environnement et l'état d'exécution d'un processus. L'outil exploite le PEB pour manipuler les arguments de ligne de commande des processus nouvellement créés. En modifiant les informations de ligne de commande stockées dans le PEB, l'outil peut altérer ou dissimuler les arguments passés au processus.
Vue Process Hacker :

Vue Process Monitor :

Injection dans l'invite de commandes (cmd) : L'outil injecte son code dans le processus de l'invite de commandes en l'intégrant sous forme de Code Indépendant de la Position (PIC). Cela permet une intégration transparente dans l'espace mémoire de cmd, assurant un fonctionnement discret sans dépendre d'adresses mémoire spécifiques. (Uniquement pour l'exécutable obfusqué dans la page des versions)
Hooking des API Windows : Detours est utilisé pour intercepter les appels à la fonction CreateProcessW. En redirigeant le flux d'exécution vers une implémentation personnalisée, l'outil peut exécuter sa logique avant la fonction API Windows d'origine.
Fonction personnalisée de création de processus : Lors de l'interception d'un appel à CreateProcessW, la fonction personnalisée est exécutée, créant le nouveau processus et manipulant ses arguments selon les besoins.
Modification du PEB : Au sein de la fonction personnalisée de création de processus, le Bloc d'Environnement du Processus (PEB) du processus nouvellement créé est accédé et modifié pour atteindre l'objectif de manipulation ou de dissimulation des arguments du processus.
Redirection de l'exécution : Une fois les manipulations terminées, l'exécution retourne de manière transparente à l'invite de commandes (cmd) sans aucune interruption. Cette redirection dynamique garantit que les commandes suivantes sont modifiées discrètement, contournant les mécanismes de détection et de journalisation qui reposent sur l'obtention des détails du processus depuis le PEB.
Option 1 : Compiler la DLL NoArgs :
Vous aurez besoin de Microsoft Detours installé.
Compilez la DLL.
Injectez la DLL compilée dans toute instance de cmd pour manipuler dynamiquement les arguments des processus nouvellement créés.
Option 2 : Téléchargez l'exécutable compilé (prêt à l'emploi) depuis la page des versions.