Skip to content

freelabz/secator

Repository files navigation

The pentester's swiss knife.

Features • Supported commands • Installation • Usage • Documentation • Join us on Discord !

secator is a task and workflow runner used for security assessments. It supports dozens of well-known security tools and it is designed to improve productivity for pentesters and security researchers.

Features

  • Curated list of commands

  • Unified input options

  • Unified output schema

  • CLI and library usage

  • Distributed options with Celery

  • Complexity from simple tasks to complex workflows

  • Customizable

Supported tools

secator integrates the following tools:

Name Description Category
arjun HTTP Parameter Discovery Suite. url/fuzz/params
bbot Multipurpose scanner. vuln/scan
bup 40X bypasser. url/bypass
cariddi Crawl endpoints, secrets, api keys, extensions, tokens... url/crawl
dalfox Powerful open source XSS scanning tool. url/fuzz
dirsearch Advanced web path brute-forcer. url/fuzz
dnsx dnsx is a fast and multi-purpose DNS toolkit designed for running various retryabledns library. dns/fuzz
feroxbuster Simple, fast, recursive content discovery tool written in Rust url/fuzz
ffuf Fast web fuzzer written in Go. url/fuzz
fping Send ICMP echo probes to network hosts, similar to ping, but much better. ip/recon
gau Fetch known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan. pattern/scan
gf Wrapper around grep, to help you grep for things. pattern/scan
gitleaks Tool for detecting secrets like passwords, API keys, and tokens in git repos, files, and stdin. secret/scan
gospider Fast web spider written in Go. url/crawl
grype Vulnerability scanner for container images and filesystems. vuln/scan
h8mail Email information and password lookup tool. user/recon/email
httpx Fast and multi-purpose HTTP toolkit. url/probe
katana Next-generation crawling and spidering framework. url/crawl
maigret Collect a dossier on a person by username. user/recon/username
mapcidr Utility program to perform multiple operations for a given subnet/cidr ranges. ip/recon
msfconsole CLI to access and work with the Metasploit Framework. exploit/attack
naabu Port scanning tool written in Go. port/scan
nmap Network Mapper is a free and open source utility for network discovery and security auditing. port/scan
nuclei Fast and customisable vulnerability scanner based on simple YAML based DSL. vuln/scan
searchsploit Exploit searcher based on ExploitDB. exploit/recon
subfinder Fast passive subdomain enumeration tool. dns/recon
testssl SSL/TLS security scanner, including ciphers, protocols and cryptographic flaws. dns/recon/tls
trivy Comprehensive and versatile security scanner. vuln/scan
wafw00f Web Application Firewall Fingerprinting tool. waf/scan
wpprobe Fast wordpress plugin enumeration tool. vuln/scan/wordpress
wpscan Wordpress security scanner. vuln/scan/wordpress

Feel free to request new tools to be added by opening an issue, but please check that the tool complies with our selection criterias before doing so. If it doesn't but you still want to integrate it into secator, you can plug it in (see the dev guide).

Installation

Installing secator

Pipx
pipx install secator

Note: Make sure to have pipx installed.

Pip
pip install secator
Bash (uses apt)
wget -O - https://raw.githubusercontent.com/freelabz/secator/main/scripts/install.sh | sh
Docker
docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help

The volume mount -v is necessary to save all secator reports to your host machine, and--net=host is recommended to grant full access to the host network.

You can alias this command to run it easier:

alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"

Now you can run secator like if it was installed on baremetal:

secator --help
Docker Compose
git clone https://github.com/freelabz/secator
cd secator
docker-compose up -d
docker-compose exec secator-client secator --help

Note: If you chose the Bash, Docker or Docker Compose installation methods, you can skip the next sections and go straight to Usage.

Installing languages

secator uses external tools, so you might need to install languages used by those tools assuming they are not already installed on your system.

We provide utilities to install required languages if you don't manage them externally:

Go
secator install langs go
Ruby
secator install langs ruby

Installing tools

secator does not install any of the external tools it supports by default.

We provide utilities to install or update each supported tool which should work on all systems supporting apt:

All tools
secator install tools
Specific tools
secator install tools <TOOL_NAME>

For instance, to install httpx, use:

secator install tools httpx

Please make sure you are using the latest available versions for each tool before you run secator or you might run into parsing / formatting issues.

Installing addons

secator comes installed with the minimum amount of dependencies.

There are several addons available for secator:

worker

Add support for Celery workers (see Distributed runs with Celery).

secator install addons worker
gdrive

Add support for Google Drive exporter (-o gdrive).

secator install addons gdrive
gcs

Add support for Google Cloud Storage driver (-driver gcs).

secator install addons gcs
mongodb

Add support for MongoDB driver (-driver mongodb).

secator install addons mongodb
redis

Add support for Redis backend (Celery).

secator install addons redis
dev

Add development tools like coverage and flake8 required for running tests.

secator install addons dev
trace

Add tracing tools like memray and pyinstrument required for tracing functions.

secator install addons trace
build

Add hatch for building and publishing the PyPI package.

secator install addons build

Checking installation health

To figure out which languages or tools are installed on your system (along with their version):

secator health

Usage

secator --help

Usage examples

Run a fuzzing task (ffuf):

secator x ffuf http://testphp.vulnweb.com/FUZZ

Run a url crawl workflow:

secator w url_crawl http://testphp.vulnweb.com

Run a host scan:

secator s host mydomain.com

and more... to list all tasks / workflows / scans that you can use:

secator x --help
secator w --help
secator s --help

Learn more

To go deeper with secator, check out:

Stats

Star History Chart