Kali Linux est donc une distribution dont le but principal est de fournir les outils nécessaires afin de pouvoir réaliser des tests de pénétration avancés ainsi que des audits de sécurité. Elle est maintenue et supportée par "Offensive Security".

Même si je n'aborderai pas ici les tests d'intrusion, je préfère faire un rapide rappel : ⚠️ Avant de commencer, précisons que l'article est uniquement à usage éducatif. Vous pouvez utiliser Kali Linux sur votre propre réseau, cependant assurez-vous d'avoir les autorisations nécessaires pour le faire. En aucun cas l'auteur de cet article ne pourra être tenu pour responsable de vos actes.  ⚠️

Pré-requis

Pour aller au bout de ce tutoriel, vous aurez besoin des pré-requis suivants :

Une installation de Docker

Et c'est tout. 😅

Récupération de l'image

Lorsque l'on souhaite récupérer l'image d'un container Docker, le plus simple est de se rendre sur le Docker Hub. Après une simple recherche sur le site, on tombe rapidement sur les images officielles de la distribution :

kali linux images

Attention l'image kalilinux/kali qui peut sembler au premier abord, l'image à utiliser n'est en réalité pas la bonne.

Il vaut mieux utiliser l'image kalilinux/kali-rolling. Par contre l'image devrait être mise à jour toutes les semaines mais il semble que le bot réalisant le push sur le Docker Hub ne soit pas fonctionnel.

Si jamais vous souhaitez tout de même récupérer le tout dernier build : registry.gitlab.com/kalilinux/build-scripts/kali-docker/kali-rolling:latest

Récupérons donc l'image depuis le docker registre de gitlab afin d'avoir la dernière version : docker pull registry.gitlab.com/kalilinux/build-scripts/kali-docker/kali-rolling:2020-03-01

Et oui pour les plus attentifs, j'utilise une machine sous Windows avec Docker ! Mon but reste de faire découvrir Linux et les outils "libres" au plus grand nombre. Cela passe également parfois par l'utilisation d'outils qui sont familiers afin d'envisager une transition en douceur. Et le contexte des techniques de sécurité informatique en est le parfait exemple.

En utilisant Docker et WSL, on peut expérimenter rapidement les outils sans avoir besoin de gérer des machines virtuelles ou une nouvelle infrastructure.

Utilisation de l'image

Une fois l'image récupérée, nous allons pouvoir lancer un container avec celle-ci :

docker run -it --rm registry.gitlab.com/kalilinux/build-scripts/kali-docker/kali-rolling:2020-03-01

Quelques explications sur les options :

  • -it : En réalité ceux sont deux paramètres qui sont passés simultanément i et t. Le paramètre -t permet d'avoir un pseudo-terminal une fois le container lancé et le paramètre i d'activer le mode interactif ( cela renvoie tous les messages vers la sortie standard ).
  • rm : Je supprime automatiquement le container à la fin de son exécution ( Quand je quitterai le shell interactif ).

Kali Linux possède plusieurs méta-paquets qui regroupent un certain nombre d'outils. Cela facilite l'installation et l'utilisation de la distribution. Vous pouvez retrouvez la liste complète des méta-paquets disponibles à l'adresse suivante :

https://www.kali.org/news/kali-linux-metapackages/

Dans notre cas, installons le méta-paquet kali-linux-top10 :

kali install top 10 apps

Seront présents dans cette installation, des outils comme :

  • nmap,
  • sqlmap,
  • aircrack-ng,
  • hydra,
  • john.

Et bien d'autres ...

De mon point de vue il manque surtout quelques outils de tests pour la sécurité web. Vous pouvez également installer kali-linux-web.

Avec ce méta-paquet on retrouvera les outils comme :

  • nikto,
  • zaproxy,
  • sslscan.

Vous pouvez également créer votre propre image Docker de Kali avec les outils installés. Dans mon cas, je vais ouvrir un second terminal pour récupérer l'ID du container en cours d'exécution :

docker ps

Ensuite je vais créer une image :

docker commit <CONTAINER ID> my-kali

Dans mon exemple : docker commit 9a941fccf0a6 my-kali

Cela va créer une image Docker, que j'ai appelé ici my-kali. Cette image va prendre en compte tout les changements apportés dans le conteneur en cours d'exécution. La prochaine fois que vous souhaitez créer un nouveau conteneur, n'hésitez pas à l'utiliser :

docker run -ti my-kali /bin/bash


Vous voilà donc prêt à utiliser les outils mis à disposition par Kali Linux !

Nous pourrons ainsi aborder dans un prochain article, comment vérifier la sécurité de son site internet à l'aide des outils précédemment installés.

En tout cas n'hésitez pas à m'apporter des précisions, des commentaires ou votre soutien sur Twitter ! 😘