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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2018-7602 — # Drupalgeddon3 RCE-эксплойт-лаборатория с уязвимой средой на базе Docker и интеграцией с Metasploit для практического обучения эксплуатации CVE-2018-7602. | Kitploit
Инструменты/GitHubGitHub/kastellanos/cve-2018-7602
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubkastellanos/cve-2018-7602

CVE-2018-7602

# Drupalgeddon3 RCE-эксплойт-лаборатория с уязвимой средой на базе Docker и интеграцией с Metasploit для практического обучения эксплуатации CVE-2018-7602.

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

Популярное

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

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

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

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

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

CVE-2018-7602

Уязвимость удалённого выполнения кода существует в нескольких подсистемах Drupal 7.x и 8.x. Она потенциально позволяет злоумышленникам использовать множество векторов атаки на сайт на Drupal, что может привести к компрометации сайта. Эта уязвимость связана с ядром Drupal — критическая важность — удалённое выполнение кода — SA-CORE-2018-002. И SA-CORE-2018-002, и эта уязвимость эксплуатируются в реальных условиях. --- MITRE

Шаги по воспроизведению уязвимости

Требования

Из-за некоторых сетевых ограничений в Docker для Mac (https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds) и Windows, приведённый ниже код следует выполнять на машине с Linux, где установлены docker и docker-compose.

Настройка окружения

Здесь у нас двухэтапная процедура: сначала машина с Drupal уязвимой версии 7.57, а затем атакующая машина с модифицированным эксплойтом, который позволяет нам продемонстрировать потенциальную опасность уязвимости.

  • Уязвимая машина: Для настройки окружения нам нужно выполнить следующие команды:
root@kitploit:~
# Supposing that you are placed inside the directory CVE-2018-7602
cd vulnerable_machine
docker-compose up -d
cd ..
  • Предупреждение Перед запуском команды убедитесь, что порт 80 не занят другим программным обеспечением.

  • Атакующая машина: Здесь мы создадим docker-образ Metasploit, содержащий модифицированный эксплойт (drupal_drupalgeddon3_commander), который будет использоваться далее. Для этого выполним:

root@kitploit:~
cd attacking_machine
docker-compose run --rm --service-ports -e MSF_UID=$(id -u) -e MSF_GID=$(id -g) ms
  • Пояснение: Рекомендуется выполнять эту команду в отдельном терминале, так как эта сессия понадобится нам на этапе эксплуатации.

Если у вас возникнут проблемы при выполнении приведённых ниже команд, отправьте письмо на [email protected] с приложенным журналом выполнения, и он с радостью поможет вам решить проблему.

Настройка Drupal

Теперь, когда Drupal запущен, нам нужно настроить его и создать некоторый контент. Для этого выполните следующие шаги:

  1. Перейдите на главную страницу Drupal, которая должна находиться по адресу http://localhost, затем используйте настройки по умолчанию и нажимайте «Далее» на каждом шаге. Используя в качестве учётных данных базы данных:
  • Имя пользователя базы данных: postgres
  • Пароль базы данных: safe_password
  • Хост базы данных: Измените в ADVANCED_OPTIONS для базы данных. хост базы данных с localhost на postgres

Configuration guide

  1. Следующий шаг — создание узла (node) в Drupal. Узел означает контент, такой как страница или запись в блоге. Для этого просто войдите в систему, если вы ещё не вошли, и нажмите add new content. Затем выберите статью или базовую страницу, заполните её произвольной информацией и сохраните номер, который появляется в адресной строке после создания страницы. Обычно это 1, если создана первая страница.

Node creation

Эксплуатация уязвимости

root@kitploit:~
# Overview
We will try to use the vulnerability to execute commands like ls or whoami
to show that it is possible to execute commands remotely.

Теперь, когда уязвимый экземпляр Drupal запущен на localhost, следующим шагом нужно начать использовать экземпляр Metasploit, созданный на этапе настройки окружения.

В Metasploit нам необходимо перезагрузить базу данных эксплойтов с помощью команды:

root@kitploit:~
reload_all

После этого нам становится доступен нужный эксплойт. Чтобы подготовить необходимую для эксплойта информацию, нам понадобятся сессионные cookie какого-либо пользователя, вошедшего на сайт.

Чтобы получить их простым способом, предположим, что вы всё ещё вошли в систему. Перейдите в инструменты разработчика, посмотрите хранилище cookie и сохраните его на потом. В итоге вы должны получить что-то вроде

root@kitploit:~
#<session_name>=<session_token>
SESS49960de5880e8c687434170f6476605b=DGHZKHWaNC51nrVQHEsTD0_PS68EeNyvGjdzk1SVmss

Пример получения cookie с помощью google chrome Session cookie

Теперь начинаем загружать эксплойт в Metasploit. Для этого выполните следующие команды:

root@kitploit:~
use exploits/unix/webapp/drupal_drupalgeddon3_commander
show options

Как видите, нам нужны некоторые параметры. Настраиваем параметры следующим образом

root@kitploit:~
set RHOSTS localhost
set DRUPAL_SESSION <session_name>=<session_token>

После этого можно выполнить

root@kitploit:~
exploit

Мы получим пользователя, от имени которого в данный момент работает веб-сервер. В данном случае это www-data, потому что команда по умолчанию — whoami. Также вы увидите некоторую дополнительную информацию в формате JSON, которая для нас не важна.

Итоговый результат эксплуатации выглядит так: Final result

Конец эксперимента: Если вы успешно выполнили весь эксперимент, то это конец. Поздравляем.

Если вы хотите продолжить эксперименты, вы можете изменить значение команды с помощью инструкции set. Или изменить ruby-скрипт, используемый Metasploit.

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