
Templates Nuclei de l'édition communautaire, un outil simple qui vous permet d'organiser en un seul endroit tous les templates Nuclei proposés par la communauté.

Templates Nuclei édition communautaire, un outil simple qui vous permet d'organiser tous les templates Nuclei proposés par la communauté en un seul endroit.
go install -v github.com/xm1k3/cent/v2@latest
Ou téléchargez depuis les releases
après l'installation, exécutez cent init pour initialiser cent avec les fichiers de configuration que vous trouverez ici
| Command | Description |
|---|---|
| check | Vérifie si les dépôts de templates sont toujours disponibles |
| init | Initialise le fichier de configuration de cent |
| summary | Affiche un résumé détaillé des templates Nuclei |
| update | Met à jour votre dépôt |
| validate | Valide les templates ; si un template est invalide, il est supprimé du dossier |
| version | Affiche la version de cent |
Flags:
--config string config file (default is .config/cent/.cent.yaml)
-r, --by-repo Group templates by repository (use with -k)
-C, --console Print console output
-k, --keep-folders Keep templates organized in folders by category
-p, --path string Root path to save the templates (default "cent-nuclei-templates")
-t, --threads int Number of threads to use when cloning repositories (default 10)
-T, --timeout int Timeout in minutes for each git clone (default 2)
cent -h
cent check -h
cent init -h
cent update -h
cent summary -h
cent validate -h
cent version
Clone et insère tous les templates communautaires dans le dossier cent-nuclei-templates
cent -p cent-nuclei-templates
Exemple de sortie :
cent started
[CLONED] https://github.com/projectdiscovery/nuclei-templates
[CLONED] https://github.com/0xSojalSec/nuclei-templates-4
[CLONED] https://github.com/0xPugazh/my-nuclei-templates
[CLONED] https://github.com/0xSojalSec/my-nuclei-templates-1
[CLONED] https://github.com/0x727/ObserverWard
[CLONED] https://github.com/0xAwali/Blind-SSRF
[CLONED] https://github.com/0x727/ObserverWard_0x727
[CLONED] https://github.com/0xAwali/Virtual-Host
[CLONED] https://github.com/0xSojalSec/Nuclei-Templates-API-Linkfinder
...
...
...
cent finished, you can find all your nuclei-templates in cent-nuclei-templates
Utilisez le drapeau -k pour conserver la structure interne des dossiers de chaque dépôt :
cent -p cent-nuclei-templates -k
Cela créera une structure de dossiers comme celle-ci :
cent-nuclei-templates/
cves/
CVE-2021-1234.yaml
vulnerabilities/
template.yaml
others/
uncategorized-template.yaml
Les templates sans sous-dossier dans leur dépôt source sont placés dans others/.
Utilisez -k -r pour également regrouper les templates par dépôt source :
cent -p cent-nuclei-templates -k -r
cent-nuclei-templates/
projectdiscovery/nuclei-templates/
cves/
CVE-2021-1234.yaml
vulnerabilities/
template.yaml
user/repo-name/
others/
custom-template.yaml
La commande summary fournit des statistiques détaillées sur votre collection de templates Nuclei :
# Display summary in table format
cent summary
# Display summary in JSON format
cent summary --json
# Limit number of tags displayed (default: 25)
cent summary --limit 10
# Search for specific data in summary
cent summary --search cve
cent summary --search wordpress
cent summary --search critical
# Update summary data
cent summary update
# Update with custom path
cent summary update -p /path/to/templates
=== NUCLEI TEMPLATES SUMMARY ===
+-------------------+-------+
| METRIC | COUNT |
+-------------------+-------+
| Total Templates | 3249 |
| CVE Templates | 3821 |
| Invalid Templates | 1 |
| Valid Templates | 3248 |
+-------------------+-------+
=== SEVERITY DISTRIBUTION ===
+----------+-------+
| SEVERITY | COUNT |
+----------+-------+
| CRITICAL | 582 |
| HIGH | 877 |
| MEDIUM | 877 |
| LOW | 63 |
| INFO | 744 |
+----------+-------+
=== TOP TAGS ===
+---------------+-------+
| TAG | COUNT |
+---------------+-------+
| cve | 1909 |
| xss | 569 |
| wordpress | 487 |
| lfi | 459 |
| wp-plugin | 450 |
+---------------+-------+
{
"metrics": {
"total_templates": 3249,
"cve_templates": 3821,
"invalid_templates": 1,
"valid_templates": 3248
},
"severity_distribution": {
"CRITICAL": 582,
"HIGH": 877,
"MEDIUM": 877,
"LOW": 63,
"INFO": 744
},
"tags": {
"cve": 1909,
"xss": 569,
"wordpress": 487
},
"last_updated": "2024-01-15 14:30:25"
}
Si vous avez mis à jour le fichier cent.yaml en ajoutant de nouveaux dossiers
exclude-dirs:
- ...
- dns
- ...
il suffit de faire :
cent update -p cent-nuclei-templates -d
et cent supprimera automatiquement tous les dossiers dns présents dans cent-nuclei-templates sans cloner tous les dépôts GitHub.
Exemple de sortie :
[D][-] Dir removed cent-nuclei-templates/dns
[D][-] Dir removed cent-nuclei-templates/dns/subdomain
Pareil avec exclude-files
cent update -p cent-nuclei-templates -f
# Initialize with default configuration
cent init
# Initialize with custom URL
cent init --url https://example.com/config.yaml
# Overwrite existing configuration
cent init --overwrite
# Check if configuration file exists
cent init check
# Check if all template repositories are accessible
cent check
# Remove inaccessible repositories from config
cent check --remove
Une fois cent correctement configuré, vous pouvez effectuer un scan avec Nuclei.
Exemple
nuclei -u https://example.com -t ./cent-nuclei-templates -tags cve
nuclei -l urls.txt -t ./cent-nuclei-templates -tags cve
Voir ici pour plus de documentation sur Nuclei
Vous devez configurer les paramètres cent dans .config/cent/.cent.yaml
# Directories to exclude
exclude-dirs:
- .git
# Files to exclude
exclude-files:
- README.md
- .gitignore
- .pre-commit-config.yaml
- LICENSE
# Add github urls (simple format)
community-templates:
- https://github.com/projectdiscovery/nuclei-templates
- https://github.com/other/repo
# Extended format: pin a repo to a specific commit
- url: https://github.com/user/repo
commit: abc123f
# Extended format: per-repo exclude
- url: https://github.com/user/repo2
exclude:
- "workflows/"
- "fuzzing/"