Aller au contenu

Kali Linux sous Docker

Dans ce tutoriel nous allons créer une image docker Kali Linux personnalisée afin de pouvoir déployer rapidement une machine en cas de besoin, puisque contrairement à une machine virtuelle ce conteneur se lance en seulement quelques secondes.

Créer un dockerfile

1. Dans un premier temps il faut créer un fichier dockerfile pour customiser notre image Kali Linux
mkdir kali-docker
nano dockerfile
2. Il faut ensuite modifier ce fichier à votre convenance, par exemple pour ajouter des alias ou d’autres outils qui pourraient vous être utiles comme un serveur SSH ou autre.
# Dockerfile kali-docker


# Official base image
FROM kalilinux/kali-rolling


# Apt
RUN apt -y update && apt -y upgrade && apt -y autoremove && apt clean


# Tools
RUN apt install git nano ftp john ncat nmap python3 python2 exa samba whois wordlists -y --no-install-recommends


# Alias
RUN echo "alias l='ls -al'" >> /root/.bashrc
RUN echo "alias lls='exa -l'" >> /root/.bashrc
RUN echo "alias gg='ping google.fr'" >> /root/.bashrc
RUN echo "alias rm='rm -rf'" >> /root/.bashrc
RUN echo "alias cls='clear'" >> /root/.bashrc


# Set working directory to /root
WORKDIR /root


# Open shell
CMD ["/bin/bash"]
3. Construire l’image avec docker build -t (le point est important)
docker build -t kali-doker 
4. Une fois votre fichier créé, il faut créer un fichier docker-compose pour faciliter le déploiement du conteneur
nano docker-compose.yml
5. Coller ce docker-compose
version: '3'


services:
  kali-light:
    image: "kali-docker"
    volumes:
      - /mnt/share-kali-docker:/share
6. Créer un dossier pour le dossier partagé du conteneur
mkdir /mnt/share-kali-docker
7. Lancer le conteneur docker avec docker run (le point est important)
docker run kali-docker .

Vous êtes maintenant dans votre conteneur, vous pouvez en sortir avec exit. 

En faisant un docker-ps -a vous verrez que votre conteneur est toujours en route, pour le supprimer utiliser docker stop et docker rm suivi de l’ID de votre conteneur. 

┌──(root㉿kali)-[/home/kali/Kali]
└─# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS
         PORTS     NAMES
14ddcfa66669   kali-docker   "/bin/bash"   13 seconds ago   Exited (130) 2 secon
ds ago             kali_kali-docker_run_6b31d86c769f
Pour revenir dans le conteneur, prendre l’ID retourné lors du docker ps -a et lancer cette commande :
docker exec -ti -u0 id_conteneur bash
Pour supprimer l’image et recommencer fermez tout les conteneurs kali et lancer la commande suivante:
docker rmi kali-docker 
docker images