9 марта 2023

Методы проведения сканирования

MaxPatrol VM Getting Started

Содержание статьи

Коллеги, приветствую вас в четвертой статье цикла MaxPatrol VM Getting Started. В прошлой статье мы поговорили о web-интерфейсе и разобрали его возможности. В этой части мы поговорим о методах проведения сканирования в MaxPatrol VM.

Методы проведения сканирования

Изначально сканеры безопасности сканировали хосты и сетевую инфраструктуру методом “черного ящика” с минимальным знаниями об активах. Метод “черного ящик” по сути показывает систему так, как ее видел бы злоумышленник, проводящий разведку инфраструктуры. Позволяет выявить все “торчащие” уши порты/сервисы, получить первичную информацию о возможных уязвимостях и предположить возможный вектор атаки.

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

Для проведения этих видов сканирований в MP VM встроены одноименные модули. Но любая активность по сбору информации об активах сопряжена с получением данных о “живых” хостах в сети.
Важно! Для того, чтобы сканирования имели эффект, необходимо обеспечить сетевую доступность хостов для агентов сканирования. Не забудьте настроить необходимые правила на межсетевых экранах и других СЗИ, чтобы сканирования не блокировались фаерволами.

HostDiscovery и ко.

Для проверки доступности активов используются ICMP ping, TCP ping или оба метода одновременно.

Существую стандартные профили:

HostDiscovery — базовый профиль для поиска активов. Актив обнаруживается по открытым на нем TCP-портам из списка часто используемых или ответу на запрос по протоколу ICMP.

Inventory Profile — для поиска активов. Актив обнаруживается по открытым на нем TCP-портам или ответу на запрос по протоколу ICMP.

Os Detection Profile — для поиска активов и определения версий, установленных на них операционных систем. Актив обнаруживается по открытым на нем TCP-портам. Для определения ОС необходимо, чтобы хотя бы один из проверяемых на активе портов был открыт и хотя бы один был закрыт.

PortScan Full Range — для поиска открытых на активе TCP-портов в диапазоне от 1 до 65535.

Ниже будут приведены результаты сканирования хоста различными профилями обнаружения хостов. Для тестирования был взят хост c IP: 10.10.41.12:
Для сканирования профилем HostDiscovery были взяты параметры по умолчанию:
Результат:
В системе появилась карточка актива, в которой был занесены IP и MAC актива, а также обнаружен открытый порт 135\TCP.

Для сканирования профилем Inventory Profile были взяты параметры по умолчанию:
Результат:
Карточка актива пополнилась информацией о предполагаемой ОС — “Windows 10 or newer” и о типе узла — “Desktop”.

Для сканирования профилем OS Detection Profile были взяты параметры по умолчанию:
Результат:
Результат никак не изменился. Дело в том, что профили Inventory Profile и OS Detection Profile отличаются только отсутствием у второго эхо-запроса ICMP в настройках.

Для сканирования профилем PortScan Full Range были взяты параметры по умолчанию:
Результат:
После завершения сканирования этим профилем мы получили полный список открытых портов на хосте.

Модуль Pentest

Модуль предназначен для аудита активов без использования данных учетных записей на источнике (методом “черного ящика”). Позволяет проводить тестирование на проникновение, поиск уязвимостей и информации о связанном с ними ПО.

Для модуля созданы следующие стандартные профили:

  • Bruteforce PenTest — для подбора учетных записей.
  • Database Discovery — для проверки БД.
  • Fast PenTest — для быстрого поиска уязвимостей.
  • Full PenTest — для поиска уязвимостей.
  • Http Servers Discovery — для сканирования веб-ресурсов.
  • Mail Servers Discovery — для проверки почтовых служб.
  • Remote Management Discovery — для проверки удаленного подключения.
  • Safe PenTest — для тестирования на проникновение.
  • SAP Discovery — для проверки продуктов компании SAP.
  • Service Discovery — для обнаружения активных узлов, поиска на них открытых портов и определения работающих служб.
  • Service Discovery on well-known ports — для быстрого обнаружения активных узлов, открытых на них портов и определения служб.
  • SNMP Scan — для проверки с использованием протокола SNMP.
  • Unsafe PenTest — для тестирования на проникновение.
  • Windows Discovery — для обнаружения активных узлов с Windows, поиска на них открытых портов и определения работающих служб.

Набор настроек у всех профилей одинаков, разница лишь в их наполнении. Но есть то, что их объединяет — ярое нежелание сканить принтеры. Система произведет предварительный поиск сетевых принтеров и исключит их из сканирования. Таким образом мы не отправим на печать тонну белого сырья и все будут счастливы. Обязательно оставляем этот флажок включенным!
В остальном порядок следующий:

  • определяются порты для сканирования;
  •  определяется список UDP-служб для сканирования;
  • определяются проверки по поиску уязвимостей.
Перед проведением Pentest на указанном хосте была добавлена запись со стандартными логин/паролем. Стандартные логины и пароли хранятся в Системе в виде списков Справочника.
Результат:

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

Audit

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

Для модуля созданы стандартные профили:

  • Checkpoint Management Server SSH Audit — для аудита систем информационной безопасности Check Point по протоколу SSH.
  • Checkpoint OPSEC Audit — для аудита систем информационной безопасности Check Point через API OPSEC.
  • Microsoft Active Directory Audit — для аудита ресурсов службы каталогов Microsoft Active Directory.

Для просмотра данных аудита, полученных в результате сканирования с профилями Microsoft Active Directory Audit или Windows DC Audit, необходимо создать динамическую группу активов по условию ActiveDirectory.

  • MSSQL Audit — для аудита СУБД Microsoft SQL Server.
  • Oracle Audit — для аудита СУБД Oracle Database.

При использовании профиля Oracle Audit для снижения нагрузки на сервер рекомендуется очищать в сканируемой СУБД Oracle Database таблицу SYS.AUD$ (в пространстве SYSTEM) не реже чем раз в три месяца.

  • SNMP Network Device Audit — для аудита сетевых устройств по протоколу SNMP.
  • SSH Cisco Audit in Enable Mode — для аудита сетевых устройств компании Cisco по протоколу SSH.

При проведении аудита с профилем SSH Cisco Audit in Enable Mode для повышения привилегий на активе (до уровня 15) нужно указать учетную запись типа «пароль» для выполнения команды enable и перехода в привилегированный режим EXEC.

  • SSH Network Device Audit — для аудита сетевых устройств по протоколам SSH.
  • Unix Audit — для аудита ОС семейства Unix.

При проведении аудита ОС семейства Unix с профилем Unix Audit активы не будут обнаружены и добавлены, если в ОС используется ядро Linux версии 2.6.38 или ниже. Активы также не будут обнаружены и добавлены, если в ОС используется утилита dmidecode версии 2.8 или ниже.

  • vSphere Audit — для аудита платформ виртуализации VMware vSphere.
  • Web API Audit — для аудита систем через веб-API. Например, систем Check Point, JetBrains TeamCity, JFrog Artifactory и Zabbix.
  • Windows Audit — для аудита Windows.

Адаптивный контроль аномалий Kaspersky Endpoint Security блокирует возможность сбора данных механизмом WMI (например, в профиле Windows Audit). Для проведения аудита учетную запись, которая используется для доступа в ОС, требуется добавить в исключения правила адаптивного контроля аномалий «Запуск Windows PowerShell с помощью WMI».

  • Windows Audit Vulnerabilities Discovery — для сбора данных о приложениях и ОС, необходимых для поиска уязвимостей на узлах с Windows.
  • Windows DC Audit — для сбора данных о ресурсах службы каталогов Microsoft Active Directory.
  • Windows Updates Discovery — для обновления данных о приложениях и ОС, необходимых для поиска уязвимостей на узлах с Windows.

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

В качестве примера я решил провести аудит профилем Windows Audit со стандартными настройками по умолчанию. В профиле необходимо указать учетную запись, обладающей всеми необходимыми разрешениями (согласно документации), для чтения информации на хосте.
Результат:
Как видим, получена полная информация о хосте, в том числе о ПО и его версии, данные о патчинге и так далее.

Заключение

Мы дали краткое описание профилей сканирования и общее представление о том, как сканирование отрабатывает. В следующей статье мы рассмотрим процесс встраивания сканирования на всю IT-инфраструктуру.

Автор: Игорь Ширяев и Роман Журавлёв, инженеры TS Solution