Проведение сканирования нашей цели
Для сканирования актива (тестовая машина), нам необходимо создать группу, в которой будут находится только тачки(а) для тестирования. Простым действием мыши создаем группу, которая включает в себя активы, отфильтрованные по названию (см. рис 1. Создание группы активов).

Создание задачи для сканирования машиныактива под управлением Windows. Создаем задачу сканирования для машины под управлением Windows. В качестве взаимодействия с активом указываем следующие протоколы: VMI, RPC, RE (см. Рис. 2).

В самой задаче необходимо указать актив и тип подключения к нему: по IP или FQDN (см. Рис. 3).

Сканируем методом белого ящика (Audit). За сканирование методом белого ящика отвечает модуль “Audit”. В параметрах профиля нужно указать учетную запись, которой предоставлены права на выполнение команд для сбора данных об активе (см. Рис. 4).

В качестве УЗ, которая будет использоваться для сканирования методом белого ящика выступает – Администратор (см. Рис. 5).

После проведенного сканирования переходим в карточку нашего актива. Видим выявленные уязвимости. Большая часть этих уязвимостей критична для нашей системы. Нас интересует CVE-2017-0144 (см. Рис. 6).

Экспулуатация уязвимости CVE-2017-0144
Так как наша статься посвящена теме «Один рабочий кейс из жизни специалиста по выявлению уязвимостей», то попробуем “поэксплуатировать” интересующую нас уязвимость.
CVE 2017-0144 - критическая уязвимость в Microsoft Server Message Block v1 (SMBv1), обнаруженная в 2017 году. Позволяет злоумышленнику выполнять удаленный код (RCE) без аутентификации, используя специально сформированные SMB-запросы.
Пример эксплуатации уязвимости CVE 2017-0144.
Каков наш план… наш план таков:
1) Проведем сканирование цели на наличие уязвимостей (она и так уязвима, мы отсканили её нашим «модным» сканером).
2) Используем эксплойт для получения доступа к системе.
3) Повысим свои привилегии, проведя миграцию на подходящий для нас процесс (что такое миграция тоже разберем чутка).
Начнем скан с использования nmap:
nmap -sV -sC -Pn -p- -A -T4 --min-rate=2000 10.10.x.x. (можно и так)
nmap -sV -vv --script vuln 10.10.x.x. (да и так можно тоже)
После выполнения команды видим результат нашего сканирования (см Рис. 7 и 8).


Замечаем, что наша система уязвима к vuln-ms17-010 (см. Рис. 9)
Запоминаем ms17-010, так как будем искать соответствующий эксплойт по названию.

Запускаем консоль Metsploite командой msfconsole –q
Осуществляем поиск необходимого для нас эксплойт с применением строки поиска ms17-010 (см. Рис. 10).

Далее завершаем конфигурацию нашего эксплойта, назначая следующие параметры (см. Рис. 11):
· RHOST для указания IP-адреса целевого узла
· payload, чтобы указать тип полезной нагрузки, в данном случае Windows reverse TCP shell
· LHOST, чтобы указать IP-адрес локального узла для подключения
· LPORT to specify the local port to connect to

После запуска эксплойта получаем сессию в meterpreter (см. Рис. 12).

Повысим привилегии с применением миграции в другой процесс с правами SYSTEM.
Проверяем, какие процессы имеются командой <ps>.

Для примера возьмем процесс powershell. Он выполняется от имени системы. Мигрируем в него. (см. Рис. 14)

В системе закрепились и права повысили. Система тестовая, особо чувствительных от экрана можно не убирать.
Так что же такое миграция?
Нет, это не перемещение одного типа животных в места с более подходящим климатом. Это возможность «Meterpreter» переместиться из одного процесса в другой на целевой машине. А «Meterpreter» это инструмент, используемый в рамках Metasploit. Это расширенный помощник в руках умелого, позволяющий выполнять множество задач, связанных со сбором информации, управления файлами, перехвата вводимых данных с клавиатуры и т.д.
Вот и успешная эксплуатация самой уязвимости.
Оценка риска уязвимости по шкале CVSS.
Да и на этом еще не все.
После выявления уязвимости с применением сканера, основным и немаловажным фактором является её(уязвимости) оценка. Для этого “притронемся” к CVSS (Common Vulnerability Scoring System). В качестве оцениваемой уязвимости будет уже проэксплуатированная
на тестовом стенде CVE-2017-0144.
Стоит выделить, что CVSS позволяет классифицировать уязвимости по трем базовым метрикам:
1) Base Score Metrics
2) Temporal Score Metrics
3) Environmental Score Metric
Оценим нашу уязвимость CVE-2017-0144 и дадим разъяснение почему те или иные значения были присвоены по базовым метрикам «Base Score Metrics» (рис. 15, Таблица 1, 2).

Таблица 1. Метрики эксплуатационной пригодности
Метрика |
Значение |
Обоснование |
Attack Vector (AV) |
Network |
Эксплуатация через сеть (SMB-порт 445). |
Attack Complexity (AC) |
Low |
Для эксплуатации достаточно отправить специальный SMB-пакет. |
Privilegeы Required (PR) |
None |
Аутентификация не требуется. |
User Interaction (UI) |
None |
Взаимодействие с пользователем не нужно. |
Scope (S) |
Changed |
Уязвимость затрагивает OC (не только SMB-сервис). |
Рассмотрим значения метрик воздействий «Impact Metrics» нашей уязвимости (см. Таблица 2).
Таблица 2. Метрики воздействий.
Метрика |
Значение |
Обоснование |
Confidentiality Impact (C) |
High |
Злоумышленник может читать любые файлы, которые имеются в системе. |
Integrity Impact (I) |
High |
Присутствует вероятность изменения/данных. |
Availability Impact (A) |
High |
Уязвимость вызывает крах системы (DoS). |
Приступим к метрикам «Temporal Metrics». Метрики этого типа помогают понять, как уязвимость меняется со временем, обращая внимание на доступность эксплойтов и наличие исправлений (см. Рис. 16, Таблица 3, 4, 5).
Здесь стоит выделить такие понятия как зрелость эксплойта(exploit code maturity) и уровень исправления (remediation level), уверенность в отчете (report confidence).
Зрелость эксплойта (exploit code maturity) – дает возможность понять, насколько просто эксплуатируется уязвимость, её эффективность и степень получения (доступность).
Уровень исправления (remediation level) – дает понимание о том, насколько просто найти исправления и обходные пути для уязвимости.
Уверенность в отчете (report confidence) – определяет, насколько достоверна описана уязвимость.

Таблица 3. Зрелость эксплойта.
Значение |
Описание |
Пример |
Not Defined (X) |
Не учитываем метрику |
- |
Unproven (U) |
Эксплойт не доступен или существует только теоретически. |
Уязвимость описали в исследовательской статье, но без публичного эксплойта. |
Proof-of-Concept (P) |
Эксплойт имеется, но требует сложных действий или непредсказуем |
Эксплойт эффективен, но в лабораторных условиях. |
Functional (F) |
Эксплойт работает стабильно, но требует настроек. |
Эксплойт применим на большинстве систем, но требует ручной настройки. |
High (H) |
Эксплойт работает стабильно и легко используем |
Эксплойт автоматически эксплуатирует уязвимость. |
Таблица 4. Уровень исправления.
Значение |
Описание |
Пример |
Not Defined (X) |
Не учитываем метрику |
- |
Official Fix (O) |
От поставщика имеется официальное исправление |
Патч Microsoft для уязвимости (MS17-010). |
Temporary (T) |
Доступно временное решение или путь в обход |
Отключить SMB для предотвращения эксплуатации уязвимости. |
Workaround (W) |
Есть обходной путь, но он не устраняет уязвимость полностью |
Ограничить доступ к порту 445 через firewall. |
Unavailable (U) |
Отсутствуют какие либо обходные пути |
Уязвимость, для которой отсутствуют известные способы защиты |
Таблица 5. Достоверность отчета.
Значение |
Описание |
Пример |
Not Defined (X) |
Не учитываем метрику |
- |
Unknown (U) |
Описание уязвимости отсутствует или ошибочно. |
Об уязвимости известно из неподтвержденных источников. |
Reasonable (R) |
Доступно временное решение или путь в обход |
Уязвимость описана в исследовательской статье, но без подтверждения от вендора. |
Рассматривая критические уязвимости для одной организации, можем заметить, что их критичность уменьшается для другой организации. Это связано с построение инфраструктуры и насколько важные те или иные данные для бизнеса.
Именно в этой точке мы и просим помощи у «Environmental Metrics» (см. Рис. 17 и Таблица 6, 7, 8). С помощью них мы можем дать оценку уязвимостям под конкретные условия организации.

Таблица 6. Метрики эксплуатационной пригодности (Environmental Score Metrics).
Значение |
Критерий оценки |
Пример |
Attack Vector (MAV) |
Network: Для эксплуатации необходим сетевой доступ к цели |
Атака происходит по сети через TCP-порт 445. |
Attack Complexity (MAC) |
Low: Не требует сложных манипуляций для атаки |
Уязвимость реализуема готовыми экслойтами. |
Privileges Required (MPR) |
None: Не необходимости наличия привилегий |
Атака реализуема без аутентификации. |
User Interaction (MUI) |
None: Не требуется взаимодействие от пользователя |
Атак автоматизирована, дополнительных действий со стороны пользователя не требуется. |
Scope (MS) |
Changed: При эксплуатации происходит компрометация других компонентов системы |
Атакующий имеет возможность выполнить код и распространять атаку на другие узлы. |
Таблица 7. Метрики воздействий (Environmental Score Metrics).
Значение |
Критерий оценки |
Пример |
Confidentiality Impact (MC) |
High: Конфиденциальные данные могут быть скомпрометированы полностью |
Атакующий может получить доступ к чтению любых данных. |
Integrity Impact (MI) |
High: Наличие возможности модифицировать данные |
Атакующий наделяется возможностью изменять данные системы и пользователя. |
Availability Impact (MA) |
High: Система может стать недоступной |
Атакующий может зашифровать данные и заблокировать доступ к системе. |
Таблица 8. Модификаторы воздействий.
Значение |
Критерий оценки |
Пример |
Confidentiality Requirement (CR) |
Medium: Конфиденциальные данные важные, но не критичны |
Потеря конфиденциальных данных зависит от бизнеса. |
Integrity Requirement (IR) |
High: Целостность данных критична |
Атакующий может изменить данные, что приведет к серьезным сбоям в работе бизнеса. |
Availability Requirement (AR) |
High: Доступность данных критична |
Злоумышленник может прервать бизнес-процессы, атаковав SMB. |
Исходя из анализа и выбора определенных критериев оценки можем увидеть итоговую оценку рисков, которые может понести наша организация (см. Рис. 18).

Специалиста по управлению уязвимостями характеризуют не только технические навыки, но и умение гибко анализировать угрозы под конкретный бизнес. Основным фактором является преображение информации о рисках в организации в конкретные действия, с помощью которых можно будет защитить компанию от вероятных угроз.
Автор: ctrl_alt_dlt