Взаимодействие сканеров уязвимостей с Metasploit. Часть 2

Требуемое программное обеспечение: Kali Linux.
Необходимые знания: опыт работы с консолью Linux-систем (в частности, дистрибутивом Kali Linux) и консолью Метасплойта.

В первой части мы познакомились с модулями для обнаружения уязвимостей при аутентификации (SMB Login Check, VNC Authentication None Detection) и плагином для поиска уязвимостей в веб-приложениях (WMAP). Во второй части займемся установкой сканера уязвимостей Nessus на 32-битную версию системы Kali Linux для последующего его взаимодействия с Метасплойтом (установка на 64-битную версию происходит аналогичным образом).

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

Установка Nessus Home

Nessus — один из самых популярных сканеров уязвимостей, разработанный компанией Tenable Network Security. До 2005 года это было свободное программное обеспечение с открытым исходным кодом, а в 2008 году вышла платная версия продукта. Также существует и бесплатная «домашняя» версия, ограничивается использованием в домашней сети. Её мы и будем использовать в наших целях.
image

Итак, приступим к установке.
Для начала скачаем с сайта производителя последнюю версию программы для системы Debian (на момент написания статьи актуальным был Nessus v5.2.5).
image

Запустим установку программы
dpkg -i Nessus-5.2.5-debian6_i386.deb
после чего активируем службу Nessus
/etc/init.d/nessusd start

Управление сканером осуществляется через веб-интерфейс. Чтобы туда попасть, введите в адресной строке браузера https://127.0.0.1:8834. Здесь потребуется создать аккаунт администратора, указав логин и пароль.

На следующем шаге необходимо ввести код активации, который придет на вашу электронную почту, указанную на сайте производителя при регистрации.
Завершающей стадией установки является загрузка плагинов.
image

Для сохранения результатов сканирования в базе данных Метасплойта, необходимо к ней подключиться
db_connect <user:pass>@<host:port>/
image

Вся необходимая для подключения информация содержится в файле properties.ini
cat /opt/metasploit/properties.ini
image

, где
user = rapid7_database_user
pass = rapid7_database_password
host = 127.0.0.1 (в случае, если серверная часть Nessus установлена в вашей системе)
port = postgres_port
database = rapid7_database_name

Теперь нам нужно подгрузить плагин nessus
load nessus
image

и подключиться к серверу Nessus
nessus_connect username:password@hostname:port
image

, где
username – логин администратора Nessus
password - пароль администратора Nessus

К сожалению, управление через консоль Метасплойта не позволяет воспользоваться всеми возможностями Nessus. Так, например, для создания задачи сканирования необходимо наличие политики сканирования (параметров для проведения определенного типа сканирования), которую можно создать только через веб-интерфейс Нессуса. В связи с этим будет рассмотрена как работа с консолью, так и работа с веб-интерфейсом.

Создадим две часто используемые политики: Web Application Tests Policy – политика сканирования веб-приложений на наличие уязвимостей, Basic Network Scan Policy – сканирование внешних или внутренних хостов на наличие уязвимостей.
image

Web Application Tests Policy


127.0.0.1:8834 > Policy > New Policy > Web Application Tests Policy

На первом шаге зададим политике имя и доступность просмотра результатов
image

На втором шаге укажем тип сканирования (поверхностный или глубокий) и стартовую страницу.
image

На третьем шаге нужно будет выбрать метод аутентификации
image

Теперь создадим задачу для сканирования цели
127.0.0.1:8834 > Scans > New Scan

Здесь нам потребуется присвоить имя нашей задаче, выбрать тип политики, задать цели для сканирования и указать периодичность запуска (по умолчанию сканирование начнется сразу после создания задачи).
image

По завершению сканирования щелкните дважды на задачу и экспортируйте результаты в формате Nessusimage

Завершающим этапом является импорт сохраненных результатов сканирования в базу данных Metasploit
db_import ‘/root/Desktop/nessus_report_PentestIT_Web.nessus’
image

Basic Network Scan Policy


В этом примере разберем процесс управления через msfconsole
Как уже отмечалось, политику можно создать только через веб-интерфейс
127.0.0.1:8834 > Policy > New Policy > Basic Network Scan Policy

Что делать на первом шаге, вам уже известно
image

На втором шаге, если сканируете внутреннюю сеть организации, указываете “Internal”, внешнюю – ‘External’
image

На третьем шаге я оставил всё без изменений
image

С созданием политики закончили. Теперь вернемся в msfconsole, и с помощью команды nessus_policy_list узнаем id нашей политики на сервере Nessus, а затем создадим задачу для сканирования
nessus_scan_new 2 PentestIT 192.168.42.129
image

Интересует статус сканирования? Пожалуйста
nessus_scan_status
image

Для того чтобы просмотреть отчет о выявленных уязвимостях или импортировать его с сервера Nessus, нам понадобится id
nessus_report_list
image

По итогам проверки будет составлен список выявленных уязвимостей, ознакомиться с которым можно по команде nessus_report_vulns
image

И, наконец, производим сам импорт
nessus_report_get 5fa88341-2e45-db07-3166-c935625126a26fe5c28b4ae7d9cb
image

Как вы видите, в данном случае работать с msfconsole не совсем удобно из-за ряда ограничений, поэтому для работы с Nessus рекомендую использовать веб-интерфейс с последующим импортом результатов в Metasploit.

Продолжение следует...

Ипользуемая литература:
Metasploit Unleashed. Nessus Via Msfconsole
Документация по работе с Nessus
Metasploit Penetration Testing Cookbook

information security

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

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