
secator - le couteau suisse du pentester
Fonctionnalités • Commandes prises en charge • Installation • Utilisation • Documentation • Rejoignez-nous sur Discord !
secator est un exécuteur de tâches et de workflows utilisé pour les évaluations de sécurité. Il prend en charge des dizaines d'outils de sécurité bien connus
et est conçu pour améliorer la productivité des pentesters et des chercheurs en sécurité.

Liste organisée de commandes
Options d'entrée unifiées
Schéma de sortie unifié
Utilisation en CLI et en tant que bibliothèque
Options distribuées avec Celery
Complexité allant de tâches simples à des workflows complexes
Personnalisable
secator intègre les outils suivants :
N'hésitez pas à demander l'ajout de nouveaux outils en ouvrant une issue, mais veuillez
vérifier au préalable que l'outil respecte nos critères de sélection. Si ce n'est pas le cas mais que vous souhaitez tout de même l'intégrer dans secator, vous pouvez le brancher (voir le guide développeur).
bash -c "$(curl -fsSL https://raw.githubusercontent.com/freelabz/secator/main/scripts/install_universal.sh)"
Note : Supporte les flags optionnels --version, --templates, --addons, et --tools — exécutez le script avec --help pour les détails.
pip install secator
docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help
Le montage de volume -v est nécessaire pour sauvegarder tous les rapports secator sur votre machine hôte, et --net=host est recommandé pour donner un accès complet au réseau hôte.
Vous pouvez créer un alias de cette commande pour l'exécuter plus facilement :
alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"
Maintenant, vous pouvez exécuter secator comme s'il était installé sur du baremetal :
secator --help
git clone https://github.com/freelabz/secator
cd secator
docker-compose up -d
docker-compose exec secator-client secator --help
Note : Si vous avez choisi les méthodes d'installation Docker ou Docker Compose, vous pouvez passer les sections suivantes et aller directement à Utilisation.
secator --help
Pour obtenir une antisèche complète de ce que vous pouvez faire avec secator, veuillez lire la sortie de :
secator cheatsheet
Lancer une tâche de fuzzing (ffuf) :
secator x ffuf http://testphp.vulnweb.com/FUZZ
Lancer un workflow de crawl d'URL :
secator w url_crawl http://testphp.vulnweb.com
Lancer un scan d'hôte :
secator s host mydomain.com
Pour lister toutes les tâches / workflows / scans que vous pouvez utiliser :
secator x --help
secator w --help
secator s --help
Pour savoir quels langages ou outils sont installés sur votre système (ainsi que leur version) :
secator health
secator vous permet d'interroger tous les rapports précédents avec la commande secator query (ou secator q), et de réutiliser des requêtes.
secator q <arg> résout son argument en trois étapes :
<arg> correspond à une requête sauvegardée, son expression est utilisée.<arg> ressemble à un filtre (contient ==, <, ~=, &&, …), il est passé directement.secator x ai --mode chat).# Exécuter des expressions brutes directement
secator q "vulnerability.tags ~= 'kev' && vulnerability.confidence == 'high'" # vulns KEV (Vulnérabilités Connues Exploitées) + haute confiance
secator q "vulnerability.severity == 'critical' && vulnerability.tags ~= 'exploitable' && vulnerability.confidence == 'high'" # vulns critiques + exploitables + haute confiance
secator q "vulnerability.severity_nb < 2 && vulnerability.confidence == 'high'" # vulns sévérité > haute + haute confiance
secator q "exploit.cves ~= 'CVE-2021-44521'" # exploits trouvés pour la vuln CVE-2021-44521
secator q "port" -f "{host} {port} {service_name}" | cut -d " " -f2 | sort | uniq -c | sort -nr | head -n 15 # top 15 ports
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 # top 15 services
secator q "technology" -f "{product}/{version}" | sort | uniq -c | sort -nr | head -n 15 # top 15 technologies
secator q "port.state == 'open'" -rf scans/23,tasks/10 # seulement les résultats du scan 23 et de la tâche 10
# Sauvegarder une requête et l'exécuter
secator c set queries.critical_vulns "vulnerability.severity_nb < 2" # sauvegarder une requête
secator c get queries # lister les requêtes sauvegardées
secator q critical_vulns -f "{vulnerability.matched_at}" -ws secator.cloud # exécuter une requête sauvegardée sur un workspace + extraire les cibles
# Poser une question en langage naturel (lance la tâche de chat IA)
secator q "Analyze my workspace data"
secator q accepte les mêmes options que secator r show (-o/--output,
-d/--time-delta, -f/--format, -w/-ws/--workspace, --driver, --dedupe),
plus -rf/--report-filter pour limiter la requête à des chemins d'exécution spécifiques
(l'équivalent de l'argument REPORT_QUERY de r show). Sur le chemin du chat IA, seuls le workspace et le prompt sont utilisés.
secator prend en charge l'autocomplétion du shell pour bash, zsh et fish. Cela fournit l'auto-complétion pour :
nmap, httpx, nuclei)url_crawl, subdomain_recon)host, domain, network)--profiles, --workspace, --driver, --outputPour installer l'autocomplétion du 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
Après installation, vous pouvez utiliser la complétion par tabulation :
secator x n<TAB> # complète en nmap, naabu, nuclei, etc.
secator w url_<TAB> # complète en url_crawl, url_fuzz, url_dirsearch, etc.
secator x nmap --profiles ag<TAB> # complète en aggressive
secator installe automatiquement les outils lors de leur première utilisation.
Vous pouvez empêcher ce comportement en définissant security.autoinstall_commands à false en utilisant soit secator config set security.autoinstall_commands false soit SECATOR_SECURITY_AUTOINSTALL_COMMANDS=0.
Pour installer tous les outils, vous pouvez toujours exécuter :
secator install tools
Des addons sont disponibles pour secator, veuillez consulter notre documentation pour les détails.
Par exemple, l'utilisation de l'addon mongodb vous permet d'envoyer les résultats du runner vers MongoDB.
Pour approfondir avec secator, consultez :
| Nom | Description | Catégorie |
|---|
| arjun | Suite de découverte de paramètres HTTP. | url/fuzz/params |
| arp | Affiche le cache ARP du système. | ip/recon |
| arpscan | Scanne une plage CIDR pour trouver des hôtes actifs via ARP. | ip/recon |
| bbot | Scanneur polyvalent. | vuln/scan |
| bup | Outil de contournement 40X. | url/bypass |
| cariddi | Parcourt les endpoints, secrets, clés API, extensions, tokens... | url/crawl |
| dalfox | Outil de scan XSS open source puissant. | url/fuzz |
| dirsearch | Brute-force avancé de chemins web. | url/fuzz |
| dnsx | dnsx est un outil DNS rapide et polyvalent conçu pour exécuter diverses bibliothèques retryabledns. | dns/fuzz |
| feroxbuster | Outil de découverte de contenu récursif, simple et rapide, écrit en Rust. | url/fuzz |
| ffuf | Fuzzer web rapide écrit en Go. | url/fuzz |
| fping | Envoie des sondes ICMP echo aux hôtes réseau, similaire à ping, mais bien meilleur. | ip/recon |
| gau | Récupère les URLs connues depuis AlienVault's Open Threat Exchange, Wayback Machine, Common Crawl et URLScan. | pattern/scan |
| getasn | Obtient les informations ASN à partir d'une adresse IP. | ip/probe |
| gf | Wrapper autour de grep, pour vous aider à chercher des choses. | pattern/scan |
| gitleaks | Outil de détection de secrets (mots de passe, clés API, tokens) dans les dépôts git, fichiers et stdin. | secret/scan |
| gospider | Araignée web rapide écrite en Go. | url/crawl |
| grype | Scanneur de vulnérabilités pour les images conteneur et les systèmes de fichiers. | vuln/scan |
| h8mail | Outil de recherche d'informations et de mots de passe liés aux emails. | user/recon/email |
| httpx | Boîte à outils HTTP rapide et polyvalente. | url/probe |
| jswhois | WHOIS au format JSON | domain/info |
| katana | Framework de crawl et d'exploration de nouvelle génération. | url/crawl |
| maigret | Rassemble un dossier sur une personne à partir d'un nom d'utilisateur. | user/recon/username |
| mapcidr | Programme utilitaire pour effectuer plusieurs opérations sur des plages de sous-réseaux/CIDR. | ip/recon |
| msfconsole | CLI pour accéder et utiliser le Metasploit Framework. | exploit/attack |
| naabu | Outil de scan de ports écrit en Go. | port/scan |
| nmap | Network Mapper est un utilitaire gratuit et open source pour la découverte réseau et l'audit de sécurité. | port/scan |
| nuclei | Scanneur de vulnérabilités rapide et personnalisable basé sur un DSL simple en YAML. | vuln/scan |
| search_vulns | Recherche de vulnérabilités connues dans les logiciels par nom de produit ou CPE. | vuln/recon |
| searchsploit | Chercheur d'exploits basé sur ExploitDB. | exploit/recon |
| sshaudit | Audit de sécurité des serveurs et clients SSH (bannière, échange de clés, chiffrement, MAC, compression, etc.). | ssh/audit/security |
| subfinder | Outil rapide d'énumération passive de sous-domaines. | dns/recon |
| testssl | Scanneur de sécurité SSL/TLS, incluant les ciphers, protocoles et failles cryptographiques. | dns/recon/tls |
| trivy | Scanneur de sécurité complet et polyvalent. | vuln/scan |
| trufflehog | Outil de recherche de secrets dans les dépôts git et les systèmes de fichiers utilisant TruffleHog. | secret/scan |
| urlfinder | Trouve des URLs dans du texte. | pattern/scan |
| wafw00f | Outil d'empreinte de pare-feu d'application Web (WAF). | waf/scan |
| whois | L'outil whois récupère les informations d'enregistrement sur les noms de domaine et les adresses IP. | |
| wpprobe | Outil rapide d'énumération de plugins WordPress. | vuln/scan/wordpress |
| wpscan | Scanneur de sécurité WordPress. | vuln/scan/wordpress |
| x8 | Suite de découverte de paramètres cachés écrite en Rust. | url/fuzz/params |
| xurlfind3r | Découvre des URLs pour un domaine donné de manière simple, passive et efficace. | url/recon |