
Community-Edition-Nuclei-Vorlagen, ein einfaches Tool, mit dem Sie alle von der Community angebotenen Nuclei-Vorlagen an einem Ort organisieren können.

Community-Edition-Nuclei-Templates, ein einfaches Tool, mit dem du alle von der Community angebotenen Nuclei-Templates an einem Ort organisieren kannst.
go install -v github.com/xm1k3/cent/v2@latest
Oder lade es von den Releases herunter
Führe nach der Installation cent init aus, um cent mit den Konfigurationsdateien zu initialisieren, die du hier findest.
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
Klone alle Community-Templates und füge sie in den Ordner cent-nuclei-templates ein.
cent -p cent-nuclei-templates
Beispielausgabe:
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
Verwende das Flag -k, um die interne Ordnerstruktur jedes Repositorys beizubehalten:
cent -p cent-nuclei-templates -k
Dadurch wird eine Ordnerstruktur wie die folgende erstellt:
cent-nuclei-templates/
cves/
CVE-2021-1234.yaml
vulnerabilities/
template.yaml
others/
uncategorized-template.yaml
Templates ohne Unterordner in ihrem Quell-Repository werden in others/ abgelegt.
Verwende -k -r, um Templates außerdem nach ihrem Quell-Repository zu gruppieren:
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
summaryDer Befehl summary liefert detaillierte Statistiken über deine Nuclei-Templates-Sammlung:
# 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"
}
updateWenn du die Datei cent.yaml aktualisiert hast, indem du neue Ordner hinzugefügt hast
exclude-dirs:
- ...
- dns
- ...
führe einfach Folgendes aus:
cent update -p cent-nuclei-templates -d
und cent löscht automatisch alle in cent-nuclei-templates vorhandenen dns-Ordner, ohne alle GitHub-Repositories zu klonen.
Beispielausgabe:
[D][-] Dir removed cent-nuclei-templates/dns
[D][-] Dir removed cent-nuclei-templates/dns/subdomain
Dasselbe gilt für 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
Sobald cent korrekt konfiguriert ist, kannst du mit Nuclei einen Scan durchführen.
Beispiel
nuclei -u https://example.com -t ./cent-nuclei-templates -tags cve
nuclei -l urls.txt -t ./cent-nuclei-templates -tags cve
Weitere Dokumentation zu Nuclei findest du hier.
Du musst die cent-Parameter in .config/cent/.cent.yaml konfigurieren.
# 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/"
Beide Formate können in derselben Konfigurationsdatei gemischt werden. Wenn commit angegeben ist, klont cent das gesamte Repository und wechselt zu diesem bestimmten Commit, anstatt einen flachen Klon zu verwenden. Das pro Repository angegebene exclude filtert passende Pfade aus diesem spezifischen Repository heraus.
Haftungsausschluss: Der Entwickler dieses Tools ist nicht dafür verantwortlich, wie die Community die darin gesammelten Open-Source-Templates verwendet. Diese Templates wurden nicht von Project Discovery validiert und werden ohne Gewähr bereitgestellt.
Cent wird unter der Apache-2.0-Lizenz vertrieben.
| Command | Beschreibung |
|---|
| check | Prüfen, ob Template-Repositories noch verfügbar sind |
| init | Cent-init-Konfigurationsdatei |
| summary | Detaillierte Zusammenfassung der Nuclei-Templates ausgeben |
| update | Dein Repository aktualisieren |
| validate | Templates validieren; ungültige Templates werden aus dem Ordner gelöscht |
| version | Cent-Version ausgeben |