Aller au contenu
Outils medium

Arsenal : retrouver vos commandes de pentesting en 2 secondes

9 min de lecture

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.

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 :

ApprocheProblème
Historique bash (Ctrl+R)Limité aux commandes déjà tapées, difficile à chercher
Notes personnellesDispersées, pas toujours à jour, pas interactives
Man pagesTrop denses, pas orientées cas d’usage
Bookmarks webDemande 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)

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.

  1. Installer pipx (si pas déjà fait)

    pipx permet d’installer des outils Python dans des environnements isolés :

    Fenêtre de terminal
    # Ubuntu/Debian
    sudo apt install pipx
    pipx ensurepath
    # Ou avec pip
    pip install --user pipx
    pipx ensurepath
  2. Cloner et installer Arsenal

    Fenêtre de terminal
    git clone --depth 1 https://github.com/Orange-Cyberdefense/arsenal.git /tmp/arsenal
    cd /tmp/arsenal
    pipx install ./

    Sortie attendue :

    done! ✨ 🌟 ✨
    installed package arsenal-cli 1.2.7, installed using Python 3.12.3
    These apps are now globally available
    - arsenal
  3. Vérifier l’installation

    Fenêtre de terminal
    arsenal --version
    # arsenal (version 1.2.7)

Depuis n’importe quel terminal :

Fenêtre de terminal
arsenal

L’interface s’ouvre : une zone de recherche en haut, les commandes filtrées en dessous.

Tapez quelques lettres. Arsenal utilise une recherche fuzzy — vous n’avez pas besoin de taper le mot exact.

Exemples :

  • nmap → toutes les commandes nmap
  • docker → commandes Docker (images, conteneurs, réseau)
  • kube → commandes Kubernetes
  • scan → outils de scan réseau
  1. Naviguer avec les flèches ↑↓
  2. Sélectionner avec Entrée
  3. Remplir les variables — Arsenal vous demande de remplacer <IP>, <port>, etc.
  4. Valider — la commande est copiée dans votre terminal

Par défaut, Arsenal pré-remplit votre terminal avec la commande. Vous pouvez changer ce comportement :

OptionDescription
arsenalPré-remplit le terminal (défaut)
arsenal --copy ou -xCopie dans le presse-papier
arsenal --print ou -pAffiche la commande
arsenal --exec ou -eExécute directement
arsenal --tmux ou -tEnvoie à un panneau tmux

Exemple : chercher une commande et la copier dans le presse-papier :

Fenêtre de terminal
arsenal --copy

Arsenal organise ses commandes en fichiers Markdown. Chaque fichier correspond à un outil ou une catégorie.

Arsenal v1.2.7 inclut plus de 200 commandes réparties en catégories :

CatégorieExemples
Networknmap, netcat, tcpdump
Toolsdocker, kubernetes, git
Webcurl, sqlmap, nikto
BruteForcehydra, john, hashcat
ReverseShellbash, python, netcat
Active Directorybloodhound, crackmapexec
Linuxfind, grep, systemctl
Windowspowershell, mimikatz

Chaque commande suit ce format :

# Titre du fichier
% outil, categorie
#tag1 #tag2
## Description de la commande
commande avec <variable>
$ variable: commande_pour_lister_les_choix

Exemple réel (docker.md) :

# Docker
% docker, container
#plateform/multiple #target/local #cat/UTILS
## List the running containers
docker ps
## Create new bash process inside container
docker exec -it <container_id> bash
$ container_id: docker ps --- --headers 1 --column 1

La ligne $ container_id: permet à Arsenal de proposer une auto-complétion dynamique basée sur la sortie de docker ps.

Arsenal cherche les cheats personnalisés dans ~/.cheats/. Créez ce dossier et ajoutez vos fichiers Markdown.

  1. Créer le dossier

    Fenêtre de terminal
    mkdir -p ~/.cheats
  2. 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 Kubernetes
    kubectl rollout restart deployment/<deployment_name> -n <namespace>
    ## Voir les logs d'un pod
    kubectl logs -f <pod_name> -n <namespace>
    ## Copier une image Docker entre registries
    crane 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 site
    echo | 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
  3. Tester

    Fenêtre de terminal
    arsenal
    # Chercher "devops" ou "kubectl"

Un dépôt communautaire de cheats DevOps est disponible :

Fenêtre de terminal
# Sauvegarder vos cheats existants
mv ~/.cheats ~/.cheats.backup 2>/dev/null
# Cloner les cheats DevOps
git clone https://github.com/stephrobert/arsenal-devops-cheats.git ~/.cheats

Arsenal supporte des variables globales que vous définissez une fois et réutilisez partout.

Dans Arsenal, tapez :

>set TARGET_IP=192.168.1.100
>set TARGET_DOMAIN=example.com
>show
>clear

Les variables sont remplacées automatiquement dans les commandes. Utile lors d’un pentest où vous ciblez toujours la même IP.

Arsenal peut envoyer les commandes directement dans un panneau tmux :

Fenêtre de terminal
arsenal --tmux

Cela 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 ? »
  1. Arsenal = lanceur de commandes — Recherche fuzzy, variables dynamiques, sortie flexible
  2. Installation : pipx install depuis le dépôt Git
  3. Recherche : tapez quelques lettres, naviguez avec les flèches
  4. Cheats personnalisés : fichiers Markdown dans ~/.cheats/
  5. Variables dynamiques : $ nom: commande pour auto-complétion
  6. Variables globales : >set VAR=valeur pour réutiliser des valeurs
  7. Intégration tmux : arsenal --tmux pour envoyer dans un autre panneau

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.