Drupal
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Discovery
- Überprüfen Sie meta
curl https://www.drupal.org/ | grep 'content="Drupal'
- Node: Drupal indiziert seinen Inhalt mit Knoten. Ein Knoten kann alles enthalten, wie einen Blogbeitrag, eine Umfrage, einen Artikel usw. Die Seiten-URIs haben normalerweise die Form
/node/<nodeid>
.
curl drupal-site.com/node/1
Aufzählung
Version
- Überprüfen Sie
/CHANGELOG.txt
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
note
Neuere Installationen von Drupal blockieren standardmäßig den Zugriff auf die CHANGELOG.txt
und README.txt
Dateien.
Benutzerenumeration
Drupal unterstützt standardmäßig drei Arten von Benutzern:
Administrator
: Dieser Benutzer hat die vollständige Kontrolle über die Drupal-Website.Authentifizierter Benutzer
: Diese Benutzer können sich auf der Website anmelden und Operationen wie das Hinzufügen und Bearbeiten von Artikeln basierend auf ihren Berechtigungen durchführen.Anonym
: Alle Website-Besucher werden als anonym bezeichnet. Standardmäßig dürfen diese Benutzer nur Beiträge lesen.
Um Benutzer zu enumerieren, können Sie:
- Anzahl der Benutzer abrufen: Greifen Sie einfach auf
/user/1
,/user/2
,/user/3
... zu, bis ein Fehler zurückgegeben wird, der anzeigt, dass der Benutzer nicht existiert. - Registrierung: Greifen Sie auf
/user/register
zu und versuchen Sie, einen Benutzernamen zu erstellen. Wenn der Name bereits vergeben ist, wird dies in einer Fehlermeldung vom Server angezeigt. - Passwort zurücksetzen: Versuchen Sie, das Passwort eines Benutzers zurückzusetzen. Wenn der Benutzer nicht existiert, wird dies klar in einer Fehlermeldung angezeigt.
Versteckte Seiten
Finden Sie einfach neue Seiten, indem Sie in /node/FUZZ
suchen, wobei FUZZ
eine Zahl ist (zum Beispiel von 1 bis 1000).
Installierte Modul-Infos
#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
Automatische Werkzeuge
droopescan scan drupal -u http://drupal-site.local
RCE
Wenn Sie Zugriff auf die Drupal-Webkonsole haben, überprüfen Sie diese Optionen, um RCE zu erhalten:
Von XSS zu RCE
- Drupalwned: Drupal-Ausnutzungsskript, das XSS zu RCE oder anderen kritischen Schwachstellen erhöht. Für weitere Informationen siehe diesen Beitrag. Es bietet Unterstützung für Drupal-Versionen 7.X.X, 8.X.X, 9.X.X und 10.X.X und ermöglicht:
- Privilegieneskalation: Erstellt einen administrativen Benutzer in Drupal.
- (RCE) Vorlage hochladen: Lädt benutzerdefinierte Vorlagen, die in Drupal zurückdoorisiert sind, hoch.
Post-Exploitation
Einstellungen.php lesen
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
Benutzer aus der DB dumpen
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.