Commencez le Pentest avec Docker

Bonjour à tous,

Aujourd’hui nous allons voir ensemble comment monter une plateforme pour débuter le pentest Web dans un environnement Docker avec 2 images, DVWA (Damn Vulnerable Web Application) de Ryan Dewhurstet Mutillidae de l’OWASPOWASP. Ces 2 images vont chacune héberger une instance Web vulnérable à plusieurs niveaux (XSS, CSRF, SQL Injection, etc.).

Les images en question sont disponibles sur Docker-Hub :

Pour mon exemple je vais utiliser une machine sous Centos 7 avec docker.

L’avantage d’utiliser une plateforme comme celle-ci comparé aux sites de challenge comme root-me ou hack the box est que vous avez la possibilité d’avoir totalement la main sur vos images et votre infrastructure, ce que vous n’avez pas avec ces sites dédiés.

Les deux conteneurs fonctionnent avec Apache, MySQL et PHP.

Voici comment lancer l’image de DVWA :

1docker run -d -p 80:80 vulnerables/web-dvwa

Les options pour le lancement du conteneur sont les suivantes, -d pour détaché et -p pour les ports port_externe:port_interne, dans mon cas le port 80 ouvert sur la machine.

Une fois le conteneur lancé rendez vous dans votre navigateur et entrez l’IP de votre machine avec le port choisi, vous arriverez sur la page de setup de DVWA :

Descendez un peu sur la page et sélectionnez “Setup database” pour configurer votre image DVWA,

Rendez vous maintenant sur la page login et entre les identifiants par défaut admin:password :

Il m’est arrivé d’arriver directement sur la page login à la première connexion, dans ce cas appuyez sur entrer dans le formulaire et la page de setup s’affichera.

Une fois connecté, vous avez enfin accès à l’interface de DVWA :

Depuis cette interface vous avez le choix entre différentes failles et attaques, il est aussi bon de savoir qu’il existe plusieurs niveaux de sécurité sur les différentes pages dans le menu “DVWA Security”.

Vous pouvez maintenant commencer à tester les différentes possibilités de l’application !

Passons maintenant à Mutillidae, le principe est similaire :

1docker run -d -p 8080:80 szsecurity/mutillidae

Cette fois-ci j’utilise le port 8080 en externe car le 80 est pris par DVWA.

Rendez vous maintenant avec votre navigateur et entrez une nouvelle fois l’adresse IP de votre serveur avec le port :

Sur cette page sélectionnez “reset the DB”, vous arriverez alors sur la page d’accueil de Mutillidae :

Vous avez maintenant accès à l’ensemble des fonctionnalités, dans Mutillidae les différentes pages sont classées en fonction du top 10 de l’OWASP et vous avez aussi différents niveaux de sécurité.

Un article sur les différents outils de base pour le pentest arrivera prochainement.

Voici également un lien vers un document expliquant différentes attaques sur ces 2 conteneurs, il a été réalisé dans le cadre de mes études : cliquez ici.

J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !

Merci pour votre lecture et à bientôt !