Aller au contenu
Aback Tools Logo
Bash Command Obfuscator

Obfuscate bash commands using 6 powerful techniques: backtick command substitution, $() command substitution, environment variable construction with substring extraction, dollar-single-quote hex escape encoding, awk character generation, and Base64 pipe chaining. Each method generates valid bash code that produces the original command at runtime. Compare all methods side by side or focus on one.

Examples:

Enter a bash command above to obfuscate it using 6 different techniques. Choose from backtick substitution, $() command substitution, environment variable construction, dollar-single-quote hex escapes, awk character generation, or Base64 pipe chaining. Click any example below the input to get started.

Pourquoi utiliser notre obfuscateur de commandes Bash ?

  • Obscurcissement instantané des commandes Bash avec plusieurs techniques : obscurcissez instantanément les commandes bash avec 6 techniques puissantes : substitution de commande backtick ($(commande)), substitution de commande $() avec printf imbriqué, extraction de sous-chaîne de variable d'environnement à partir de PATH/HOME/SHELL, codage d'échappement hexadécimal, expressions de crochets génériques/globaux et chaînage Base64 basé sur des tuyaux. Collez votre commande bash ou votre shell one-liner et choisissez la méthode d'obscurcissement qui correspond le mieux à vos besoins. Chaque méthode génère un code bash valide qui produit la même commande au moment de l'exécution.
  • Traitement des commandes sécurisé et privé : toute obscurcissement des commandes bash se produit entièrement dans votre navigateur. Vos commandes, vos sorties obscurcies et toutes les données intermédiaires ne quittent jamais votre appareil. Aucune donnée téléchargée sur un serveur, aucun suivi, aucune inscription requise : confidentialité totale pour tous vos travaux de protection du code shell.
  • Bash Command Obfuscator en ligne - Aucune installation : utilisez l'obfuscator de commande bash directement dans n'importe quel navigateur moderne sans téléchargements, applications ou plugins requis. Comprend plusieurs modes d'obscurcissement, une vue de comparaison montrant la commande originale par rapport à la commande obscurcie, un panneau de statistiques montrant l'impact de la taille et une copie en un clic pour une ou toutes les variantes.
  • Techniques complètes d'obfuscation Bash : notre outil prend en charge 6 méthodes d'obscurcissement spécifiques à bash : substitution de commande backtick, substitution de commande $() avec encodage printf au niveau des caractères, construction de sous-chaînes de variables d'environnement à partir de $PATH, $HOME, $SHELL et d'autres variables courantes, $'...' ANSI-C citant avec des échappements hexadécimaux, des modèles glob/wildcard avec des expressions entre crochets et un chaînage de commandes basé sur des tubes via l'encodage Base64 avec des segments d'écho.

Cas d'utilisation courants de l'obfuscateur de commandes Bash

  • Protection des charges utiles Bash dans la recherche sur la sécurité : les chercheurs en sécurité et les testeurs d'intrusion masquent les commandes bash lors des exercices de l'équipe rouge et des évaluations de sécurité. L'obscurcissement des commandes permet d'échapper à la détection basée sur les signatures par les outils de sécurité, faisant apparaître les charges utiles comme des extensions de shell inoffensives plutôt que comme des modèles d'exploitation connus.
  • Renforcement du déploiement et des scripts CI/CD : les ingénieurs DevOps masquent les commandes sensibles dans les scripts de déploiement, les pipelines CI/CD et l'automatisation de l'infrastructure. Les commandes obscurcies empêchent l’extraction occasionnelle des points de terminaison internes, des chemins de déploiement et des valeurs de configuration du code d’automatisation partagé.
  • Anti-altération pour la logique d'application basée sur le shell : les développeurs protégeant la logique d'application basée sur le shell obscurcissent les invocations de commandes, les opérations sur les fichiers et les interactions système. Cela élève la barrière pour les attaquants qui tentent de comprendre le comportement des applications via l'analyse des scripts shell.
  • Obscurcissement des commandes Shell sensibles dans les scripts partagés : les administrateurs système masquent les commandes qui contiennent des chemins d'accès sensibles, des noms de serveur ou des références internes lors du partage de scripts Shell entre équipes ou de leur publication dans des forums. L’obscurcissement des commandes fournit une couche supplémentaire de protection contre les fuites d’informations.
  • Masquage des clés et des secrets API dans l'environnement Shell : les développeurs utilisent l'obscurcissement des commandes pour masquer les clés API, les jetons d'authentification et les informations d'identification secrètes qui apparaissent dans les scripts shell et les commandes de configuration de l'environnement. Les commandes obscurcies permettent à une inspection occasionnelle de révéler des séquences de caractères dénuées de sens au lieu de valeurs sensibles.
  • Exemples pédagogiques de protection par code Shell : les enseignants en sécurité et les formateurs en scripts Shell utilisent l'obfuscateur pour démontrer les techniques de protection des commandes. Les étudiants peuvent voir comment différentes méthodes d'obscurcissement transforment les commandes lisibles en différentes formes, comparer les formats de sortie et comprendre les compromis entre la force d'obscurcissement et la longueur des commandes.

Qu’est-ce que l’obscurcissement des commandes Bash ?

L'obscurcissement des commandes Bash est la pratique consistant à transformer des commandes shell lisibles en représentations équivalentes mais difficiles à lire. Au lieu d'écrire ls -la, vous pouvez écrire $(printf \x6C\x73) $(printf \x2D\x6C\x61) ou. Les deux produisent le même résultat une fois exécutés, mais les formulaires obscurcis sont beaucoup plus difficiles à comprendre par inspection visuelle.

Notre obfuscateur de commandes bash génère 6 variantes d'obscurcissement différentes pour toute commande d'entrée. Chaque variante est un code bash valide qui correspond à la commande d'origine. Comparez les méthodes côte à côte, voyez l’impact de la taille et copiez la variante qui correspond le mieux à vos besoins. Tous les traitements s'exécutent localement dans votre navigateur sans qu'aucune donnée ne soit envoyée à un serveur.

Comment fonctionne notre outil d'obscurcissement des commandes Bash

  1. 1. Entrez votre commande Bash : tapez ou collez la commande bash que vous souhaitez masquer dans le champ de saisie. Vous pouvez saisir des commandes simples comme ls -la ou des pipelines complexes comme ps aux | grep nginx. L'outil fournit des exemples de préréglages pour démontrer différentes techniques d'obscurcissement.
  2. 2. Sélectionnez la méthode d'obscurcissement : choisissez parmi 6 techniques d'obscurcissement spécifiques à bash via les onglets de méthode. Chaque onglet affiche une description de la technique et de la commande bash obscurcie. Vous pouvez basculer instantanément entre les méthodes pour comparer la façon dont chacune transforme la commande. La valeur par défaut affiche toutes les méthodes dans une vue en grille avec des statistiques de taille.
  3. 3. Copier et utiliser : cliquez sur le bouton Copier à côté de toute variante obscurcie pour copier le code bash dans votre presse-papiers. Chaque variante est affichée dans un bloc de code avec le nombre de caractères. Utilisez la commande obfuscated dans vos scripts shell, vos générateurs de charge utile ou votre matériel pédagogique.

Méthodes d'obfuscation Bash expliquées

  • Substitution de backtick : utilise la substitution de commande backtick avec le spécificateur de format %b de printf pour décoder les caractères à échappement hexadécimal. Chaque caractère est représenté sous forme d'échappement hexadécimal et décodé par printf. La commande entière est reconstruite à l'intérieur des backticks : printf '%b' '\x6C\x73'.
  • Substitution de commande $() : utilise la syntaxe POSIX $() moderne avec le spécificateur de format %b de printf pour décoder les codes de caractères hexadécimaux. Chaque caractère est un échappement hexadécimal à l'intérieur de la chaîne de format : $(printf '%b' '\x6C\x73'). La substitution de commande renvoie la chaîne décodée que bash exécute ensuite.
  • Construction de variables d'environnement : exploite l'expansion de la sous-chaîne bash {'$ '} pour extraire des caractères individuels des variables d'environnement courantes telles que $PATH, $HOME, $SHELL, etc. Les caractères introuvables dans les variables courantes reviennent au codage printf.
  • $'...' Hex Escape Encoding : utilise le mécanisme de citation ANSI-C de bash () pour représenter la commande entière sous la forme d'une chaîne de séquences d'échappement hexadécimale. La chaîne est évaluée par bash pour produire le texte de commande original.
  • Génération de caractères Awk : utilise la fonction printf d'awk avec le spécificateur de format %c pour afficher les caractères par leurs codes hexadécimaux ASCII. Chaque caractère est généré individuellement par awk et concaténé. Cette approche évite entièrement les métacaractères du shell : {'awk 'BEGIN ''}.
  • Chaînage de tuyaux Base64 : code la commande entière sous forme de chaîne Base64 et la transmet via base64 -d pour le décodage. Simple, fiable et produit une sortie qui ne ressemble en rien à la commande d'origine : echo 'bHMtbGE=' | base64 -d.

Confidentialité, sécurité et disponibilité

L'outil d'obscurcissement des commandes bash est 100 % gratuit et aucune inscription n'est requise. Toutes les obscurcissements de commandes sont effectués localement dans votre navigateur à l'aide d'algorithmes JavaScript : votre commande d'entrée et votre sortie obscurcie ne quittent jamais votre appareil. Il n’y a aucune limite ou restriction d’utilisation. L'outil prend en charge 6 méthodes d'obscurcissement avec comparaison côte à côte, statistiques sur le nombre et la taille des caractères, copie dans le presse-papiers pour les variantes individuelles et exemples de préréglages. Utilisez-le autant de fois que nécessaire pour protéger vos commandes shell.

Foire aux questions

L'obscurcissement des commandes Bash transforme les commandes shell lisibles en représentations équivalentes mais difficiles à lire. Par exemple, "ls -la" pourrait devenir un échappement hexadécimal basé sur printf en utilisant la substitution de commande $() ou une forme codée d'échappement hexadécimal en dollars. Les deux produisent le même résultat lorsqu’ils sont exécutés dans bash mais sont beaucoup plus difficiles à comprendre grâce à l’inspection visuelle de la commande.

L'obfuscateur de commande bash prend en charge 6 méthodes : substitution de commande backtick, substitution de commande $() avec décodage hexadécimal printf, construction de sous-chaîne de variable d'environnement à partir de variables PATH/HOME/SHELL, citation ANSI-C à guillemets simples en dollars avec échappements hexadécimaux, génération de caractères awk et chaînage de tuyaux Base64 via echo redirigé vers base64 -d.

La construction de variables d'environnement et la substitution de commande $() offrent l'obscurcissement le plus important car le texte de la commande d'origine n'est pas directement présent — il doit être reconstruit dynamiquement au moment de l'exécution. La méthode d'échappement hexadécimal dollar-guillemet unique est très compacte mais les codes hexadécimaux sont toujours reconnaissables comme des représentations de caractères. Le chaînage de tuyaux Base64 offre une bonne obscurcissement mais produit des commandes beaucoup plus longues. Pour une protection maximale, combinez plusieurs techniques ou utilisez la méthode $() avec des substitutions profondément imbriquées.

La plupart des méthodes fonctionnent dans bash 3.2+ et d'autres shells compatibles POSIX. La substitution de commande $() est standard POSIX et fonctionne depuis des lustres. La syntaxe de citation ANSI-C à guillemet unique en dollars est spécifique à bash mais également prise en charge par zsh et les versions récentes de ksh. La substitution Backtick fonctionne dans tous les shells POSIX mais présente des limitations. L'expansion des sous-chaînes de variables d'environnement (${VAR:offset:length}) nécessite bash 4.0+ ou des versions récentes de zsh. La méthode pipe Base64 fonctionne dans n’importe quel shell avec base64 installé.

Absolument. L'obfuscateur de commande bash s'exécute entièrement dans votre navigateur. Vos commandes d'entrée et vos sorties obscurcies ne sont jamais envoyées à un serveur, stockées dans une base de données ou suivies de quelque manière que ce soit. Tout le traitement s'effectue localement sur votre appareil : rien ne quitte votre ordinateur. Aucune inscription requise.

Cette méthode analyse la commande d'entrée caractère par caractère et essaie de trouver chaque caractère dans les valeurs de variables d'environnement communes telles que PATH (/usr/local/bin:/usr/bin:/bin), HOME (/home/user), SHELL (/bin/bash), PWD, TERM (xterm-256color) et autres. Lorsqu'un caractère correspondant est trouvé à un index spécifique, il utilise l'expansion de sous-chaîne ${VAR:offset:1} pour extraire ce caractère unique. Les caractères introuvables dans aucune variable commune reviennent à la génération basée sur printf en utilisant le code de caractère ASCII.

Oui. Les commandes bash obscurcies sont idéales pour les défis Capture The Flag (CTF), les missions de tests d'intrusion et les exercices de l'équipe rouge où l'obscurcissement des commandes est nécessaire pour contourner les mécanismes de détection. Les méthodes $() et dollar-single-quote sont particulièrement efficaces pour créer des charges utiles qui échappent aux règles de détection simples basées sur des chaînes.

L'impact sur les performances est minime pour la plupart des cas d'utilisation. Des méthodes telles que les échappements hexadécimaux en dollars et entre guillemets simples sont analysées par bash au moment de l'interprétation, sans surcharge d'exécution. Les méthodes de substitution $() et backtick génèrent des sous-shell pour exécuter les commandes printf, ce qui ajoute une petite surcharge proportionnelle à la longueur de la commande. Pour les longueurs de commande typiques (inférieures à 1 Ko), la surcharge est négligeable. Le chaînage de tuyaux base64 implique la génération du processus base64, ce qui en fait la méthode la plus coûteuse.

Oui, l'obfuscateur de commandes bash est 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Masquez autant de commandes que nécessaire, autant de fois que vous le souhaitez. Il n’y a pas de frais cachés, de niveaux premium ou de plafonds d’utilisation d’aucune sorte. Les 6 méthodes d'obscurcissement, la comparaison côte à côte et la fonctionnalité de copie sont disponibles sans aucune restriction.