Je voulais vous présenter cet outil très intéressants appelés Argfuscator, mis au point par un chercheur en sécurité, Wheat. Tout cela est son œuvre. Je veux donc m’assurer qu’il en retire tout le mérite qui lui revient.
ArgFuscator est une application web autonome open source qui aide à générer des lignes de commande obscurcies pour les exécutables natifs courants du système.
Qu’est-ce que l’Obscurcissement de Ligne de Commande ?
Une explication claire de la technique et en quoi elle diffère de l’obfuscation DOS ou PowerShell
L’obscurcissement de la ligne de commande consiste à masquer la véritable intention d’une commande en manipulant la ligne de commande d’un processus. Sous Windows, Linux et MacOS, de nombreuses applications analysent les arguments de ligne de commande transmis de manière inattendue, ce qui conduit à des situations dans lesquelles l’insertion, la suppression et/ou la substitution de certains caractères ne modifie pas le flux d’exécution du programme. Une obfuscation réussie de la ligne de commande est susceptible de contourner les mesures de défense telles que les logiciels antivirus et EDR, voire dans certains cas d’échapper complètement à la détection.
Bien que des recherches aient mis en évidence les risques liés à l’obfuscation de la ligne de commande, principalement à l’aide d’exemples anecdotiques d’applications vulnérables (natives du système), il existe un vide de connaissances autour de cette technique.
Objectif de ArgFuscator
Pour les défenseurs de la cybersécurité, cela constitue un outil puissant pour tester leurs propres systèmes de défense. Étant donné que la détection ou l’adaptation à l’obfuscation de ligne de commande n’est pas nécessairement difficile, l’accès à cette ressource permet une validation efficace et concrète des mécanismes de défense dans son environnement.
Argfuscator est donc ni plus ni moins un outil d’obfuscation de lignes de commande utilisé pour contrer les défenseurs ou les mesures défensives et les solutions de sécurité telles que les antivirus ou les EDR, les systèmes de détection et de réponse aux incidents sur les terminaux, et parfois même pour contourner complètement la détection.
ArgFuscator Décrypté : Un Outil pour les Red Teams et les Blue Teams
Son objectif : tester et valider l’efficacité des détections face à des commandes obscurcies
L’obfuscation de ligne de commande diffère des autres types d’obfuscation de commande, tels que l’obfuscation DOS ou l’obfuscation PowerShell, en ce qu’elle ne dépend pas du shell : c’est l’exécutable cible qui est vulnérable, et le contexte dans lequel le processus est créé n’a donc aucune importance. Par conséquent, une autre différence essentielle réside dans le fait que la ligne de commande obscurcie est transmise entièrement obscurcie à un EDR, alors que les techniques de DOSfuscation, par exemple, qui lancent de nouveaux processus, aboutissent généralement à des lignes de commande résolues et non obscurcies.
Cela signifie que l’obfuscation de la ligne de commande peut, contrairement aux autres types d’obfuscation, avoir un taux de réussite plus élevé pour contourner les mesures défensives. L’obfuscation de la ligne de commande peut prendre de nombreuses formes ; parfois, les techniques sont appliquées isolément, tandis que d’autres fois, plusieurs techniques sont combinées.
Comment les pirates informatiques ou les acteurs malveillants et les adversaires peuvent obscurcir le contenu pendant l’exécution des commandes afin de ne pas se faire prendre
Vous avez vu de nombreux groupes d’acteurs malveillants comme AP19, APT32, Claudic Panda, et la liste est longue des groupes qui ont fait cela. L’obfuscation fait partie de presque tous les logiciels malveillants.
Par exemple, C util peut être utilisé pour télécharger un fichier, introduire clandestinement des données avec des flux de données alternatifs ou même encoder et décoder des données B 64. Argfuscator va prendre cette commande et la transformer en cette abomination. Votre antivirus ou votre solution EDR va probablement détecter cela, mais il aura peut-être beaucoup plus de mal à vouloir essayer de le détecter.
Guide Pratique : Utiliser ArgFuscator.net
Comment utiliser l’application web pour obfusquer n’importe quelle commande et personnaliser les résultats
C’est cool de pouvoir faire cela pour le red teaming ou les tests de pénétration, ou pour émuler des adversaires afin de comprendre comment les acteurs malveillants et les pirates informatiques procèdent. Mais en tant que défenseurs ou autres professionnels de la cybersécurité, nous pouvons utiliser Arfuscator pour nous assurer que vos détections fonctionnent. Même lorsque les lignes de commande sont obscurcies, votre EDR ou votre solution de sécurité sera-t-elle réellement capable de localiser cette chose? Même s’ils veulent essayer de cacher et de passer en contrebande n’importe quelle commande ?
La page d’accueil de argfuscator.net
Vous pouvez simplement coller ou saisir la commande que vous voulez essayer d’obscurcir. Cela reste entièrement fonctionnel et s’exécutera avec l’intention initiale de notre commande de départ, mais désormais obscurcie. Mais vous pouvez voir le traversement de répertoires, le saut vers un répertoire parent juste pour revenir à un autre emplacement, voulant essayer de cacher, de manipuler ou de modifier l’apparence du chemin d’accès au fichier avec des caractères aléatoires et des guillemets qui seront ignorés.
Même si certaines commandes spécifiques peuvent ne pas fonctionner correctement, ils ont déjà effectué toutes les recherches et le travail nécessaires pour déterminer ce qui fonctionne le mieux avec chacune d’entre elles.
Pour l’instant, il ne prend en charge que les binaires Windows. Vous pouvez voir que Linux et Mac seront bientôt disponibles. Et c’est peut-être un bon projet si certains d’entre vous, chercheurs en herbe ou professionnels de la sécurité, veulent y contribuer. Mais vous pouvez voir comment chacune de ces commandes peut permettre ou activer différents types de transformations ou d’opportunités d’obfuscation. Ils ont testé une grande partie du travail qu’ils ont effectué dans leur blog afin de voir lesquels de ces trucs fonctionnent encore avec toutes ces astuces dans leur manche.
Les limites de l’obfuscation : pourquoi elle laisse toujours des traces
Vous avez l'impression que vos proches vous espionnent ou même que votre opérateur téléphonique enregistre tous vos historiques de connexion?
Il existe de nombreuses options et vous pouvez faire preuve de créativité si vous utilisez l’une d’entre elles dans vos propres chaînes d’attaque.
Bien que l’obfuscation puisse contourner certaines détections EDR, son efficacité dépend des règles de détection spécifiques en place. L’obfuscation laisse toujours des artefacts ; la clé pour les défenseurs est de savoir quoi chercher.
En résumé, Argfuscator est un outil puissant pour comprendre et tester les techniques d’obfuscation utilisées par les adversaires. Avec l’introduction d’ArgFuscator.net, tous les résultats sont désormais accessibles à ceux qui s’intéressent à l’obfuscation de la ligne de commande. Pour les défenseurs, il s’agit d’une ressource riche qui présente les options d’obfuscation de la ligne de commande à prendre en compte lors de la rédaction de contenu de détection. Chaque exécutable évalué dans le cadre de cette recherche dispose de sa propre page dédiée, qui précise les types d’obfuscation de la ligne de commande ainsi que leurs paramètres.
Pour l’un des 70 exécutables pris en charge, il suffit de coller la commande que l’on souhaite obscurcir et de cliquer sur « Apply obfuscation » (Appliquer l’obscurcissement) pour générer une ligne de commande synonyme qui fonctionnera également. Le site web est doté d’un éditeur avancé qui permet aux utilisateurs de désactiver certains types d’obfuscation, de modifier la probabilité d’application des techniques ou même d’écrire leurs propres fichiers modèles.
Prévention et détection
Malgré le nombre élevé d’options d’obfuscation disponibles pour de nombreux exécutables, la détection des abus n’est pas nécessairement difficile.
Par exemple, une seule règle de détection recherchant les arguments de ligne de commande contenant des caractères situés en haut de la plage Unicode pourrait permettre de détecter toutes les techniques d’obfuscation par insertion/substitution de caractères dans tous les exécutables. Dans de nombreux environnements, cela est peu probable, surtout si vous limitez les processus qui vous intéressent à ceux inclus dans cette recherche. Un autre exemple consiste à identifier les anomalies sur la ligne de commande, telles que la détection d’un nombre élevé de guillemets ou une variation importante entre les caractères majuscules et minuscules. En plus, d’une manière générale, il est recommandé d’écrire des détections résilientes : définissez la logique de détection de manière à détecter les mots-clés d’intérêt, même lorsque l’obfuscation est appliquée.
La recommandation ultime : ne pas se fier uniquement aux lignes de commande mais croiser avec d’autres signaux télémétriques.
Avec le lancement d’ArgFuscator, les défenseurs disposent d’un outil puissant qui spécifie les types d’obfuscation dont ils doivent tenir compte lorsqu’ils écrivent des détections.
Du point de vue du pipeline de détection, il est utile de normaliser les arguments de ligne de commande avant de les évaluer par rapport à la logique de détection. Par exemple, Windows Defender for Endpoint offre une fonctionnalité qui analyse la ligne de commande d’un processus, éliminant efficacement les guillemets doubles qui pourraient entraver la détection des mots-clés. Il peut même être intéressant de signaler les lignes de commande dont la version analysée s’écarte fortement de la version non analysée.
A lire sur notre blog ⇒ Les serveurs obfusqués de NordVPN
Une recommandation clé consiste à éviter autant que possible de se fier aux arguments de ligne de commande
Pour éviter toute ambiguïté, il n’y a rien de mal à écrire des détections qui ciblent les arguments de ligne de commande, car cela permet d’identifier avec succès de nombreux comportements potentiellement malveillants. Mais les lignes de commande peuvent être usurpées, modifiées ou manipulées de manière à contourner les détections.
Dans la mesure du possible, une alternative plus fiable consiste à se concentrer sur d’autres événements présents dans la télémétrie EDR qui ne peuvent pas être facilement usurpés ; par exemple, au lieu de rechercher msiexec.exe spécifiant https:// sur la ligne de commande, envisagez de rechercher les connexions réseau externes provenant de msiexec.