Arsenal retrouve vos commandes de pentesting et d’administration en quelques frappes. Tapez un mot-clé, sélectionnez la commande, personnalisez les variables, exécutez. Plus besoin de fouiller dans vos notes ou votre historique bash. Ce guide couvre l’installation, l’utilisation et la création de vos propres commandes.
Le problème que Arsenal résout
Section intitulée « Le problème que Arsenal résout »En tant qu’administrateur système ou pentester, vous utilisez des dizaines d’outils différents. Chaque outil a sa propre syntaxe, ses propres options. Impossible de tout retenir.
Les solutions classiques ont leurs limites :
| Approche | Problème |
|---|---|
Historique bash (Ctrl+R) | Limité aux commandes déjà tapées, difficile à chercher |
| Notes personnelles | Dispersées, pas toujours à jour, pas interactives |
| Man pages | Trop denses, pas orientées cas d’usage |
| Bookmarks web | Demande de quitter le terminal |
Arsenal résout ce problème avec :
- Une bibliothèque de commandes organisée par catégorie (réseau, docker, kubernetes, bruteforce…)
- Une interface de recherche fuzzy (tapez quelques lettres, trouvez la commande)
- Des variables dynamiques (remplacez
<IP>par votre cible) - Une sortie flexible (copier, exécuter, envoyer à tmux)
Installation
Section intitulée « Installation »Version actuelle : 1.2.7 (février 2026)
Arsenal est développé par Orange Cyberdefense et écrit en Python. L’installation recommandée utilise pipx pour isoler les dépendances.
-
Installer pipx (si pas déjà fait)
pipx permet d’installer des outils Python dans des environnements isolés :
Fenêtre de terminal # Ubuntu/Debiansudo apt install pipxpipx ensurepath# Ou avec pippip install --user pipxpipx ensurepath -
Cloner et installer Arsenal
Fenêtre de terminal git clone --depth 1 https://github.com/Orange-Cyberdefense/arsenal.git /tmp/arsenalcd /tmp/arsenalpipx install ./Sortie attendue :
done! ✨ 🌟 ✨installed package arsenal-cli 1.2.7, installed using Python 3.12.3These apps are now globally available- arsenal -
Vérifier l’installation
Fenêtre de terminal arsenal --version# arsenal (version 1.2.7)
Utilisation de base
Section intitulée « Utilisation de base »Lancer Arsenal
Section intitulée « Lancer Arsenal »Depuis n’importe quel terminal :
arsenalL’interface s’ouvre : une zone de recherche en haut, les commandes filtrées en dessous.
Rechercher une commande
Section intitulée « Rechercher une commande »Tapez quelques lettres. Arsenal utilise une recherche fuzzy — vous n’avez pas besoin de taper le mot exact.
Exemples :
nmap→ toutes les commandes nmapdocker→ commandes Docker (images, conteneurs, réseau)kube→ commandes Kubernetesscan→ outils de scan réseau
Sélectionner et utiliser une commande
Section intitulée « Sélectionner et utiliser une commande »- Naviguer avec les flèches ↑↓
- Sélectionner avec Entrée
- Remplir les variables — Arsenal vous demande de remplacer
<IP>,<port>, etc. - Valider — la commande est copiée dans votre terminal
Options de sortie
Section intitulée « Options de sortie »Par défaut, Arsenal pré-remplit votre terminal avec la commande. Vous pouvez changer ce comportement :
| Option | Description |
|---|---|
arsenal | Pré-remplit le terminal (défaut) |
arsenal --copy ou -x | Copie dans le presse-papier |
arsenal --print ou -p | Affiche la commande |
arsenal --exec ou -e | Exécute directement |
arsenal --tmux ou -t | Envoie à un panneau tmux |
Exemple : chercher une commande et la copier dans le presse-papier :
arsenal --copyStructure des cheats
Section intitulée « Structure des cheats »Arsenal organise ses commandes en fichiers Markdown. Chaque fichier correspond à un outil ou une catégorie.
Catégories incluses
Section intitulée « Catégories incluses »Arsenal v1.2.7 inclut plus de 200 commandes réparties en catégories :
| Catégorie | Exemples |
|---|---|
| Network | nmap, netcat, tcpdump |
| Tools | docker, kubernetes, git |
| Web | curl, sqlmap, nikto |
| BruteForce | hydra, john, hashcat |
| ReverseShell | bash, python, netcat |
| Active Directory | bloodhound, crackmapexec |
| Linux | find, grep, systemctl |
| Windows | powershell, mimikatz |
Format d’une commande
Section intitulée « Format d’une commande »Chaque commande suit ce format :
# Titre du fichier
% outil, categorie
#tag1 #tag2
## Description de la commandecommande avec <variable>
$ variable: commande_pour_lister_les_choixExemple réel (docker.md) :
# Docker
% docker, container
#plateform/multiple #target/local #cat/UTILS
## List the running containersdocker ps
## Create new bash process inside containerdocker exec -it <container_id> bash
$ container_id: docker ps --- --headers 1 --column 1La ligne $ container_id: permet à Arsenal de proposer une auto-complétion dynamique basée sur la sortie de docker ps.
Créer vos propres commandes
Section intitulée « Créer vos propres commandes »Arsenal cherche les cheats personnalisés dans ~/.cheats/. Créez ce dossier et ajoutez vos fichiers Markdown.
Exemple : commandes DevOps personnalisées
Section intitulée « Exemple : commandes DevOps personnalisées »-
Créer le dossier
Fenêtre de terminal mkdir -p ~/.cheats -
Créer un fichier de commandes
Fenêtre de terminal cat > ~/.cheats/devops.md << 'EOF'# DevOps% devops, kubernetes, docker#cat/DEVOPS #target/local## Redémarrer un déploiement Kuberneteskubectl rollout restart deployment/<deployment_name> -n <namespace>## Voir les logs d'un podkubectl logs -f <pod_name> -n <namespace>## Copier une image Docker entre registriescrane copy <source_image> <dest_image>## Générer un mot de passe sécuriséopenssl rand -base64 <length|24>## Vérifier les certificats d'un siteecho | openssl s_client -connect <host>:443 2>/dev/null | openssl x509 -noout -dates$ deployment_name: kubectl get deployments -A --no-headers | awk '{print $2}'$ namespace: kubectl get namespaces --no-headers | awk '{print $1}'$ pod_name: kubectl get pods -A --no-headers | awk '{print $2}'EOF -
Tester
Fenêtre de terminal arsenal# Chercher "devops" ou "kubectl"
Cheats DevOps prêts à l’emploi
Section intitulée « Cheats DevOps prêts à l’emploi »Un dépôt communautaire de cheats DevOps est disponible :
# Sauvegarder vos cheats existantsmv ~/.cheats ~/.cheats.backup 2>/dev/null
# Cloner les cheats DevOpsgit clone https://github.com/stephrobert/arsenal-devops-cheats.git ~/.cheatsVariables globales
Section intitulée « Variables globales »Arsenal supporte des variables globales que vous définissez une fois et réutilisez partout.
Définir une variable
Section intitulée « Définir une variable »Dans Arsenal, tapez :
>set TARGET_IP=192.168.1.100>set TARGET_DOMAIN=example.comVoir les variables
Section intitulée « Voir les variables »>showEffacer les variables
Section intitulée « Effacer les variables »>clearLes variables sont remplacées automatiquement dans les commandes. Utile lors d’un pentest où vous ciblez toujours la même IP.
Intégration avec tmux
Section intitulée « Intégration avec tmux »Arsenal peut envoyer les commandes directement dans un panneau tmux :
arsenal --tmuxCela permet de :
- Garder Arsenal dans un panneau
- Exécuter les commandes dans un autre panneau
- Voir le résultat sans quitter Arsenal
Pourquoi apprendre le pentesting en tant qu’admin ?
Section intitulée « Pourquoi apprendre le pentesting en tant qu’admin ? »À retenir
Section intitulée « À retenir »- Arsenal = lanceur de commandes — Recherche fuzzy, variables dynamiques, sortie flexible
- Installation :
pipx installdepuis le dépôt Git - Recherche : tapez quelques lettres, naviguez avec les flèches
- Cheats personnalisés : fichiers Markdown dans
~/.cheats/ - Variables dynamiques :
$ nom: commandepour auto-complétion - Variables globales :
>set VAR=valeurpour réutiliser des valeurs - Intégration tmux :
arsenal --tmuxpour envoyer dans un autre panneau