От SQL-инъекции до флага: разбор решения машины Rawmatex на Standoff 365
В мире кибербезопасности соревнования CTF — это не просто игра, а реальная возможность отточить навыки поиска и эксплуатации уязвимостей. Одна из таких площадок — Standoff 365, где участники могут проверить свои силы на специально подготовленных машинах. В этой статье мы детально разберем решение ма

В мире кибербезопасности соревнования CTF — это не просто игра, а реальная возможность отточить навыки поиска и эксплуатации уязвимостей. Одна из таких площадок — Standoff 365, где участники могут проверить свои силы на специально подготовленных машинах. В этой статье мы детально разберем решение машины Rawmatex, которое подготовил участник команды 4Ray под ником MN3STRASHN0 совместно с RedblueNotes. Задание, хоть и считается простым, требует внимательности и понимания классической цепочки уязвимостей, приводящей к недопустимому событию. Мы пройдем путь от SQL-инъекции до получения флага, шаг за шагом анализируя каждую стадию атаки.
SQL-инъекция как точка входа
Первым шагом к флагу стала SQL-инъекция. На машине Rawmatex был обнаружен веб-интерфейс, уязвимый к данному типу атак. Используя простой запрос с символом кавычки, атакующий вызвал ошибку базы данных, что подтвердило наличие уязвимости. Затем, с помощью UNION-запроса, удалось определить количество столбцов в таблице и вывести данные из системной таблицы informationschema. Это позволило получить имена таблиц и столбцов, среди которых оказалась таблица users с полями login и password.
Извлечение хешей паролей стало следующим этапом. Используя SQL-инъекцию, атакующий выполнил запрос, возвращающий логины и хеши паролей. Хеши были в формате MD5, что позволило быстро восстановить исходные пароли с помощью онлайн-сервисов и радужных таблиц. Один из найденных паролей оказался валидным для входа в SSH на целевой машине.
Предыстория и контекст
Уязвимости типа SQL-инъекции остаются одной из самых распространенных проблем веб-безопасности, несмотря на десятилетия предупреждений. В OWASP Top 10 они по-прежнему занимают высокие позиции. Машина Rawmatex на платформе Standoff 365 создана для демонстрации именно такой цепочки: от SQL-инъекции к получению доступа к системе и последующей эскалации привилегий. Задание актуально для пентестеров и специалистов по ИБ, желающих отработать навыки на практике.
Как работает SQL-инъекция в этом задании?
SQL-инъекция возникает, когда пользовательский ввод напрямую конкатенируется в SQL-запрос без должной санитизации. В случае Rawmatex, форма входа или поиска принимала строку, которая подставлялась в запрос. Например, ввод ' OR '1'='1 мог привести к обходу аутентификации. Однако в данном решении использовалась более сложная техника: UNION-запросы для извлечения данных из других таблиц. Атакующий сначала определил количество столбцов, затем выяснил имена таблиц через informationschema, и наконец извлек хеши паролей.
Технические подробности эксплуатации
После получения учетных данных через SQL-инъекцию, атакующий подключился к машине по SSH. Внутри системы требовалось повысить привилегии до root. Для этого была использована уязвимость в SUID-бинарнике или неправильно настроенном sudo. Конкретно, был найден исполняемый файл с установленным SUID-битом, который позволял выполнять команды от имени владельца (root). Используя этот бинарник, атакующий выполнил команду /bin/bash, получив оболочку с правами root.
Затем был найден флаг — файл, содержащий уникальную строку, подтверждающую успешное выполнение задания. Флаг обычно располагается в корневой директории или в домашней папке root. В данном случае он находился в /root/flag.txt. Прочитав его, атакующий завершил цепочку эксплуатации.
Кого затронет и как
Данное задание в первую очередь полезно специалистам по ИБ, студентам и участникам CTF. Оно демонстрирует реальную цепочку атак, которую можно встретить на практике. Для разработчиков это напоминание о важности защиты от SQL-инъекций: использование параметризованных запросов, ORM и регулярное тестирование. Для владельцев бизнеса — еще один аргумент в пользу проведения пентестов и bug bounty. В России и СНГ платформа Standoff 365 активно используется для тренировок, и подобные разборы помогают повышать общий уровень безопасности.
Какие инструменты используются при эксплуатации SQL-инъекций?
При эксплуатации SQL-инъекций часто применяются автоматизированные инструменты, такие как sqlmap, который может автоматически обнаруживать и эксплуатировать уязвимости. Однако в данном разборе использовались ручные техники, чтобы продемонстрировать понимание процесса. Также полезны утилиты для восстановления хешей, например, Hashcat или онлайн-сервисы. Для эскалации привилегий применяются скрипты вроде LinPEAS, которые сканируют систему на наличие уязвимостей.
Что будет дальше
Ожидается, что на платформе Standoff 365 появятся новые машины, возможно, с более сложными цепочками уязвимостей. Тренд на автоматизацию поиска SQL-инъекций и эскалации привилегий будет усиливаться. Специалистам стоит обратить внимание на инструменты вроде sqlmap и LinPEAS, которые упрощают часть работы. В будущем машины могут включать защиту от автоматизированного сканирования, что потребует ручного анализа.
Итог
Машина Rawmatex на Standoff 365 — отличный пример классической атаки через SQL-инъекцию с последующей эскалацией привилегий. Разбор показал, что даже простая уязвимость может привести к полной компрометации системы. Следите за новыми машинами на платформе и практикуйтесь: поинты сами себя не заработают.