qwertyguru
Мудрец
- Регистрация
- 22 Фев 2017
- Сообщения
- 466
- Реакции
- 451
- Автор темы
- #1
Что же случилось? Как это возможно? И почему вокруг Drupal или вернее сказать «Drupalgeddon2» столько шумихи, мы попробуем разобраться вместе с вами!
Итак, что же все таки произошло?
Начнем по порядку:
Ровно 4 недели назад разработчики CMS «Drupal» анонсировали скорый выход патчей для некой «чрезвычайно критической» уязвимости, попросили администраторов подготовиться к выходу патчей заранее и установить обновления сразу же, как только те станут доступны 28 марта 2018 года. Дело в том, что эксплоит для опасной проблемы, по мнению разработчиков, может быть создан за считанные дни или даже часы.
Говорилось, что исправления будут представлены для для Drupal 7.x, 8.3.x, 8.4.x, и 8.5.x. Серьезность неизвестной проблемы также подчеркивал тот факт, что разработчики сделали исключение и обещали выпустить «заплатки» для старых версий CMS, которые более не поддерживаются и в нормальных обстоятельствах давно не получают исправлений.
28 марта наступило, и авторы Drupal не только опубликовали обещанные патчи, но и рассказали о самой «чрезвычайно критической» проблеме в ядре CMS. Уязвимость получила идентификатор Для просмотра ссылки Войдиили Зарегистрируйся. Она позволяет атакующему выполнить произвольный код в самом «сердце» CMS, полностью скомпрометировав уязвимый сайт. Злоумышленнику не потребуется регистрация, аутентификация и какие-либо сложные манипуляции. Фактически, достаточно просто обратиться к определенному URL-адресу.
В сети проблеме немедленно дали имя Drupalgeddon2 – в честь старой уязвимости Drupalgeddon (Для просмотра ссылки Войдиили Зарегистрируйся, SQL-инъекция), обнаруженной в 2014 году и тогда ставшей причиной взлома множества сайтов под управлением Drupal.
Казалось бы, 28 марта разработчики выпустили патч, однако до 12 апреля в паблике не наблюдалось ссылок на работающий PoC или деталей проблемы.
ВОСПРОИЗВЕДЕМ УЯЗВИМУЮ СИСТЕМУ
Протестировать уязвимость легко. Само приложение просто устанавливается, а кроме того, у Drupal имеется официальный репозиторий на Docker Hub, и развернуть контейнер с нужной версией CMS можно буквально в пару команд.
Развернем копию MySQL, хотя можно и без него, Drupal поддерживает работу с SQLite.
Теперь сам контейнер с CMS, на базе версии — 8.5.0.
Далее открываем в браузере адрес вашего докера и переходим к установке.
Ждем завершения инсталляции.
Наслаждаемся готовым к исследованию приложением
P.S. Если вы хостер или у вас сервис, проксирующий трафик, клиенты с Drupal будут вам благодарны, если вы заблокируете запросы, в которых встречается
account/mail/%23value (account/mail/#value)
timezone/timezone/%23value (timezone/timezone/#value)
Итак, что же все таки произошло?
Начнем по порядку:
Ровно 4 недели назад разработчики CMS «Drupal» анонсировали скорый выход патчей для некой «чрезвычайно критической» уязвимости, попросили администраторов подготовиться к выходу патчей заранее и установить обновления сразу же, как только те станут доступны 28 марта 2018 года. Дело в том, что эксплоит для опасной проблемы, по мнению разработчиков, может быть создан за считанные дни или даже часы.
Говорилось, что исправления будут представлены для для Drupal 7.x, 8.3.x, 8.4.x, и 8.5.x. Серьезность неизвестной проблемы также подчеркивал тот факт, что разработчики сделали исключение и обещали выпустить «заплатки» для старых версий CMS, которые более не поддерживаются и в нормальных обстоятельствах давно не получают исправлений.
28 марта наступило, и авторы Drupal не только опубликовали обещанные патчи, но и рассказали о самой «чрезвычайно критической» проблеме в ядре CMS. Уязвимость получила идентификатор Для просмотра ссылки Войди
В сети проблеме немедленно дали имя Drupalgeddon2 – в честь старой уязвимости Drupalgeddon (Для просмотра ссылки Войди
Казалось бы, 28 марта разработчики выпустили патч, однако до 12 апреля в паблике не наблюдалось ссылок на работающий PoC или деталей проблемы.
ВОСПРОИЗВЕДЕМ УЯЗВИМУЮ СИСТЕМУ
Протестировать уязвимость легко. Само приложение просто устанавливается, а кроме того, у Drupal имеется официальный репозиторий на Docker Hub, и развернуть контейнер с нужной версией CMS можно буквально в пару команд.
Развернем копию MySQL, хотя можно и без него, Drupal поддерживает работу с SQLite.
Код:
$ docker run -d -e MYSQL_USER="drupal" -e MYSQL_PASSWORD="Q0b6EFCVW4" -e MYSQL_DATABASE="drupal" --rm --name=mysql --hostname=mysql mysql/mysql-server
Теперь сам контейнер с CMS, на базе версии — 8.5.0.
Код:
$ docker run -d --rm -p80:80 -p9000:9000 --link=mysql --name=drupalvh --hostname=drupalvh drupal:8.5.0
Далее открываем в браузере адрес вашего докера и переходим к установке.

Ждем завершения инсталляции.

Наслаждаемся готовым к исследованию приложением

P.S. Если вы хостер или у вас сервис, проксирующий трафик, клиенты с Drupal будут вам благодарны, если вы заблокируете запросы, в которых встречается
account/mail/%23value (account/mail/#value)
timezone/timezone/%23value (timezone/timezone/#value)