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

  • Автор темы Gidroponika
  • Дата начала
G

Gidroponika

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

Речь пойдет об сканере SPARTA .

От себя скажу , что этот инструмент даже с дефолт настройками находил много чего во время пентестов, в это же время этот инструмент является очень гибким и легко наполняемым каркасом для создания своего универсального сканера на уязвимости!

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

Статья будет разбита на 4 части , что бы не быть очень длинной.



Содержания статьи:

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

92005bc7a3fa039b586a0.png

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



[GeneralSettings]

[BruteForceSettings]

[StagedNmapSettings]

[ToolSettings]

[HostActions]

[PortActions]

[PortTerminalActions]

[ScheduleSettings]

cd6a943fe1d23d8957eae.png

23610fcbd7ab1a9bf1d95.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

9b37f91a76d76056f76c4.png

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



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



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

fd7ff6760afea31dedb3b.png

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



[PortActions] - список действий по конкретному порту сервиса, вывод обработки команды будет в самой программе SPARTA в виде отдельной вкладки.

[PortTerminalActions] - выполнять действие по сервису в отдельном терминале, спартра запускает 3d party иснтрумент в окне стандартного терминала, который мы указали в секции [GeneralSettins]

!ВАЖНО!

Именно в эти секции мы будем дописывать необходимый нам функционал!

Синтаксис написания команды в конфиге мы обсудим в следующей части статьи.

68c65751b7c44eded70ba.png

9b4aa93666fab5fe2861a.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