Drupal
Reading time: 4 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Scoperta
- Controlla meta
curl https://www.drupal.org/ | grep 'content="Drupal'
- Node: Drupal indicizza i suoi contenuti utilizzando i nodi. Un nodo può contenere qualsiasi cosa come un post del blog, un sondaggio, un articolo, ecc. Gli URI delle pagine sono solitamente della forma
/node/<nodeid>
.
curl drupal-site.com/node/1
Enumerazione
Versione
- Controlla
/CHANGELOG.txt
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
note
Le installazioni più recenti di Drupal bloccano per impostazione predefinita l'accesso ai file CHANGELOG.txt
e README.txt
.
Enumerazione degli utenti
Drupal supporta tre tipi di utenti per impostazione predefinita:
Administrator
: Questo utente ha il controllo completo sul sito web di Drupal.Authenticated User
: Questi utenti possono accedere al sito web e svolgere operazioni come aggiungere e modificare articoli in base alle loro autorizzazioni.Anonymous
: Tutti i visitatori del sito web sono designati come anonimi. Per impostazione predefinita, questi utenti possono solo leggere i post.
Per enumerare gli utenti puoi:
- Ottenere il numero di utenti: Accedi semplicemente a
/user/1
,/user/2
,/user/3
... fino a quando non restituisce un errore che indica che l'utente non esiste. - Registrazione: Accedi a
/user/register
e prova a creare un nome utente; se il nome è già stato preso, verrà indicato in un errore del server. - Reimposta la password: Prova a reimpostare la password di un utente e se l'utente non esiste, verrà indicato chiaramente in un messaggio di errore.
Pagine nascoste
Trova semplicemente nuove pagine cercando in /node/FUZZ
dove FUZZ
è un numero (da 1 a 1000, ad esempio).
Informazioni sui moduli installati
#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
Strumenti Automatici
droopescan scan drupal -u http://drupal-site.local
RCE
Se hai accesso alla console web di Drupal, controlla queste opzioni per ottenere RCE:
{{#ref}} drupal-rce.md {{#endref}}
Da XSS a RCE
- Drupalwned: Script di sfruttamento di Drupal che eleva XSS a RCE o altre vulnerabilità critiche. Per ulteriori informazioni controlla questo post. Fornisce supporto per le versioni di Drupal 7.X.X, 8.X.X, 9.X.X e 10.X.X, e consente di:
- Escalation dei privilegi: Crea un utente amministrativo in Drupal.
- (RCE) Carica Template: Carica template personalizzati con backdoor su Drupal.
Post Exploitation
Leggi settings.php
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
Dump utenti dal DB
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.