Рабочий кейс из жизни специалиста по управлению уязвимостями «Vulnerability management»

в 10:15, , рубрики: maxpatrol vm, vulnerability management

Проведение сканирования нашей цели

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

Рис. 1 – Создание группы активов.

Рис. 1 – Создание группы активов.

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

Рис. 2 – Создание задачи сканирования.

Рис. 2 – Создание задачи сканирования.

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

Рис. 3 – Определения группы сканирования и типа подключения к активам

Рис. 3 – Определения группы сканирования и типа подключения к активам

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

Рис. 4 – Конфигурация модуля Audit для выбранных активов.

Рис. 4 – Конфигурация модуля Audit для выбранных активов.

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

Рис. 5 - Создание УЗ

Рис. 5 - Создание УЗ

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

Рис. 6 – Карточка актива.

Рис. 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).

Рис. 7 – Результат сканирования по открытым портам.

Рис. 7 – Результат сканирования по открытым портам.
Рис. 8 – Результат сканирования при использовании базы уязвимостей.

Рис. 8 – Результат сканирования при использовании базы уязвимостей.

Замечаем, что наша система уязвима к vuln-ms17-010 (см. Рис. 9)

Запоминаем ms17-010, так как будем искать соответствующий эксплойт по названию.

Рис. 9 – Выявленная уязвимость.

Рис. 9 – Выявленная уязвимость.

Запускаем консоль Metsploite командой msfconsole –q

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

https://i0.wp.com/steflan-security.com/wp-content/uploads/2021/01/image-261.png?resize=809%2C248&ssl=1

Рис. 10 – Результаты поиска по названию «ms17-010».

Далее завершаем конфигурацию нашего эксплойта, назначая следующие параметры (см. Рис. 11):

·  RHOST для указания IP-адреса целевого узла

·  payload, чтобы указать тип полезной нагрузки, в данном случае Windows reverse TCP shell

·  LHOST, чтобы указать IP-адрес локального узла для подключения

·  LPORT to specify the local port to connect to

https://i0.wp.com/steflan-security.com/wp-content/uploads/2021/01/image-262.png?resize=810%2C383&ssl=1

Рис. 11 - Выбор подходящего эксплойта и отображение необходимых опций.

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

Рис. 12 – Сессия в meterpreter.

Рис. 12 – Сессия в meterpreter.

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

https://i0.wp.com/steflan-security.com/wp-content/uploads/2021/01/image-269.png?resize=810%2C467&ssl=1

Рис. 13 – Запущенные процессы в системе.

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

Рис. 14 – Миграция в процесс с правами SYSTEM

Рис. 14 – Миграция в процесс с правами SYSTEM

В системе закрепились и права повысили. Система тестовая, особо чувствительных от экрана можно не убирать.

Так что же такое миграция?

Нет, это не перемещение одного типа животных в места с более подходящим климатом. Это возможность «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).  

Рис. 15 – Базовые метрики уязвимости.

Рис. 15 – Базовые метрики уязвимости.

Таблица 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) – определяет, насколько достоверна описана уязвимость.

Рис. 16 – Временные метрики.

Рис. 16 – Временные метрики.

Таблица 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). С помощью них мы можем дать оценку уязвимостям под конкретные условия организации.

Рис. 17 – Группа метрик окружения.

Рис. 17 – Группа метрик окружения.

Таблица 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).

Рис. 17 – Итоговая оценка рисков.

Рис. 17 – Итоговая оценка рисков.

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

Автор: ctrl_alt_dlt

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js