[DOCKER] Metasploit Framework

metasploit-image

Metasploit sur Docker

Cette procédure va couvrir l’installation et l’utilisation de Metasploit par le biais de Docker.

Cette configuration est intéressante car elle permet de rendre portable son environnement de pentest en gardant une persistance des travaux effectués.

 

Sur une Debian Stretch 64bits, on installe les prérequis puis Docker :

apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     python-software-properties

 

On ajoute ensuite la clé publique du dépôt au magasin APT :

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Une fois fait, on ajoute le dépôt Docker dans un fichier /etc/apt/sources.list.d/docker.list:

deb https://apt.dockerproject.org/repo debian-jessie main

On peut maintenant remettre APT à jour et installer Docker :

apt-get update && apt-get install docker-engine

On lance ensuite le service : service docker start

Construction de l’image:

Nous allons construire l’image Docker à la main, mais sachez qu’on peut récupérer une image déjà préparée :

sudo docker run --rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit

Cette image pèse assez lourd mais elle à le mérite de supprimer les problèmes d’installation.

On commence par récupérer les sources :

cd && git clone https://git.vpnwall.xyz/majes/dockersploit.git && cd dockersploit

En attendant, voici quelques commandes utiles pour l’utilisation de Docker :

Lister les images disponibles sur votre machine :

docker images

Lister les containers lancés :

docker ps

Tuer tous les containers lancés :

docker kill $(docker ps -q)

Supprimer une image (vous pouvez utiliser le IMAGE ID ou le nom/repo):

docker rmi -f new/debian

Exporter une image :

docker save  [ID] > remnux_metasploit.tar

Importer une image :

docker load < remnux_metasploit.tar

Nous voila dans le dossier dockersploit. On y trouve le fichier Dockerfile qui servira à la construction de notre image. Si vous souhaitez personnaliser votre image, vous devrez modifier ce fichier. Vous pourrez ainsi lancer automatiquement des scripts ou encore installer d’autres programmes utiles à vos pentest.

Exemples : tmux xsltproc

Une fois que tout est paré, on lance le build :

docker build -t remnux/metasploit .

Attention : notez qu’il y a un point à la fin de la commande ci-dessus.

L’image va donc être créée à partir de nos critères. Elle va peser dans les 1,7Go.

J’ajoute en ce moment shellinabox qui permet de faire pointer un terminal vers une appli Web, permettant ainsi l’accès SSH par le biais du navigateur.

Une fois le build effectué, on lance notre image avec la commande suivante :

docker run --rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit

Le port spécifié correspond au port que vous souhaitez définir comme port d’écoute (listener meterpreter)

Les services démarrent et nous arrivons sur le prompt de notre image docker.

Pour commencer à travailler, on lance un :

msfconsole

Dans les sources, vous trouverez également les scripts build.sh et dockersploit.sh, qui servent respectivement, à lancer le build et l’autre à lancer l’image avec les paramètres adéquats.