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

Курируемый список команд
Унифицированные параметры ввода
Унифицированная схема вывода
Использование через CLI и в виде библиотеки
Распределённые возможности с Celery
Сложность: от простых задач до комплексных рабочих процессов
Настраиваемость
secator интегрирует следующие инструменты:
Не стесняйтесь запрашивать добавление новых инструментов, открыв issue, но перед этим проверьте, соответствует ли инструмент нашим критериям отбора. Если нет, но вы всё равно хотите интегрировать его в secator, вы можете подключить его самостоятельно (см. руководство разработчика).
bash -c "$(curl -fsSL https://raw.githubusercontent.com/freelabz/secator/main/scripts/install_universal.sh)"
Примечание: Поддерживает опциональные флаги --version, --templates, --addons и --tools — запустите скрипт с --help для подробностей.
pip install secator
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
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> выглядит как фильтр (содержит ==, <, ~=, &&, …), он передаётся напрямую.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-чата используются только рабочее пространство и запрос.
secator поддерживает автодополнение в shell для bash, zsh и fish. Оно предоставляет автодополнение для:
nmap, httpx, nuclei)url_crawl, subdomain_recon)host, domain, network)--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
Для secator доступны дополнения. Подробности смотрите в нашей документации.
Например, дополнение mongodb позволяет отправлять результаты runner'ов в MongoDB.
Чтобы глубже изучить 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 |