Хабрахабр

Сравнение инструментов сканирования локальной сети

Когда я работал в нескольких государственных организациях кавычкодавом, овощем пентестером, суровые бородатые дяди в свитерах учили меня использовать только Nmap для сканирования сети. Сменив место работы, Добби стал свободен от предрассудков и решил выбрать сканер самостоятельно на основании псевдо-объективных данных сравнения реального функционала популярных сканеров, которые смог найти в сети самостоятельно, или, спросив у коллег, какой их любимый сканер. Собственно, о результатах внутреннего холливара сравнения сетевых сканеров и решил написать статью. Объективность не гарантирую, но постарался сделать колличественный анализ. Кому интересно, что из этого вышло, добро пожаловать под кат.
Старый и опытный волк безопасник предложил свой любимый и привычный консольный Nmap. Ещё один наш выходец из «госухи», combonik, говорил, что разницы нету, опенсорсный или вендорский, главное — веб-интерфейс для работы. Ещё наш погонщик менеджер сказал, что вендорские сканеры — самые лучшие, аргументируя свои слова тем, что такие сканеры имеют постоянную поддержку, удобный интерфейс для работы и постоянные обновления.

Холивар среди пентестеров Hacken привел нас к новой задаче — проведению сравнительной характеристики по результатам сканирования. Дабы сгладить наши противоречия, было решено провести блиц-тестирование сетевых сканеров уязвимостей. Их выбрали на основании аналитики интернет-публикаций и личного опыта. Для проведения сравнения эффективности сканирования было выбрано четыре сканера: Rapid7 Nexpose, Tenable Nessus, OpenVAS 9 и Nmap. Лично я делал ставку на Nessus, но увы, не угадал.

Под анализ попадают все компоненты инфраструктуры, включая сети, операционные системы, базы данных и web-приложения. Rapid7 Nexpose – это сканер уязвимостей, который выполняет активное сканирование IT-инфраструктуры на наличие ошибочных конфигураций, дыр, вредоносных кодов, и предоставляет рекомендации по их устранению. [2] По результатам проверки Rapid7 Nexpose в режиме приоритетов классифицирует обнаруженные угрозы и генерирует отчеты по их устранению.

По результатам сканирования выдаёт отчёт о найденных уязвимостях. Tenable Nessus Scanner – это сканер, предназначенный для оценки текущего состояния защищённости традиционной ИТ-инфраструктуры, мобильных и облачных сред, контейнеров и т.д. [3] Рекомендуется использовать, как составную часть Nessus Security Center.

OpenVAS предназначен для активного мониторинга узлов вычислительной сети на предмет наличия проблем, связанных с безопасностью, оценки серьезности этих проблем и для контроля их устранения. OpenVAS — это сканер уязвимостей с открытым исходным кодом. Затем OpenVAS анализирует собранные данные и делает выводы о наличии каких-либо проблем с безопасностью. Активный мониторинг означает, что OpenVAS выполняет какие-то действия с узлом сети: сканирует открытые порты, посылает специальным образом сформированные пакеты для имитации атаки или даже авторизуется на узле, получает доступ к консоли управления, и выполняет на нем команды. [1,6] Эти проблемы, в большинстве случаев касаются установленного на узле необновленного ПО, в котором имеются известные и описанные уязвимости, или же небезопасно настроенного ПО.

Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.[4,5] Nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб).

Тестовая среда

Для проведения тестирования я собрал тестовую сеть на VMware Workstation 12 Pro в схему, которая представлена на рис. 1.

Рис. 1. Схема сети

Поднятые виртуалки:

  • Windows 7 со всеми установленными обновлениями, запущенным приложением XAMPP, развёрнутыми сервисами MySQL и Apache. Также развёрнута тестовая система DVWA.
  • Metasploitable 2 – операционная система с предустановленными уязвимыми сервисами и приложениями, которая используется для тестирования.
  • Ubuntu 16.04 c установленным IDS Suricata [10] и сконфигурированным iptables [9].
  • Kali Linux — дистрибутив Linux, который используется для тестирования на проникновения.
  • Перечень уязвимых сервисов в Metasploitable 2 приведены в таблице 1.

Таблица 1

Service

Port

Status

Vsftpd 2..four

21

Open

OpenSSH four.7p1 Debian 8ubuntu 1 (protocol 2.zero)

22

Open

Linux telnetd service

23

Open

Postfix smtpd

25

Open

ISC BIND 9.four.2

53

Open

Apache httpd 2.2.eight Ubuntu DAV/2

80

Open

A RPCbind service

111

Open

Samba smbd .X

139, 445

Open

r companies

512, 513, 514

Open

GNU Classpath grmiregistry

1099

Open

Metasploitable root shell

1524

Open

A NFS service

2048

Open

ProFTPD 1..1

2121

Open

MySQL 5.zero.51a-3ubuntu5

3306

Open

PostgreSQL DB eight..zero — eight..7

5432

Open

VNC protocol v1.

5900

Open

X11 service

6000

Open

Unreal ircd

6667

Open

Apache Jserv protocol 1.

8009

Open

Apache Tomcat/Coyote JSP engine 1.1

8180

Open

На практике, когда проводится сканирование внутренних сетей на межсетевом экране и IPS, создаются правила, исключающие блокировку сканирования. Поэтому Suricata использовалась в режиме детектирования, и были написаны разрешающие правила на межсетевом экране.

Конфигурация iptables[9]:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -I FORWARD -j ACCEPT
iptables -A FORWARD -i ens34 -o ens33 -j ACCEPT
iptables -t nat -A POSTROUTING -o ens33 -s 192.168.234.0/24 -j MASQUERADE
iptables -A FORWARD -i ens33 -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A FORWARD -i ens33 -o ens34 -j REJECT

Nessus Scanner запускался в режиме «Basic Network Scanning». [3]
Rapid 7 Nexpose запускался в режиме «Full audit without Web Spider». [2]
OpenVAS 9 запускался в режиме «default». [1,6]
Nmap запускался двумя командами: [4,5]

  • nmap -sV -T4 -O -F --version-light 192.168.234.130-131
  • nmap -Pn --script vuln 192.168.234.130-131

Результаты тестирования

Nexpose обнаружил 527 уязвимости (см. Диаграмма 1), из них:

167 – получили статус “critical” — уязвимости необходимо закрывать в первую очередь.
349 – получили статус “severe” — уязвимости сложны в эксплуатации, но могут привести к тяжёлым последствиям.
46 – получили статус “moderate” — найденные уязвимости могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки.

Найдены уязвимости не только тестированных систем, но и потенциальные уязвимости в системе виртуализации.

Tenable Nessus обнаружил 168 уязвимостей (см. Диаграмма 2), из них:

3 – получили статус “critical”
9 – получили статус “high”
33 – получили статус “medium”
5 – получили статус “low”
118 получили статус “info”

Уязвимости уровня “critical” и “high” необходимо закрывать в первую очередь.
Уязвимости уровня “medium” — сложны в эксплуатации, но при должной проработке могут нанести ущерб.
Уязвимости уровня “low” и “info” — могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки через другие векторы.

OpenVAS 9 обнаружил 53 уязвимости (см. Диаграмма 3), из них:

16 – получили статус “high”
33 – получили статус “medium”
4 – получили статус “low”

Уязвимости уровня “high” необходимо закрывать в первую очередь.
Уязвимости уровня “medium” — сложны в эксплуатации, но при должной проработке могут нанести ущерб.
Уязвимости уровня “low” могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки через другие векторы.

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

Использование скрипта “vuln” определило следующие типы уязвимостей:

  • открытый telnet
  • http-csrf
  • http-enum
  • http-sql-injection
  • http-vuln-cve2017-1001000
  • rmi-vuln-classloader
  • mysql-vuln-cve2012-2122
  • ssl-ccs-injection
  • ssl-dh-params
  • ssl-poodle
  • irc-botnet-channels
  • http-cookie-flags

Выводы

Для формирования выводов я применил количественный метод оценки по суммарному количеству найденных уязвимостей. В результате выяснилось, что наибольшую глубину сканирования проводит Nexpose. Довольно слабо отработал Nessus, так как в режиме сканирования сети выдал много служебных данных о системах и сервисах, которые только дают информацию для аналитики. С очень слабой стороны показал себя сканнер OpenVAS 9 с последними обновлениями. Отдельного слова требует Nmap – очень хороший инструмент для проведения аналитического тестирования с возможностью расширения с помощью NSE-скриптов.

Во время тестирования IDS Suricata обнаружила все сканнеры.

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

S. P. А для чего это всё делалось?

Кроме того, проведение сканирования внутренней сети регламентировано стандартами управления информационной безопасности в коммерчиских организациях, банковской, энергетической и прочих сферах деятельности. Необходимо было принять на вооружение выбрать сканер для компании Hacken. [8, 11] Сканирование сети необходимо проводить не только для получения сертификации для организации, но и для управления уязвимостями в информационно-телекоммуникационной системе, контроля обновления операционных систем и другие не менее важные задачи по управлению информационной безопасностью.

Источники

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть