
secator - il coltellino svizzero del pentester
Funzionalità • Comandi supportati • Installazione • Utilizzo • Documentazione • Unisciti a noi su Discord!
secator è un esecutore di attività e flussi di lavoro utilizzato per valutazioni di sicurezza. Supporta decine di strumenti di sicurezza noti ed è progettato per migliorare la produttività di pentester e ricercatori di sicurezza.

Elenco curato di comandi
Opzioni di input unificate
Schema di output unificato
Utilizzo da CLI e come libreria
Opzioni distribuite con Celery
Complessità da semplici attività a flussi di lavoro complessi
Personalizzabile
secator integra i seguenti strumenti:
Sentiti libero di richiedere nuovi strumenti da aggiungere aprendo un issue, ma controlla prima che lo strumento sia conforme ai nostri criteri di selezione. Se non lo è ma desideri comunque integrarlo in secator, puoi collegarlo (vedi la guida per sviluppatori).
bash -c "$(curl -fsSL https://raw.githubusercontent.com/freelabz/secator/main/scripts/install_universal.sh)"
Nota: Supporta flag opzionali --version, --templates, --addons e --tools — esegui lo script con --help per i dettagli.
pip install secator
docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help
Il mount del volume -v è necessario per salvare tutti i report di secator sulla tua macchina host, e --net=host è raccomandato per concedere accesso completo alla rete host.
Puoi creare un alias per questo comando per eseguirlo più facilmente:
alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"
Ora puoi eseguire secator come se fosse installato direttamente:
secator --help
git clone https://github.com/freelabz/secator
cd secator
docker-compose up -d
docker-compose exec secator-client secator --help
Nota: Se hai scelto i metodi di installazione Docker o Docker Compose, puoi saltare le prossime sezioni e andare direttamente a Utilizzo.
secator --help
Per ottenere un cheat sheet completo di cosa puoi fare con secator, leggi l'output di:
secator cheatsheet
Esegui un'attività di fuzzing (ffuf):
secator x ffuf http://testphp.vulnweb.com/FUZZ
Esegui un flusso di lavoro di crawling URL:
secator w url_crawl http://testphp.vulnweb.com
Esegui una scansione host:
secator s host mydomain.com
Per elencare tutte le attività / flussi di lavoro / scansioni che puoi utilizzare:
secator x --help
secator w --help
secator s --help
Per scoprire quali linguaggi o strumenti sono installati sul tuo sistema (insieme alla loro versione):
secator health
secator ti consente di interrogare tutti i report precedenti con il comando secator query (o secator q) e di riutilizzare le query.
secator q <arg> risolve il suo argomento in tre passaggi:
<arg> corrisponde a una query salvata, viene utilizzata la sua espressione.<arg> assomiglia a un filtro (contiene ==, <, ~=, &&, …), viene passato direttamente.secator x ai --mode chat).# Esegui espressioni direttamente
secator q "vulnerability.tags ~= 'kev' && vulnerability.confidence == 'high'" # vuln KEV (Vulnerabilità note e sfruttate) + alta confidenza
secator q "vulnerability.severity == 'critical' && vulnerability.tags ~= 'exploitable' && vulnerability.confidence == 'high'" # vuln critiche + sfruttabili + alta confidenza
secator q "vulnerability.severity_nb < 2 && vulnerability.confidence == 'high'" # vuln con gravità > alta + alta confidenza
secator q "exploit.cves ~= 'CVE-2021-44521'" # exploit trovati per la vuln CVE-2021-44521
secator q "port" -f "{host} {port} {service_name}" | cut -d " " -f2 | sort | uniq -c | sort -nr | head -n 15 # prime 15 porte
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 # primi 15 servizi
secator q "technology" -f "{product}/{version}" | sort | uniq -c | sort -nr | head -n 15 # prime 15 tecnologie
secator q "port.state == 'open'" -rf scans/23,tasks/10 # solo risultati dalla scansione 23 e attività 10
# Salva una query ed eseguila
secator c set queries.critical_vulns "vulnerability.severity_nb < 2" # salva una query
secator c get queries # elenca query salvate
secator q critical_vulns -f "{vulnerability.matched_at}" -ws secator.cloud # esegui una query salvata su workspace + estrai target
# Fai una domanda in linguaggio naturale (esegue l'attività di chat AI)
secator q "Analizza i dati del mio workspace"
secator q accetta le stesse opzioni di secator r show (-o/--output,
-d/--time-delta, -f/--format, -w/-ws/--workspace, --driver, --dedupe),
più -rf/--report-filter per limitare la query a percorsi specifici del runner
(l'equivalente dell'argomento REPORT_QUERY di r show). Nel percorso della chat AI vengono utilizzati solo il workspace e il prompt.
secator supporta il completamento shell per bash, zsh e fish. Fornisce il completamento automatico per:
nmap, httpx, nuclei)url_crawl, subdomain_recon)host, domain, network)--profiles, --workspace, --driver, --outputPer installare il completamento 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
Dopo l'installazione, puoi usare il completamento con tab:
secator x n<TAB> # completa con nmap, naabu, nuclei, ecc.
secator w url_<TAB> # completa con url_crawl, url_fuzz, url_dirsearch, ecc.
secator x nmap --profiles ag<TAB> # completa con aggressive
secator installa automaticamente gli strumenti quando li usi per la prima volta.
Puoi impedire questo comportamento impostando security.autoinstall_commands su false usando secator config set security.autoinstall_commands false o SECATOR_SECURITY_AUTOINSTALL_COMMANDS=0.
Per installare tutti gli strumenti, puoi comunque eseguire:
secator install tools
Sono disponibili addon per secator, consulta la nostra documentazione per i dettagli.
Ad esempio, usando l'addon mongodb puoi inviare i risultati del runner a MongoDB.
Per approfondire secator, dai un'occhiata a:
| Nome | Descrizione | Categoria |
|---|
| arjun | Suite per scoperta di parametri HTTP. | url/fuzz/params |
| arp | Mostra la cache ARP di sistema. | ip/recon |
| arpscan | Scansiona un intervallo CIDR per host attivi usando ARP. | ip/recon |
| bbot | Scanner multiuso. | vuln/scan |
| bup | Bypasser 40X. | url/bypass |
| cariddi | Crawler di endpoint, segreti, chiavi API, estensioni, token... | url/crawl |
| dalfox | Potente strumento open source per scanning XSS. | url/fuzz |
| dirsearch | Brute-forcer avanzato di percorsi web. | url/fuzz |
| dnsx | dnsx è un toolkit DNS veloce e multiuso progettato per eseguire varie librerie retryabledns. | dns/fuzz |
| feroxbuster | Strumento di scoperta dei contenuti semplice, veloce e ricorsivo scritto in Rust | url/fuzz |
| ffuf | Fuzzer web veloce scritto in Go. | url/fuzz |
| fping | Invia sonde ICMP echo agli host di rete, simile a ping, ma molto meglio. | ip/recon |
| gau | Recupera URL noti da AlienVault's Open Threat Exchange, Wayback Machine, Common Crawl e URLScan. | pattern/scan |
| getasn | Ottiene informazioni ASN da un indirizzo IP. | ip/probe |
| gf | Wrapper attorno a grep, per aiutare a cercare cose. | pattern/scan |
| gitleaks | Strumento per rilevare segreti come password, chiavi API e token in repo git, file e stdin. | secret/scan |
| gospider | Spider web veloce scritto in Go. | url/crawl |
| grype | Scanner di vulnerabilità per immagini contenitore e filesystem. | vuln/scan |
| h8mail | Strumento di ricerca informazioni email e password. | user/recon/email |
| httpx | Toolkit HTTP veloce e multiuso. | url/probe |
| jswhois | WHOIS in formato JSON | domain/info |
| katana | Framework di crawling e spidering di nuova generazione. | url/crawl |
| maigret | Raccoglie un dossier su una persona tramite il nome utente. | user/recon/username |
| mapcidr | Programma di utilità per eseguire più operazioni su determinati intervalli subnet/cidr. | ip/recon |
| msfconsole | CLI per accedere e lavorare con Metasploit Framework. | exploit/attack |
| naabu | Strumento di scansione delle porte scritto in Go. | port/scan |
| nmap | Network Mapper è un'utilità gratuita e open source per la scoperta di rete e audit di sicurezza. | port/scan |
| nuclei | Scanner di vulnerabilità veloce e personalizzabile basato su un semplice DSL YAML. | vuln/scan |
| search_vulns | Cerca vulnerabilità note nel software per nome prodotto o CPE. | vuln/recon |
| searchsploit | Cercatore di exploit basato su ExploitDB. | exploit/recon |
| sshaudit | Audit di sicurezza del server e client SSH (banner, scambio chiavi, crittografia, mac, compressione, ecc.). | ssh/audit/security |
| subfinder | Strumento veloce di enumerazione passiva dei sottodomini. | dns/recon |
| testssl | Scanner di sicurezza SSL/TLS, inclusi cifrari, protocolli e difetti crittografici. | dns/recon/tls |
| trivy | Scanner di sicurezza completo e versatile. | vuln/scan |
| trufflehog | Strumento per trovare segreti in repository git e filesystem utilizzando TruffleHog. | secret/scan |
| urlfinder | Trova URL nel testo. | pattern/scan |
| wafw00f | Strumento di fingerprinting per Web Application Firewall. | waf/scan |
| whois | Lo strumento whois recupera informazioni di registrazione su nomi di dominio e indirizzi IP. | |
| wpprobe | Strumento veloce di enumerazione dei plugin WordPress. | vuln/scan/wordpress |
| wpscan | Scanner di sicurezza WordPress. | vuln/scan/wordpress |
| x8 | Suite di scoperta di parametri nascosti scritta in Rust. | url/fuzz/params |
| xurlfind3r | Scopre URL per un determinato dominio in modo semplice, passivo ed efficiente | url/recon |