Проведение сканирования нашей цели
Для сканирования актива (тестовая машина), нам необходимо создать группу, в которой будут находится только тачки(а) для тестирования. Простым действием мыши создаем группу, которая включает в себя активы, отфильтрованные по названию (см. рис 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).

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