OWASP : Présentation de la plateforme
d'apprentissage
I
Architecture générale..........................................................................................
1
II
Les machines.....................................................................................................
2
1
Description des machines................................................................................
2
2
Mise à jour des paquets...................................................................................
2
III
Préparation de Mutillidae.....................................................................................
2
1
Présentation de Mutillidae................................................................................
2
2
Installation de Mutillidae...................................................................................
3
2.1
Installation.............................................................................................
3
2.2
Initialisation de la configuration...............................................................
4
IV
Préparation de BurpSuite.................................................................................
5
1
Présentation de BurpSuite................................................................................
5
2
Installation de BurpSuite (version gratuite)........................................................
5
2.1
Installation.............................................................................................
5
2.2
Configuration du navigateur (à controler sur chaque
poste)......................
6
2.3
Première capture de paquet (à tester).....................................................
7
L'objectif est d'utiliser les outils de la
plateforme de test dans les différentes activités, afin de mettre
en évidence la vulnérabilité des applications Web.
Voici le schéma final :
192.168.1.11 (par
exemple)
192.168.1.12 (par exemple)
Deux machines sont donc utilisées : une
machine servant pour l’attaque et une autre machine servant de
serveur web cible à attaquer.
➜La machine
attaquante :
Elle dispose d’un environnement graphique de
bureau avec un navigateur. Le proxy BurpSuite y est installé. Le
navigateur est configuré pour faire transiter les requêtes par le
proxy BurpSuite.
➜ La machine
cible :
Il s’agit du serveur web, hébergeant
l’application web cible Mutillidae. L’application Mutillidae
comporte des pages web vulnérables aux attaques. Elles sont
étudiées dans les différents ateliers.
Deux machines virtuelles sont donc utilisées,
une 1ère servant à héberger le serveur Mutillidae et une seconde
faisant office de client et contenant Burpsuite et d’autres outils
nécessaires à l'exécution des défis.
Ces 2 machines virtuelles ont été installées à
l'aide de l’outil de virtualisation VirtualBox.
MACHINES
|
RÔLES
|
ADRESSES IP
|
Serveur Debian
|
Serveur
web hébergeant la plateforme Mutillidae.
|
192.168.1.11/24
|
Client Debian
|
Machine
disposant des outils permettant de réaliser les attaques
(navigateur, BurpSuite…).
|
192.168.1.12/24
|
Mutillidae est installé sur une machine de
type Debian 9.
La machine cliente est également une machine
de type Debian 9. Elle dispose d'un bureau et d'un navigateur de
type Firefox. L'installation des outils présentés aurait pu se
faire sur d'autres distributions. Kali par exemple, qui intègre de
nombreux logiciels permettant de faire des tests de
pénétration.
Sur les deux machines, la mise à jour des
paquets a été réalisée avec la commande suivante :
#apt update && apt upgrade
|
Mutillidae est une plateforme pédagogique mise
en place par le groupe OWASP (Open Web Application Security
Project) qui permet d'étudier les attaques associées aux
applications web. Il s'agit de scripts PHP destinés à se
familiariser avec les technologies web (protocole HTTP, AJAX…) et
aux vulnérabilités qui en découlent.
Cet enseignement se fait à travers plusieurs
activités qui ciblent chaque problème de sécurité du
TOP10 d’OWASP (injection SQL, XSS, manipulation des en-têtes HTTP,
vol de session…). Chaque activité donne accès à une page comportant
un défi que l'utilisateur doit accomplir. Les scripts sont
disponibles en version non sécurisée afin de tester les
vulnérabilités. Des versions sécurisées permettent de vérifier que
les attaques échouent avec un minimum de contrôles sur les données
saisies dans les formulaires.
Dans l’activité 1, seule la partie sur la
notion d’injection est testée.

L'installation a été faite sur le serveur
Debian 9 grâce aux manipulations suivantes :
#apt install php7.0-xml libapache2-mod-php
php-mysql mysql-server apache2 apache2-utils php-xml php-gd
php-imap php-gettext php-curl zip
|
Ces commandes ont permis d’installer Apache,
MySQL serveur, PHP 7 et leurs dépendances.
Un utilisateur
spécifique a été créé, de la façon suivante, dans MySQL pour
l’application Mutillidae :
Une fois la
console Mysql/MariaDB ouverte, un utilisateur a été créé et des
droits lui ont été donné :
CREATE USER 'mutillidae'@'localhost'
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* to
'mutillidae'@'localhost';
|
La commande
suivante permet d’appliquer les nouveaux droits :
➡ Téléchargement
et décompression de Mutillidae
Le téléchargement
de la dernière version de Mutillidae a été faite à l'aide de
la commande wget :
wget
https://sourceforge.net/projects/mutillidae/files/mutillidae-project/LATEST-mutillidae-2.6.62.zip
|
Via le navigateur de la machine cliente, un
1er test peut être effectué en saisissant dans l'url :
<ip-nom-serveur>/mutillidae. Il faut donc que la
machine hébergeant l’application mutillidae soit démarrée.
En cas de page
blanche, il faut relancer le serveur apache avec la commande
suivante :

BurpSuite est une
plateforme qui permet d'effectuer des tests de sécurité sur les
applications web. Elle joue le rôle d'un proxy qui se positionne
entre le navigateur de l'attaquant et le serveur contenant
l'application web à tester. Il capture les requêtes effectuées afin
de pouvoir les analyser, les modifier et les rejouer en modifiant
les paramètres. Grâce à ces captures, il est alors possible de
tester les vulnérabilités comme les injections SQL ou le XSS.
BurpSuite incorpore les outils suivants :
v un proxy qui
permet d'intercepter les requêtes entre le navigateur et
l'application cible ;
v un scanner
d'applications web ;
v un outil
permettant de découvrir les champs d'une page dans le but de
pouvoir les exploiter ;
v un outil
d'intrusion permettant d'effectuer des attaques spécifiques afin
d'exploiter certaines vulnérabilités ;
v un outil de
répétition permettant la modification avant envoi des
requêtes ;
v un séquenceur
pour tester la randomisation des sessions.

BurpSuite est donc un excellent outil pour
relever les défis de Mutillidae.

Burpsuite sera nécessaire uniquement lors de
certaines activités.
L'installation de la version gratuite a été
faite sur la machine cliente sous Debian 9 grâce aux manipulations
suivantes :
Le téléchargement
a été fait via le lien suivant en utilisant un navigateur :
Le script
téléchargé a été rendu exécutable :
chmod +x
burpsuite_community_linux_v1_7_32.sh
|
Lancement de
l'installation :
sh
burpsuite_community_linux_v1_7_32.sh
|
Pour utiliser Burpsuite, le navigateur a été
configuré, sur la machine cliente, pour l’utiliser en tant que
proxy. Avec Firefox, il faut atteindre les paramètres puis les
options avancées de configuration.
Puis, dans l'onglet réseau, il faut cliquer
sur paramètres et faire référence au proxy BurpSuite. L'écoute se
fait sur le port 8080.
Ensuite, il faut indiquer l’adresse de
bouclage 127.0.0.1 ainsi que le port d'écoute 8080.
Démarrer BurpSuite (Cliquer sur Activités et
saisir BurpSuite dans la barre de recherche).
Il faut ensuite cliquer sur temporary
project.,

Puis un autre clic sur suivant et enfin
sur burp defaults.

Enfin, il faut cliquer sur le bouton Start
Burp.
Le répertoire d'installation de BurpSuite se
situe par défaut dans /usr/local/BurpSuiteCommunity. Pour
effectuer une première interception de requête, il faut cliquer sur
l'onglet Proxy, puis sur Intercept et vérifier la
présence du bouton intercept is on (en cliquant
surIntercept is off).
Lors de l'accès à un site depuis le
navigateur, chaque requête est capturée par BurpSuite. Le clic sur
le bouton Forward permet de passer à la requête suivante. En
attendant ce clic, le proxy se met en attente avant d'envoyer les
données vers le serveur web.
Pour désactiver la capture, il suffit de
cliquer sur ‘intercept is on’ pour obtenir ‘intercept is off’.