
Template Nuclei della Community Edition, un semplice strumento che ti permette di organizzare in un unico posto tutti i template Nuclei offerti dalla community.

Community edition nuclei templates, un semplice strumento che ti consente di organizzare in un unico posto tutti i template Nuclei offerti dalla community.
go install -v github.com/xm1k3/cent/v2@latest
Oppure scarica dalle release
dopo l'installazione esegui cent init per inizializzare cent con i file di configurazione che trovi qui
| Command | Description |
|---|---|
| check | Verifica se i repository dei template sono ancora disponibili |
| init | Inizializza il file di configurazione di Cent |
| summary | Stampa un riepilogo dettagliato dei template Nuclei |
| update | Aggiorna il tuo repository |
| validate | Valida i template; se il template non è valido, viene eliminato dalla cartella |
| version | Stampa la versione di 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
Clona e inserisci tutti i template della community nella cartella cent-nuclei-templates
cent -p cent-nuclei-templates
Esempio di output:
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
Usa il flag -k per mantenere la struttura interna delle cartelle di ciascun repository:
cent -p cent-nuclei-templates -k
Questo creerà una struttura di cartelle come:
cent-nuclei-templates/
cves/
CVE-2021-1234.yaml
vulnerabilities/
template.yaml
others/
uncategorized-template.yaml
I template senza una sottocartella nel repository di origine vengono inseriti in others/.
Usa -k -r per raggruppare anche i template in base al repository di origine:
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
Il comando summary fornisce statistiche dettagliate sulla tua raccolta di template 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"
}
Se hai aggiornato il file cent.yaml aggiungendo nuove cartelle
exclude-dirs:
- ...
- dns
- ...
esegui semplicemente:
cent update -p cent-nuclei-templates -d
e cent eliminerà automaticamente tutte le cartelle dns presenti in cent-nuclei-templates senza clonare tutti i repository GitHub.
Esempio di output:
[D][-] Dir removed cent-nuclei-templates/dns
[D][-] Dir removed cent-nuclei-templates/dns/subdomain
Lo stesso vale per 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
Una volta configurato correttamente cent, puoi effettuare una scansione con Nuclei.
Esempio
nuclei -u https://example.com -t ./cent-nuclei-templates -tags cve
nuclei -l urls.txt -t ./cent-nuclei-templates -tags cve
Vedi qui per ulteriore documentazione su Nuclei
Devi configurare i parametri di cent in .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/"