Article en CC-BY-SA-ND Mickael Dorigny sur IT-Connect
Présentation
Dans cet article, je vous présente un outil dont je me sers de façon quotidienne : arsenal. Il s'agit d'un outil open source proposé par Orange Cyberdéfense. Cet outil permet de sauvegarder et de retrouver très rapidement et facilement vos lignes de commandes favorites.
Pour ma part, je l'utilise pour retrouver mes commandes et outils lors de mes missions d'audit et de test d'intrusion. Mais il peut être utilisé par tout un tas de métiers utilisant quotidiennement un système Linux et qui ont des tonnes de commandes, outils et paramètres à retenir. Là où je devais auparavant aller chercher dans mes notes personnelles ou une documentation pour retrouver une commande et les options exactes à utiliser, j'utilise maintenant arsenal de la manière suivante :
Pratique, n'est ce pas ?
Installation d'arsenal
Commençons par l'installation, arsenal peut être installé de plusieurs manières :
Installation depuis le Github :
git clone https://github.com/Orange-Cyberdefense/arsenal.git
cd arsenal
python3 -m pip install -r requirements.txt
./run
Pour aller plus vite, vous pouvez ajouter arsenal dans l'un des dossiers de votre PATH :
sudo ln -s /opt/arsenal/run /usr/bin/arsenal
Installation via python3-pip
python3 -m pip install arsenal-cli
Le binaire arsenal se trouvera alors dans ~/.local/bin, pensez bien à le rajouter dans votre PATH si ce n'est pas déjà fait.
Dans les deux cas, l'outil pourra être lancé depuis n'importe quel dossier avec la commande suivante :
arsenal
Pour aller encore plus vite, je me suis créé un alias de commande pour associer la commande "a" et la commande "arsenal", j'ai donc accès à toutes mes commandes avec une seule lettre. Pour ce faire, ajoutez cette ligne dans votre fichier ~/.bash_aliases ou ~/bashrc (pour ceux qui utilisent bash bien sûr), puis rechargez votre terminal :
alias a=arsenal
Cette action peut être automatisée par le script addalias.sh fourni dans arsenal.
Retrouver ses commandes facilement avec arsenal
Par défaut, arsenal est fourni avec tout un tas de commandes plutôt orientées test d'intrusion (l'outil a été fait par/pour des pentester). Par exemple si vous souhaitez retrouver les commandes utilisant nmap (un scanner réseau), il suffit de lancer arsenal, puis de saisir "nmap" :
On peut ici voir plusieurs informations :
- La première colonne est la plateforme cible de la commande (L pour Linux, W pour Windows), la seconde colonne la cible de la commande (local, reconnaissance, distante, etc.) et la troisième colonne la catégorie.
- Les quatrième et cinquième colonnes contiennent l'outil utilisé et une courte description, puis l'on aperçoit la commande en question.
Ici, tous ces champs sont pris en compte lors de la recherche. Vous pouvez donc simplement saisir Linux pour avoir toutes les commandes sur la plateforme Linux ou recon pour avoir toutes les commandes liées à de la reconnaissance, mais également commencer à saisir votre commande de tête, il ne restera au bout de quelques lettres que les 2 ou 3 commandes qui correspondent à ce que vous avez saisi.
Ensuite, plusieurs paramètres peuvent être à saisir pour compléter la commande et la faire correspondre à votre contexte exact, ici un nom d’utilisateur et le nom d'une base de données cible
Suite à cela, il suffit de taper la touche "Entrée" pour que la commande s'ajoute dans votre terminal. Vous pourrez ensuite vérifier une dernière fois que la commande générée est la bonne, puis exécuter la commande ! Plus besoin donc de se rappeler de la totalité des options de tous vos outils, arsenal le fait pour vous.
Utiliser ses propres commandes
Les commandes de pentest, c'est bien gentil, mais cela doit assez peu vous intéresser si vous n'êtes pas pentester. Bonne nouvelle, vous pouvez intégrer à arsenal toutes vos commandes favorites et enlever les commandes préenregistrées.
Il est en effet possible de rajouter ses propres fichiers de commande au sein du dossier ~/.cheats ou du dossier my_cheats/ présent dans le dossier d'arsenal. Tout fichier .md (Markdown) créé dans ces dossiers sera parcouru par arsenal. Attention, un formatage est bien sûr à respecter, au risque de faire planter arsenal au lancement (vous vous en apercevrez vite ;-)) .
Prenons un exemple : je souhaite enregistrer les commandes pour manipuler des archives tar, car les options me sortent souvent de la tête . Il conviendra de définir un fichier .md semblable à celui-ci (cet exemple est déjà intégré à arsenal) :
# az
% cloud
#plateform/Azure #target/remote #cat/UTILS## delete VM (with name and group specified)
```
az vm delete -g <groupeName> -n <VMName> --yes
```
Une chose à rajouter, vous pouvez (et c'est le plus pratique) ajouter des variables pour vos options. Par exemple, le nom du groupe et de la VM à supprimer dans la commande Azure Cloud suivante :
az vm delete -g MyRG -n MyLinuxVM --yes
Pour cela, il faut mettre l'élément concerné entre chevrons (< >), exemple sous format arsenal :
# az
% cloud
#plateform/Azure #target/remote #cat/UTILS## delete VM (with name and group specified)
```
az vm delete -g <groupeName> -n <VMName> --yes
```
Encore mieux, vous pouvez mettre des valeurs pré-saisies dans ces variables. C'est par exemple pratique si vous utilisez les mêmes valeurs dans 90% des cas, mais qu'il arrive que ces valeurs changent. On utilisera alors un pipe ( | ):
# az
% cloud
#plateform/Azure #target/remote #cat/UTILS## delete VM (with the name MyLinuxVM in the group MyRG)
```
az vm delete -g <groupeName|ServeursWindows> -n <VMName|VM_Windows_01> --yes
```
Vous verrez alors que vos variables de commande sont déjà remplies, mais que vous êtes toujours libre de les modifier via arsenal. Enfin pour enlever les nombreuses commandes pré-enregistrées dans arsenal, il vous suffit de renommer le dossier "cheats" par défaut :
- Si vous avez installé arsenal via git : il se trouvera à la racine du répertoire d'installation (par exemple /opt/arsenal/cheats)
- Si vous l'avez installé via pip : il se trouvera dans /home/<username>/.local/lib/python3.<X>/site-packages/arsenal/data/.
Un renommage en cheatsOLD suffira par exemple. Pensez cependant à parcourir les fichiers .md par défaut pour vous habituer à la syntaxe des commandes et récupérer celles qui vous intéressent
Conclusion
Arsenal est un outil ultra pratique pour ceux qui travaillent la majorité de leur temps en ligne de commande, sa conception fait qu'il est simple et rapide d'utilisation, même si la création de vos propres cheats (fichiers Markdown) peut prendre du temps au départ. Je vous recommande vivement de l'essayer !
Pour avoir un petit serveur web rapide sur votre Android (pour récuper des fichiers par exemple):
Ayez un terminal (via termux par exemple)
Installez python (pkg add python)
$ cd /storage/emulated/0/
$ python -m http.server
Connectez-vous via votre navigateur sur votre ordinateur
Sinon, vous pouvez faire directement dans /storage pour avoir votre carte SD, mais pour accéder au stockage interne, il faudra faire
http://<votreip>:8000/emulated/0/ (sinon pas de listing de /emulated/)
Le député Pierre-Alain Raphan (LREM) veut faire inscrire dans le préambule de la Constitution la référence à la « Charte de l’Intelligence Artificielle et des algorithmes de 2020 » déposée à l'occasion d’une proposition de loi constitutionnelle. Le texte, diffusée par Next INpact, reprend les lois d’Asimov sur la robotique.