Используем свой собственный вспомогательный модуль Metasploit

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

 

Несколькими из многих особенностей Metasploit сканирования являются:

Обеспечение доступа ко всем эксплоитам классов и методов.

Предоставление поддержки для прокси, SSL и отчетности.

Встроенные threading и диапазоны сканирования.

Легкая запись и быстрый запуск

 

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

 

Мы будем использовать этот очень простой TCP сканер, который будет подключаться к хосту, на порту по умолчанию 12345, который можно изменить с помощью опции модуля сканера во время запуска. При подключении к серверу, он посылает ‘HELLO SERVER‘ получает ответ и выводит его вместе с IP-адресом удаленного хоста.

Записываем свой сканер
Dante

 

Сохраняем и тестируем наш вспомогательный модуль

 

Сохраняем файл с нашим написанным модулем в каталоге /modules/auxiliary/scanner/ даем название файла simple_tcp.rb и загружаем msfconsole. Здесь стоит отметить две важные вещи. Во-первых модули загружаются во время выполнения, так что наш новый модуль не будет отображаться, если мы не перезапустим наш интерфейс выбора. Второй важной вещью является структура папок, если мы сохраним наш сканер внутри ./modules/auxiliary/scanner/http/ он будет отображаться в списке модулей как scanner/http/simple_tcp.

Смотрим сохраненный модуль
Dante

 

Для тестирования сканера безопасности, настроим netcat для прослушивания порта 12345 и перенаправления в текстовом файле, для того чтобы действовать в качестве ответа сервера.

Настройка netcat как ответа сервера
Dante

 

Дальше выберите новый модуль сканера, установите его параметры и запустите его для того чтобы увидеть результаты.

Выбор и запуск сделанного модуля
Dante

 

Как вы можете заметить, в этом примере, этот уровень универсальности может быть большим подспорьем, когда нам необходим некоторый обычный код внутри теста на проникновение. Мощность Framework и многоразовый код подсвечен здесь.

 

Результат отчетов нашего сканера безопасности

 

Отчет mixin предусматривает report_*(). Эти методы зависят от базы данных которая необходима для работы:

Проверьте соединение с базой данных.

Проверьте дубликаты записи.

Напишите запись в таблице.

 

Теперь драйверы баз данных загружаются автоматически.

Автоматическая загрузка баз данных
Dante

 

Используем mixin Auxiliary::Report в нашем коде сканера.

Использование mixin в сканере
Dante

 

Затем вызовите метод report_note().

Вызов метода report_note
Dante

 

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

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

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