freelabz/secator

GitHub: freelabz/secator

一款基于 Python 的渗透测试任务与工作流编排框架,旨在通过集成数十种主流安全工具并提供统一接口来提升安全评估效率。

Stars: 1247 | Forks: 122

渗透测试人员的瑞士军刀。

功能支持的命令安装用法文档加入我们的 Discord !

`secator` 是一个用于安全评估的任务和工作流运行器。它支持数十种知名的安全工具, 旨在提高渗透测试人员和安全研究人员的工作效率。 # 功能 ![](https://raw.githubusercontent.com/freelabz/secator/main/images/demo.gif) * **精心挑选的命令列表** * **统一的输入选项** * **统一的输出模式 (Schema)** * **支持命令行 (CLI) 和库 (Library) 调用** * **基于 Celery 的分布式选项** * **支持从简单任务到复杂工作流的各级复杂度** * **可定制** ## 支持的工具 `secator` 集成了以下工具: | 名称 | 描述 | 类别 | |-----------------------------------------------------------------|----------------------------------------------------------------------------------|-------------------| | [arjun](https://github.com/s0md3v/Arjun) | HTTP 参数发现套件。 | `url/fuzz/params` | | arp | 显示系统 ARP 缓存。 | `ip/recon` | | [arpscan](https://github.com/royhills/arp-scan) | 使用 ARP 扫描 CIDR 范围内的存活主机。 | `ip/recon` | | [bbot](https://github.com/blacklanternsecurity/bbot) | 多用途扫描器。 | `vuln/scan` | | [bup](https://github.com/laluka/bypass-url-parser) | 40X 绕过工具。 | `url/bypass` | | [cariddi](https://github.com/edoardottt/cariddi) | 爬取端点、 secrets、API 密钥、扩展、令牌... | `url/crawl` | | [dalfox](https://github.com/hahwul/dalfox) | 强大的开源 XSS 扫描工具。 | `url/fuzz` | | [dirsearch](https://github.com/maurosoria/dirsearch) | 高级 Web 路径暴力破解工具。 | `url/fuzz` | | [dnsx](https://github.com/projectdiscovery/dnsx) | dnsx 是一个快速且多用途的 DNS 工具包,旨在运行各种 retryabledns 库。 | `dns/fuzz` | | [feroxbuster](https://github.com/epi052/feroxbuster) | 使用 Rust 编写的简单、快速、递归的内容发现工具 | `url/fuzz` | | [ffuf](https://github.com/ffuf/ffuf) | 使用 Go 编写的快速 Web 模糊测试工具。 | `url/fuzz` | | [fping](https://github.com/schweikert/fping) | 向网络主机发送 ICMP echo 探测,类似于 ping,但更好。 | `ip/recon` | | [gau](https://github.com/lc/gau) | 从 AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, 和 URLScan 获取已知 URL。 | `pattern/scan` | | [getasn](https://github.com/Vulnpire/getasn) | 从 IP 地址获取 ASN 信息。 | `ip/probe` | | [gf](https://github.com/tomnomnom/gf) | grep 的封装器,帮助你 grep 查找内容。 | `pattern/scan` | | [gitleaks](https://github.com/gitleaks/gitleaks) | 用于在 git 仓库、文件和 stdin 中检测密码、API 密钥和令牌等秘密的工具。 | `secret/scan` | | [gospider](https://github.com/jaeles-project/gospider) | 使用 Go 编写的快速 Web 爬虫。 | `url/crawl` | | [grype](https://github.com/anchore/grype) | 针对容器镜像和文件系统的漏洞扫描器。 | `vuln/scan` | | [h8mail](https://github.com/khast3x/h8mail) | 邮件信息和密码查询工具。 | `user/recon/email` | | [httpx](https://github.com/projectdiscovery/httpx) | 快速且多用途的 HTTP 工具包。 | `url/probe` | | [jswhois](https://github.com/jschauma/jswhois) | JSON 格式的 WHOIS | `domain/info` | | [katana](https://github.com/projectdiscovery/katana) | 下一代爬取和抓取框架。 | `url/crawl` | | [maigret](https://github.com/soxoj/maigret) | 通过用户名收集用户档案。 | `user/recon/username` | | [mapcidr](https://github.com/projectdiscovery/mapcidr) | 对给定子网/CIDR 范围执行多种操作的实用程序。 | `ip/recon` | | [msfconsole](https://docs.rapid7.com/metasploit/msf-overview/) | 访问和使用 Metasploit Framework 的 CLI。 | `exploit/attack` | | [naabu](https://github.com/projectdiscovery/naabu) | 使用 Go 编写的端口扫描工具。 | `port/scan` | | [nmap](https://github.com/nmap/nmap) | Network Mapper 是一个免费且开源的网络发现和安全审计实用程序。 | `port/scan` | | [nuclei](https://github.com/projectdiscovery/nuclei) | 基于简单 YAML DSL 的快速且可定制的漏洞扫描器。 | `vuln/scan` | | [search_vulns](https://github.com/ra1nb0rn/search_vulns) | 按产品名称或 CPE 搜索软件中的已知漏洞。 | `vuln/recon` | | [searchsploit](https://gitlab.com/exploit-database/exploitdb) | 基于 ExploitDB 的漏洞利用搜索器。 | `exploit/recon` | | [sshaudit](https://github.com/jtesta/ssh-audit) | SSH 服务器和客户端安全审计(banner、密钥交换、加密、mac、压缩等)。 | `ssh/audit/security` | | [subfinder](https://github.com/projectdiscovery/subfinder) | 快速的被动子域名枚举工具。 | `dns/recon` | | [testssl](https://github.com/testssl/testssl.sh) | SSL/TLS 安全扫描器,包括密码、协议和加密缺陷。 | `dns/recon/tls` | | [trivy](https://github.com/aquasecurity/trivy) | 全面且通用的安全扫描器。 | `vuln/scan` | | [trufflehog](https://github.com/trufflesecurity/trufflehog) | 使用 TruffleHog 在 git 仓库和文件系统中查找 secrets 的工具。 | `secret/scan` | | [urlfinder](https://github.com/projectdiscovery/urlfinder) | 在文本中查找 URL。 | `pattern/scan` | | [wafw00f](https://github.com/EnableSecurity/wafw00f) | Web 应用防火墙指纹识别工具。 | `waf/scan` | | [whois](https://github.com/mboot-github/WhoisDomain) | whois 工具检索有关域名和 IP 地址的注册信息。 | | | [wpprobe](https://github.com/Chocapikk/wpprobe) | 快速 WordPress 插件枚举工具。 | `vuln/scan/wordpress` | | [wpscan](https://github.com/wpscanteam/wpscan) | WordPress 安全扫描器。 | `vuln/scan/wordpress` | | [x8](https://github.com/Sh1Yo/x8) | 使用 Rust 编写的隐藏参数发现套件。 | `url/fuzz/params` | | [xurlfind3r](https://github.com/hueristiq/xurlfind3r) | 以简单、被动和高效的方式发现给定域名的 URL | `url/recon` | 欢迎通过提交 issue 来请求添加新工具,但在这样做之前请 检查该工具是否符合我们的选择标准。如果不符合,但你仍想将其集成到 `secator` 中,你可以将其插入(参见 [开发指南](https://docs.freelabz.com/for-developers/writing-custom-tasks))。 ## 安装 secator
Bash ``` bash -c "$(curl -fsSL https://raw.githubusercontent.com/freelabz/secator/main/scripts/install_universal.sh)" ```
Pipx ``` pipx install secator ``` ***注意:** 请确保已安装 [pipx](https://pipx.pypa.io/stable/installation/).*
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 安装方法,则可以跳过接下来的章节,直接转到 [用法](#usage)。 ## 用法 ``` secator --help ``` ![](https://raw.githubusercontent.com/freelabz/secator/main/images/help.png) ### 用法示例 要获取关于 `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 ``` ### Shell 补全 `secator` 支持 bash、zsh 和 fish 的 shell 补全。这为以下内容提供自动补全: - 任务名称(例如 `nmap`, `httpx`, `nuclei`) - 工作流名称(例如 `url_crawl`, `subdomain_recon`) - 扫描名称(例如 `host`, `domain`, `network`) - CLI 选项,如 `--profiles`, `--workspace`, `--driver`, `--output` 安装 shell 补全: **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 task n # completes to nmap, naabu, nuclei, etc. secator w url_ # completes to url_crawl, url_fuzz, url_dirsearch, etc. secator x nmap --profiles ag # completes to aggressive ``` ## 安装工具 `secator` 会在你首次使用工具时自动安装它们。 你可以通过使用 `secator config set security.autoinstall_commands false` 或 `SECATOR_SECURITY_AUTOINSTALL_COMMANDS=0` 将 `security.autoinstall_commands` 设置为 `false` 来阻止此行为。 要安装所有工具,你仍然可以运行: ``` secator install tools ``` ## 安装插件 `secator` 提供了可用的插件,请查看 [我们的文档](https://docs.freelabz.com/getting-started/installation#installing-addons-optional) 了解详情。 例如,使用 `mongodb` 插件可以将运行器结果发送到 MongoDB。 ## 了解更多 要深入了解 `secator`,请查看: * 我们完整的 [文档](https://docs.freelabz.com) * 我们的入门 [教程视频](https://youtu.be/-JmUTNWQDTQ?si=qpAClDWMXo2zwUK7) * 我们的 [Medium 文章](https://medium.com/p/09333f3d3682) * 在社交媒体上关注我们:Twitter 上的 [@freelabz](https://twitter.com/freelabz) 和 YouTube 上的 [@FreeLabz](https://youtube.com/@FreeLabz) ## 统计数据 Star History Chart
标签:Celery, CISA项目, DevSecOps, IOC 共享, LIDS, Python, 上游代理, 任务运行器, 分布式扫描, 反取证, 安全工具集成, 安全测试, 安全评估, 实时处理, 密码管理, 工作流引擎, 插件系统, 攻击性安全, 攻击路径可视化, 数据展示, 文档结构分析, 无后门, 红队, 网络安全, 网络安全审计, 请求拦截, 逆向工具, 隐私保护, 黑客工具