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

 

 

I                 Architecture générale

 

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 :

image

                               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.


 

 

II               Les machines

1               Description des machines

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.

 

2               Mise à jour des paquets

Sur les deux machines, la mise à jour des paquets a été réalisée avec la commande suivante :

#apt update && apt upgrade

 

 

III             Préparation de Mutillidae

1               Présentation de Mutillidae

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.

 

image


 

 

2               Installation de Mutillidae
2.1          Installation

 

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 :

#mysql

 

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 :

#FLUSH PRIVILEGES;

 

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

 


 

 

2.2          Initialisation de la configuration
 

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 :

#service apache2 restart

 

image


 

 

IV            Préparation de BurpSuite

 

1               Présentation de BurpSuite

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.

 

image

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

image

Burpsuite sera nécessaire uniquement lors de certaines activités.

 

 

2               Installation de BurpSuite (version gratuite)
2.1          Installation

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 :

 portswigger.net/burp

 

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


 

 

2.2          Configuration du navigateur (à controler sur chaque poste)

 

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.

image

image
image
 

 

image


 

 


2.3          Première capture de paquet (à tester)

 

Démarrer BurpSuite (Cliquer sur Activités et saisir BurpSuite dans la barre de recherche).

 

Il faut ensuite cliquer sur temporary project.,

image

image

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

 

 

image

 

 

 

image
 

 

 


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’.

 

image