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

lqood_oy_o45orui_268gyscicw.jpeg


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

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

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

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

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

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

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

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


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

qxrrlx_71cnnuuao8f4iiwb9mlk.png


Рис. 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» — найденные уязвимости могут предоставить атакующему информацию о системе, которую он может применить при проведении атаки.

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

kgwlxangavhbsimtwhymqoo8oyk.png


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

3 — получили статус «critical»
9 — получили статус «high»
33 — получили статус «medium»
5 — получили статус «low»
118 получили статус «info»

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

5vm58yoaq7rncwho0zfkeirlpy8.png


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

16 — получили статус «high»
33 — получили статус «medium»
4 — получили статус «low»

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

lthpr_sziv-f8jl1bmvrwgvviqk.png

Отдельно следует отметить полученные результаты с помощью сканера 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. Но не смотря на это, думаю, статья будет актуальна для специалистов в сфере администрирования систем и технического аудита.

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

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

Источники
  1. habrahabr.ru/post/203766
  2. www.rapid7.com
  3. www.tenable.com/products/nessus/nessus-professional
  4. nmap.org
  5. habrahabr.ru/post/131433
  6. www.openvas.org
  7. metasploit.help.rapid7.com/docs/metasploitable-2-exploitability-guide
  8. blog.securitymetrics.com/2016/03/vulnerability-scanners-101-what-why-and-how.html eax.me/iptables
  9. suricata-ids.org
  10. www.resolver.com/trust/policies/threat-vulnerability-management-standard
  11. osxdaily.com/2014/05/20/port-scanner-mac-network-utility

© Habrahabr.ru