Drupal
Discovery
Vérifiez meta
Node: Drupal indexe son contenu en utilisant des nœuds. Un nœud peut contenir n'importe quoi comme un article de blog, un sondage, un article, etc. Les URI des pages sont généralement de la forme
/node/<nodeid>
.
Énumération
Drupal prend en charge trois types d'utilisateurs par défaut :
Administrateur
: Cet utilisateur a un contrôle total sur le site Web Drupal.Utilisateur Authentifié
: Ces utilisateurs peuvent se connecter au site Web et effectuer des opérations telles que l'ajout et la modification d'articles en fonction de leurs autorisations.Anonyme
: Tous les visiteurs du site Web sont désignés comme anonymes. Par défaut, ces utilisateurs ne sont autorisés qu'à lire les publications.
Version
Vérifiez
/CHANGELOG.txt
Les nouvelles installations de Drupal bloquent par défaut l'accès aux fichiers CHANGELOG.txt
et README.txt
.
Énumération des noms d'utilisateur
Enregistrement
Dans /user/register, essayez simplement de créer un nom d'utilisateur et s'il est déjà pris, une notification s'affichera :
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-6ab46c118379ea792b2f477ca36d22f4e1380ddd%252Fimage%2520%28254%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e234c2de&sv=1)
Demande de nouveau mot de passe
Si vous demandez un nouveau mot de passe pour un nom d'utilisateur existant :
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-592a4e1a03125816894fd143f1631e70c75444d2%252Fimage%2520%28255%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=252e2cd9&sv=1)
Si vous demandez un nouveau mot de passe pour un nom d'utilisateur inexistant :
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-af912ceb716958218004a7094a885255498368a9%252Fimage%2520%28256%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=56559520&sv=1)
Obtenir le nombre d'utilisateurs
En accédant à /user/<number>, vous pouvez voir le nombre d'utilisateurs existants, dans ce cas, il y en a 2 car /users/3 renvoie une erreur de non trouvé :
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-bbd405a269fec3069cb078fd269da45510050c9b%252Fimage%2520%28257%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=279fd051&sv=1)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-74cc125b1d2baf64a7889fc0a04bcd299d4fb8e2%252Fimage%2520%28227%29%2520%281%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=2b3ac683&sv=1)
Pages cachées
Faites un fuzz sur /node/$
où $
est un nombre (de 1 à 500 par exemple).
Vous pourriez trouver des pages cachées (test, dev) qui ne sont pas référencées par les moteurs de recherche.
Informations sur les modules installés
Automatique
RCE
Avec le Module de Filtre PHP
Dans les anciennes versions de Drupal (avant la version 8), il était possible de se connecter en tant qu'administrateur et d'activer le module PHP filter
, qui "Permet d'évaluer du code/snippets PHP intégré."
Vous avez besoin que le plugin php soit installé (vérifiez en accédant à /modules/php et s'il renvoie un 403, alors il existe, s'il n'est pas trouvé, alors le plugin php n'est pas installé)
Allez dans Modules -> (Cochez) PHP Filter -> Enregistrer la configuration
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-33b0cd0a5bf70946deb6bc5c2dc0e6904642af9b%252Fimage%2520%28247%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=69e463e2&sv=1)
Ensuite, cliquez sur Ajouter du contenu -> Sélectionnez Page de base ou Article -> Écrivez le code shell php dans le corps -> Sélectionnez Code PHP dans Format de texte -> Sélectionnez Aperçu
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-607d764091f974226ff1baac853144a317fc5838%252Fimage%2520%28253%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=72da8b7f&sv=1)
Enfin, accédez simplement au nœud nouvellement créé:
Installer le module PHP Filter
À partir de la version 8 et ultérieures, le module PHP Filter n'est pas installé par défaut. Pour utiliser cette fonctionnalité, nous devrons installer le module nous-mêmes.
Téléchargez la version la plus récente du module depuis le site Web de Drupal.
wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
Une fois téléchargé, allez dans
Administration
>Rapports
>Mises à jour disponibles
.Cliquez sur
Parcourir
, sélectionnez le fichier dans le répertoire où vous l'avez téléchargé, puis cliquez surInstaller
.Une fois le module installé, vous pouvez cliquer sur
Contenu
et créer une nouvelle page de base, de la même manière que dans l'exemple de Drupal 7. Assurez-vous à nouveau de sélectionnerCode PHP
dans le menu déroulantFormat de texte
.
Module avec une porte dérobée
Un module avec une porte dérobée peut être créé en ajoutant un shell à un module existant. Les modules peuvent être trouvés sur le site drupal.org. Choisissons un module tel que CAPTCHA. Faites défiler vers le bas et copiez le lien vers l'archive tar.gz archive.
Téléchargez l'archive et extrayez son contenu.
Créez un shell web PHP avec le contenu :
Ensuite, nous devons créer un fichier
.htaccess
pour nous donner accès au dossier. C'est nécessaire car Drupal refuse l'accès direct au dossier/modules
.
La configuration ci-dessus appliquera des règles pour le dossier / lorsque nous demandons un fichier dans /modules. Copiez ces deux fichiers dans le dossier captcha et créez une archive.
En supposant que nous avons un accès administratif au site Web, cliquez sur
Gérer
puis surÉtendre
dans la barre latérale. Ensuite, cliquez sur le bouton+ Installer un nouveau module
, et nous serons redirigés vers la page d'installation, telle quehttp://drupal-site.local/admin/modules/install
. Parcourez l'archive Captcha piégée et cliquez surInstaller
.Une fois l'installation réussie, accédez à
/modules/captcha/shell.php
pour exécuter des commandes.
Post Exploitation
Lire settings.php
Extraire les utilisateurs de la base de données
Références
Last updated