... or how you can use secator as your pentesting swiss-knife.
secator is first and foremost a command-line interface (CLI). This page describes how to use it in-depth.
Usage
secator--help# General helpsecatorx# List available taskssecatorw# List available workflowssecators# List available scanssecatoru# List available utilities
Running tasks
You can run any of the supported tasks out-of-the box using the secator x (execute) subcommand:
Find subdomains of a domain using offline sources with subfinder:
secatorxsubfinderwikipedia.org
Find information about an URL with httpx:
secatorxhttpxwikipedia.org
Fuzz URLs with ffuf with max 100 requests / second and matching select HTTP codes:
Use secator w <NAME> --help to list options for a specific workflow.
Running scans
A scan is a set of workflows that run one after the other.
You can run some pre-written scans using the secator s subcommand:
secator s domain example.com
secator s subdomain sub.example.com
secator s network 192.168.1.0/24
secator s url http://testphp.vulnweb.com
Use secator s <NAME> --help to list a options for a specific scan.
Running utils
secator provides a number of utilities that can be useful when doing pentesting.
Proxy
You can get a random proxy:
secatoruproxy# print a random proxysecatoruproxy-n5--timeout1# print 5 proxies with 1s max timeout
Reverse shells
You can spawn reverse shells in any language, and optional netcat listener:
secatorurevshell# list all reverse shellssecatorurevshellbash# show a Bash reverse shellsecatorurevshelljavascript-h<LHOST>-p<LPORT># show a Javascript reverse shell to connect to LHOST / LPORTsecatorurevshelljavascript-h<LHOST>-p<LPORT>-l# ... also spawn a netcat listener
Serve
You can run an HTTP server to serve payloads:
secatoruserve
Recording
You can record pentesting sessions as a GIF:
secatorurecord-i<RECORD_NAME># record an interactive sessionsecatorurecord--scripttest.sh<RECORD_NAME># put your commands in a script and record the execution
Configuring secator
To configure secator, use the following commands:
secatorcget# get current user configsecatorcget--full# get full config (with defaults)secatorcgetwordlists.defaults.http# get default wordlist pathsecatorcsetwordlists.defaults.httprockyou.txt# set default wordlist secatorcedit# edit user config yamlsecatorcdefault# get default config
To see the full available configuration options, get the default configuration using secator c default.
Running a worker [optional]
You can enable enable distributed runs by starting secator workers. All tasks / workflows / scans will be sent to the workers for execution.
You can run a worker using the file system as a broker and result backend: