
secator v0.42.0
secator - швейцарский нож пентестера
Швейцарский нож пентестера.
Возможности • Поддерживаемые команды • Установка • Использование • Документация • Присоединяйтесь к нам в Discord!
secator — это исполнитель задач и рабочих процессов, используемый для оценки безопасности. Он поддерживает десятки известных инструментов безопасности и предназначен для повышения продуктивности пентестеров и исследователей безопасности.
Возможности

-
Курируемый список команд
-
Унифицированные параметры ввода
-
Унифицированная схема вывода
-
Использование через CLI и в виде библиотеки
-
Распределённые возможности с Celery
-
Сложность: от простых задач до комплексных рабочих процессов
-
Настраиваемость
Поддерживаемые инструменты
secator интегрирует следующие инструменты:
| Имя | Описание | Категория |
|---|---|---|
| arjun | Набор для поиска HTTP-параметров. | url/fuzz/params |
| arp | Отобразить системный ARP-кэш. | ip/recon |
| arpscan | Сканирование CIDR-диапазона на живые хосты с помощью ARP. | ip/recon |
| bbot | Многоцелевой сканер. | vuln/scan |
| bup | Обходчик 40X. | url/bypass |
| cariddi | Сканер конечных точек, секретов, ключей API, расширений, токенов... | url/crawl |
| dalfox | Мощный инструмент с открытым исходным кодом для сканирования XSS. | url/fuzz |
| dirsearch | Продвинутый брутфорсер веб-путей. | url/fuzz |
| dnsx | dnsx — быстрый и многоцелевой DNS-инструментарий, разработанный для работы с библиотекой retryabledns. | dns/fuzz |
| feroxbuster | Простой, быстрый, рекурсивный инструмент для поиска контента, написанный на Rust | url/fuzz |
| ffuf | Быстрый веб-фаззер, написанный на Go. | url/fuzz |
| fping | Отправка ICMP-эхо-запросов сетевым хостам, похоже на ping, но гораздо лучше. | ip/recon |
| gau | Получение известных URL из AlienVault Open Threat Exchange, Wayback Machine, Common Crawl и URLScan. | pattern/scan |
| getasn | Получение информации об ASN по IP-адресу. | ip/probe |
| gf | Обёртка над grep для упрощения поиска определённых вещей. | pattern/scan |
| gitleaks | Инструмент для обнаружения секретов (паролей, ключей API, токенов) в git-репозиториях, файлах и stdin. | secret/scan |
| gospider | Быстрый веб-паук, написанный на Go. | url/crawl |
| grype | Сканер уязвимостей для контейнерных образов и файловых систем. | vuln/scan |
| h8mail | Инструмент для поиска информации об email и паролях. | user/recon/email |
| httpx | Быстрый и многоцелевой HTTP-инструментарий. | url/probe |
| jswhois | WHOIS в формате JSON | domain/info |
| katana | Следующее поколение фреймворков для сканирования и обхода сайтов. | url/crawl |
| maigret | Сбор досье на человека по имени пользователя. | user/recon/username |
| mapcidr | Утилита для выполнения нескольких операций над заданными подсетями/CIDR-диапазонами. | ip/recon |
| msfconsole | CLI для доступа и работы с Metasploit Framework. | exploit/attack |
| naabu | Инструмент сканирования портов, написанный на Go. | port/scan |
| nmap | Network Mapper — бесплатная утилита с открытым исходным кодом для обнаружения сети и аудита безопасности. | port/scan |
| nuclei | Быстрый и настраиваемый сканер уязвимостей на основе простого YAML-DSL. | vuln/scan |
| search_vulns | Поиск известных уязвимостей в программном обеспечении по имени продукта или CPE. | vuln/recon |
| searchsploit | Поиск эксплойтов на основе ExploitDB. | exploit/recon |
| sshaudit | Аудит безопасности SSH-сервера и клиента (баннер, обмен ключами, шифрование, MAC, сжатие и т.д.). | ssh/audit/security |
| subfinder | Быстрый инструмент для пассивного перечисления поддоменов. | dns/recon |
| testssl | Сканер безопасности SSL/TLS, включая шифры, протоколы и криптографические недостатки. | dns/recon/tls |
| trivy | Комплексный и универсальный сканер безопасности. | vuln/scan |
| trufflehog | Инструмент для поиска секретов в git-репозиториях и файловых системах с использованием TruffleHog. | secret/scan |
| urlfinder | Поиск URL в тексте. | pattern/scan |
| wafw00f | Инструмент для определения Web Application Firewall. | waf/scan |
| whois | Инструмент whois получает регистрационную информацию о доменных именах и IP-адресах. | |
| wpprobe | Быстрый инструмент для перечисления плагинов WordPress. | vuln/scan/wordpress |
| wpscan | Сканер безопасности WordPress. | vuln/scan/wordpress |
| x8 | Набор для поиска скрытых параметров, написанный на Rust. | url/fuzz/params |
| xurlfind3r | Обнаружение URL для заданного домена простым, пассивным и эффективным способом. | url/recon |
Не стесняйтесь запрашивать добавление новых инструментов, открыв issue, но перед этим проверьте, соответствует ли инструмент нашим критериям отбора. Если нет, но вы всё равно хотите интегрировать его в secator, вы можете подключить его самостоятельно (см. руководство разработчика).
Установка secator
Bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/freelabz/secator/main/scripts/install_universal.sh)"
Примечание: Поддерживает опциональные флаги --version, --templates, --addons и --tools — запустите скрипт с --help для подробностей.
Pip
pip install secator
Docker
docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help
Монтирование тома -v необходимо для сохранения всех отчётов secator на вашем хосте, а --net=host рекомендуется для предоставления полного доступа к сети хоста.
Вы можете создать алиас для этой команды, чтобы упростить запуск:
alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"
Теперь вы можете запускать secator так, как если бы он был установлен напрямую:
secator --help
Docker Compose
git clone https://github.com/freelabz/secator
cd secator
docker-compose up -d
docker-compose exec secator-client secator --help
Примечание: Если вы выбрали установку через Docker или Docker Compose, можете пропустить следующие разделы и перейти сразу к Использованию.
Использование
secator --help
Примеры использования
Чтобы получить полную шпаргалку по возможностям secator, прочитайте вывод:
secator cheatsheet
Запуск задачи фаззинга (ffuf):
secator x ffuf http://testphp.vulnweb.com/FUZZ
Запуск рабочего процесса обхода URL:
secator w url_crawl http://testphp.vulnweb.com
Запуск сканирования хоста:
secator s host mydomain.com
Чтобы вывести список всех доступных задач / рабочих процессов / сканирований:
secator x --help
secator w --help
secator s --help
Чтобы узнать, какие языки или инструменты установлены в вашей системе (вместе с их версиями):
secator health
Запросы
secator позволяет запрашивать все предыдущие отчёты с помощью команды secator query (или secator q) и повторно использовать запросы.
secator q <arg> разрешает свой аргумент в три этапа:
- Имя сохранённого запроса — если
<arg>совпадает с сохранённым запросом, используется его выражение. - Выражение фильтра — если
<arg>выглядит как фильтр (содержит==,<,~=,&&, …), он передаётся напрямую. - Естественный язык — в противном случае он отправляется в AI-чат (
secator x ai --mode chat).
# Выполнение выражений напрямую
secator q "vulnerability.tags ~= 'kev' && vulnerability.confidence == 'high'" # уязвимости KEV + высокая уверенность
secator q "vulnerability.severity == 'critical' && vulnerability.tags ~= 'exploitable' && vulnerability.confidence == 'high'" # уязвимости critical + exploitable + высокая уверенность
secator q "vulnerability.severity_nb < 2 && vulnerability.confidence == 'high'" # уязвимости severity > high + высокая уверенность
secator q "exploit.cves ~= 'CVE-2021-44521'" # найденные эксплойты для уязвимости CVE-2021-44521
secator q "port" -f "{host} {port} {service_name}" | cut -d " " -f2 | sort | uniq -c | sort -nr | head -n 15 # топ-15 портов
secator q "port" -f "{host} {port} {service_name}" | cut -d " " -f3,4,5,6 | awk 'NF > 0' | sort | uniq -c | sort -nr | head -n 15 # топ-15 сервисов
secator q "technology" -f "{product}/{version}" | sort | uniq -c | sort -nr | head -n 15 # топ-15 технологий
secator q "port.state == 'open'" -rf scans/23,tasks/10 # только результаты из сканирования 23 и задачи 10
# Сохранение запроса и его выполнение
secator c set queries.critical_vulns "vulnerability.severity_nb < 2" # сохранить запрос
secator c get queries # список сохранённых запросов
secator q critical_vulns -f "{vulnerability.matched_at}" -ws secator.cloud # выполнить сохранённый запрос в рабочем пространстве + извлечь цели
# Задать вопрос на естественном языке (запускает задачу AI-чата)
secator q "Analyze my workspace data"
secator q принимает те же опции, что и secator r show (-o/--output,
-d/--time-delta, -f/--format, -w/-ws/--workspace, --driver, --dedupe),
плюс -rf/--report-filter для ограничения запроса конкретными путями runner'ов (аналог аргумента REPORT_QUERY для r show). В режиме AI-чата используются только рабочее пространство и запрос.
Автодополнение в shell
secator поддерживает автодополнение в shell для bash, zsh и fish. Оно предоставляет автодополнение для:
- Имён задач (например,
nmap,httpx,nuclei) - Имён рабочих процессов (например,
url_crawl,subdomain_recon) - Имён сканирований (например,
host,domain,network) - Опций CLI, таких как
--profiles,--workspace,--driver,--output
Для установки автодополнения:
Bash:
secator util completion --shell bash --install
source ~/.bashrc
Zsh:
secator util completion --shell zsh --install
source ~/.zshrc
Fish:
secator util completion --shell fish --install
После установки вы можете использовать автодополнение по Tab:
secator x n<TAB> # дополняет до nmap, naabu, nuclei и т.д.
secator w url_<TAB> # дополняет до url_crawl, url_fuzz, url_dirsearch и т.д.
secator x nmap --profiles ag<TAB> # дополняет до aggressive
Установка инструментов
secator автоматически устанавливает инструменты при первом использовании.
Вы можете отключить это поведение, установив security.autoinstall_commands в false с помощью secator config set security.autoinstall_commands false или SECATOR_SECURITY_AUTOINSTALL_COMMANDS=0.
Чтобы установить все инструменты, выполните:
secator install tools
Установка дополнений (addons)
Для secator доступны дополнения. Подробности смотрите в нашей документации.
Например, дополнение mongodb позволяет отправлять результаты runner'ов в MongoDB.
Узнать больше
Чтобы глубже изучить secator, посмотрите:
- Нашу полную документацию
- Наше вводное видеоурок
- Нашу статью на Medium
- Следите за нами в социальных сетях: @freelabz в Twitter и @FreeLabz на YouTube