Faraday Agent Dispatcher запускает любые инструменты безопасности и отправляет результаты на платформу Faradaysec.
Faraday Agents Dispatcher помогает пользователям разрабатывать интеграции с Faraday, написанные на любом языке.
Просто выполните pip3 install faraday_agent_dispatcher, и вы должны увидеть команду faraday-dispatcher в вашей системе.
Чтобы настроить среду разработки (то есть для изменения кода самого диспетчера, а не для написания собственных интеграций), клонируйте этот репозиторий и выполните pip install -e ..
Сгенерируйте файл конфигурации, выполнив faraday-dispatcher config-wizard.
Запустите агент командой faraday-dispatcher run. Созданный файл конфигурации будет находиться в ~/.faraday/config/dispatcher.ini, если вы не укажете собственный путь.
Вы должны завершить настройку агента, указав регистрационный токен, который находится по адресу . Убедитесь, что раздел server содержит правильную информацию о вашем экземпляре Faraday Server. Затем заполните раздел agent, указав желаемое имя вашего агента. Наконец, .
Исполнитель — это скрипт, который выводит однострочные JSON-данные в stdout. Помните, что если вы выведете любые другие данные в stdout, диспетчер вызовет ошибку. Если вы хотите выводить отладочную или журнальную информацию, используйте для этого stderr.
Каждая строка, записанная исполнителем в stdout, будет декодирована диспетчером и отправлена в Faraday через конечную точку Bulk Create. Следовательно, JSON, который вы выводите, должен соответствовать схеме, требуемой этой конечной точкой (эта схема подробно описана ниже). В противном случае диспетчер сообщит об ошибке, поскольку вы передали ему недопустимые данные.
Если вы хотите отладить свой исполнитель, проще всего запустить его напрямую, а не через диспетчер. Поскольку исполнитель просто выводит JSON-данные в stdout, вы сможете увидеть всю информацию, которую он хочет отправить в Faraday, но без фактической отправки.
После создания исполнителя вы должны добавить его с помощью faraday-dispatcher config-wizard в раздел executor, указав его имя, команду для выполнения и максимальный размер JSON для отправки на Faraday Server. Кроме того, вы можете настроить переменные окружения и аргументы в соответствующих разделах.
Для запуска исполнителя используйте команду faraday-dispatcher config-wizard и запустите его с Faraday Server. Исполнитель будет использовать установленные переменные окружения и запросит аргументы.
Данные, публикуемые в faraday, должны соответствовать конечной точке bulk_create REST API Faraday.
Если вы хотите иметь более одного диспетчера, каждый из которых запускает свои собственные исполнители, предпочтительным способом является создание отдельных файлов конфигурации для каждого (например, ~/.faraday/config/dispatcher-1.ini и ~/.faraday/config/dispatcher-2.ini). Затем вы можете запустить два разных экземпляра диспетчера с помощью faraday-dispatcher --config-file PATH_TO_A_CONFIG_FILE.
В каталоге executors вы можете найти уже созданные исполнители.
Официальные исполнители — это набор готовых к использованию исполнителей (с минимальной настройкой через мастер). У них есть файл манифеста JSON, который содержит сведения о назначении исполнителя и помогает в их настройке.
Текущие официальные исполнители:
Разрабатываемые исполнители — это набор исполнителей, которые мы не полностью поддерживаем; здесь находятся примеры использования, концептуальные и разрабатываемые исполнители. Наиболее важные из них:
basic_example.py: "Hello World" исполнителей Faraday. Он создаст хост с ассоциированной уязвимостью.heroku_discovery_agent.py: Загружает информацию о хостах и сервисах из вашей учетной записи Heroku.prowlerSample.py: Выполняет команду prowler и отправляет ее вывод в Faraday.brainfuck.sh: Доказательство концепции, демонстрирующее, что вы можете создать исполнитель на любом языке программирования, включая Brainfuck!В настоящее время мы работаем над новыми исполнителями, а также улучшаем опыт использования агентов.
Мы хотели бы предоставить некоторым агентам доступ на чтение к их рабочему пространству, чтобы они могли использовать существующие данные для поиска более ценной информации.
Для получения дополнительной информации вы можете ознакомиться с нашей документацией