Drupal
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
Découverte
- Vérifiez meta
curl https://www.drupal.org/ | grep 'content="Drupal'
- 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 de page sont généralement de la forme
/node/<nodeid>
.
curl drupal-site.com/node/1
Énumération
Version
- Vérifiez
/CHANGELOG.txt
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
note
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
Drupal prend en charge trois types d'utilisateurs par défaut :
Administrator
: Cet utilisateur a un contrôle total sur le site web Drupal.Authenticated User
: 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.Anonymous
: 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.
Pour énumérer les utilisateurs, vous pouvez :
- Obtenir le nombre d'utilisateurs : Il suffit d'accéder à
/user/1
,/user/2
,/user/3
... jusqu'à ce qu'une erreur indique que l'utilisateur n'existe pas. - Registre : Accédez à
/user/register
et essayez de créer un nom d'utilisateur ; si le nom est déjà pris, cela sera indiqué par une erreur du serveur. - Réinitialiser le mot de passe : Essayez de réinitialiser le mot de passe d'un utilisateur et si l'utilisateur n'existe pas, cela sera clairement indiqué dans un message d'erreur.
Pages cachées
Il suffit de trouver de nouvelles pages en regardant dans /node/FUZZ
où FUZZ
est un nombre (de 1 à 1000 par exemple).
Informations sur les modules installés
#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
#Get info on installed modules
curl https://example.com/config/sync/core.extension.yml
curl https://example.com/core/core.services.yml
# Download content from files exposed in the previous step
curl https://example.com/config/sync/swiftmailer.transport.yml
Outils Automatiques
droopescan scan drupal -u http://drupal-site.local
RCE
Si vous avez accès à la console web de Drupal, vérifiez ces options pour obtenir RCE :
De XSS à RCE
- Drupalwned : Script d'exploitation Drupal qui élève XSS à RCE ou d'autres vulnérabilités critiques. Pour plus d'infos, consultez ce post. Il fournit un support pour les versions de Drupal 7.X.X, 8.X.X, 9.X.X et 10.X.X, et permet de :
- Escalade de privilèges : Crée un utilisateur administratif dans Drupal.
- (RCE) Téléchargement de modèle : Télécharge des modèles personnalisés avec un backdoor pour Drupal.
Post Exploitation
Lire settings.php
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
Dump des utilisateurs de la DB
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.