Статья [ЭТО СПАРТА!] - Пробиваем безопасность во время скана [часть 1]

Всем доброго времени суток коллеги , сегодня мы поговорим о кастомной настройке , по моему мнению, замечательном инструменте предназначенного для сбора информации о целевой системе и первичной оценки на защищенность.
Речь пойдет об сканере SPARTA . О нем уже писалось на нашем форуме, по этому с базовым функционал вы можете ознакомится в этой статье . (спасибо @qvin)
От себя скажу , что этот инструмент даже с дефолт настройками находил много чего во время пентестов, в это же время этот инструмент является очень гибким и легко наполняемым каркасом для создания своего универсального сканера на уязвимости!
Теперь давайте посмотрим на него с точки зрения пентестера, которому бы хотелось добавить какие то автоматизированные действия на этапе сканирования, например исходя из своего личного опыта проведения тестов на проникновения.
Статья будет разбита на 4 части , что бы не быть очень длинной.

Содержания статьи:
И так если мы поближе посмотрим на сам файл который запускает СПАРТу , то мы увидим что это обычный баш скрипт который заходит в папку /usr/share/sparta и запускает питоновский скрипт sparta.py. В этой же папке мы можем прекрасно заметить ряд интересных файлов , которых мы можем изменять так как мы захотим. Первым что мы видим , это то , что sparta.conf это символьная ссылка на /etc/sparta.conf. И так давайте разберем секции в этом конфиге что бы понимать что и где мы хотим добавить.

SpartaAdvanced_1.png


Сам конфиг состоит из последующих секций:

[GeneralSettings]
[BruteForceSettings]
[StagedNmapSettings]
[ToolSettings]
[HostActions]
[PortActions]
[PortTerminalActions]

[ScheduleSettings]
sparta.conf_1.png

sparta.conf_2.png
Исходя из названий вроде бы как все должно быть понятно, но все таки давайте я проясню некоторые моменты:
[GeneralSetting] - Общии настройки в них стоит обратить внимания на параметры :
default-terminal=xfce4-terminal (указываем команду для запуска терминала Linux)
web-services="http,https,ssl,soap,http-proxy,http-alt,https-alt" (Список веб сервисов , которые нужны для распознавания и дальнейшей обработки утилитами такими как Nikto)
enable-scheduler=True (Важный параметр!, включает автоматическое выполнение действий из секции [ScheduleSettings], то есть при обнаружении открытого порта - выполнять действия прописанные в секции планировщика [ScheduleSettings], например если находит 80 порт открытым , то автоматически запускать сканер веб уязвимостей Nikto)
enable-scheduler-on-import=False (Отключить автоматический сканер при импорте файла с результатами сканирования, например scan.sprt)
max-fast-processes=10 (Здесь мы настраиваем многопоточность , к-тво одновременных задач)

[BruteSettins] - думаю тут понятно все, здесь прописаны настройки дефолтных путей к словарям, дефолтные имена и пароли для брута и т.д.
Единственно что можно добавить , что параметр
services="" это список сервисов , которые поддаются бруту, в дефолтном конфиге приведен список всех сервисок которые может брутить программой Hydra,
так как брут сервисов реализован через эту программу. Список всех сервисов и номера портов к ним можно найти в файле /etc/services
services.png

[StagedNmapSettins] - Здесь мы можем прописать список портов для фаз сканирования портов нмапом.

[ToolSettings] - все просто, прописаны полные пути для запуска утилит , которые используются в ходе сканирования.

[HostActions] - Список действий которых , мы можем выполнить с хостом
HostActions.png

Следующие две секции самые интересные как по мне, отличаются они не сильно , но все таки отличаются:

[PortActions] - список действий по конкретному порту сервиса, вывод обработки команды будет в самой программе SPARTA в виде отдельной вкладки.
[PortTerminalActions]
- выполнять действие по сервису в отдельном терминале, спартра запускает 3d party иснтрумент в окне стандартного терминала, который мы указали в секции [GeneralSettins]
!ВАЖНО!
Именно в эти секции мы будем дописывать необходимый нам функционал!
Синтаксис написания команды в конфиге мы обсудим в следующей части статьи.

demo_features.png

demo2.png
[ScheduleSettings] - так же довольно важная секция конфига, она определяет список действий прописанных в PortActions которые будут автоматически запускаться при обнаружении конкретного сервиса, например строчка:
nikto="http,https,ssl,soap,http-proxy,http-alt,https-alt", tcp
Означает что в случае tcp обнаружения открытого одного из сервиса http,https,ssl,soap,http-proxy,http-alt,https-alt запускать действия nikto , которое в PortActions означает что команда на каждое такое обнаружение будет выполнаться следующая:
nikto -o \"[OUTPUT].txt\" -p [PORT] -h [IP] (Как вы смогли догадаться строки в скобках, это переменные самой программы SPARTA)
Важно!

Стоит помнить что секция планировщика будет выполняться только в том случае , если в [GeneralSettings] секции будет стоять
enable-scheduler=True
 
Последнее редактирование:

valerian38

Grey Team
20.07.2016
662
764
BIT
78
<~DarkNode~> Отличная статья! Как всегда с чувством, с толком, с расстановкой. Статья чётко структурирована и написана доступным для аудитории языком, читается на одном дыхании. Думаю это эталон для написания статей.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!