
커뮤니티 에디션 nuclei 템플릿, 커뮤니티에서 제공하는 모든 Nuclei 템플릿을 한곳에서 정리할 수 있는 간단한 도구입니다.

커뮤니티 에디션 nuclei 템플릿, 커뮤니티에서 제공하는 모든 Nuclei 템플릿을 한곳에 정리할 수 있는 간단한 도구입니다.
go install -v github.com/xm1k3/cent/v2@latest
또는 릴리스에서 다운로드
설치 후 cent init을 실행하면 여기에 있는 구성 파일로 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
모든 커뮤니티 템플릿을 cent-nuclei-templates 폴더에 클론하고 저장합니다.
cent -p cent-nuclei-templates
출력 예시:
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
각 저장소의 내부 폴더 구조를 유지하려면 -k 플래그를 사용하세요:
cent -p cent-nuclei-templates -k
그러면 다음과 같은 폴더 구조가 생성됩니다:
cent-nuclei-templates/
cves/
CVE-2021-1234.yaml
vulnerabilities/
template.yaml
others/
uncategorized-template.yaml
원본 저장소에 하위 폴더가 없는 템플릿은 others/에 배치됩니다.
원본 저장소별로 템플릿을 그룹화하려면 -k -r을 사용하세요:
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
summary 명령어는 nuclei 템플릿 컬렉션에 대한 상세 통계를 제공합니다:
# 표 형식으로 요약 표시
cent summary
# JSON 형식으로 요약 표시
cent summary --json
# 표시할 태그 수 제한 (기본값: 25)
cent summary --limit 10
# 요약에서 특정 데이터 검색
cent summary --search cve
cent summary --search wordpress
cent summary --search critical
# 요약 데이터 업데이트
cent summary update
# 사용자 지정 경로로 업데이트
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"
}
cent.yaml 파일에 새 폴더를 추가하여 업데이트한 경우
exclude-dirs:
- ...
- dns
- ...
다음을 실행하세요:
cent update -p cent-nuclei-templates -d
그러면 cent가 모든 github 저장소를 클론하지 않고 cent-nuclei-templates 안에 있는 모든 dns 폴더를 자동으로 삭제합니다.
출력 예시:
[D][-] Dir removed cent-nuclei-templates/dns
[D][-] Dir removed cent-nuclei-templates/dns/subdomain
exclude-files도 동일한 방식입니다.
cent update -p cent-nuclei-templates -f
# 기본 구성으로 초기화
cent init
# 사용자 지정 URL로 초기화
cent init --url https://example.com/config.yaml
# 기존 구성 덮어쓰기
cent init --overwrite
# 구성 파일이 존재하는지 확인
cent init check
# 모든 템플릿 저장소에 접근 가능한지 확인
cent check
# 접근 불가능한 저장소를 구성에서 제거
cent check --remove
cent가 올바르게 구성되면 Nuclei로 스캔을 수행할 수 있습니다.
예시
nuclei -u https://example.com -t ./cent-nuclei-templates -tags cve
nuclei -l urls.txt -t ./cent-nuclei-templates -tags cve
Nuclei에 대한 자세한 문서는 여기를 참조하세요.
.config/cent/.cent.yaml에서 cent 매개변수를 구성해야 합니다.
# 제외할 디렉토리
exclude-dirs:
- .git
# 제외할 파일
exclude-files:
- README.md
- .gitignore
- .pre-commit-config.yaml
- LICENSE
# github url 추가 (간단한 형식)
community-templates:
- https://github.com/projectdiscovery/nuclei-templates
- https://github.com/other/repo
# 확장 형식: 저장소를 특정 커밋에 고정
- url: https://github.com/user/repo
commit: abc123f
# 확장 형식: 저장소별 제외
- url: https://github.com/user/repo2
exclude:
- "workflows/"
- "fuzzing/"
두 형식 모두 동일한 구성 파일에서 혼합할 수 있습니다. commit이 지정되면 cent는 얕은 클론 대신 전체 저장소를 클론하고 해당 특정 커밋을 체크아웃합니다. 저장소별 exclude는 해당 특정 저장소에서 일치하는 경로를 필터링합니다.
면책 조항: 이 도구의 개발자는 커뮤니티가 그 안에 수집된 오픈 소스 템플릿을 사용하는 방식에 대해 책임을 지지 않습니다. 이러한 템플릿은 Project Discovery에 의해 검증되지 않았으며 있는 그대로 제공됩니다.
Cent는 Apache-2.0 License에 따라 배포됩니다.
| 명령어 (Command) | 설명 (Description) |
|---|
| check | 템플릿 저장소가 여전히 사용 가능한지 확인 |
| init | cent 초기화 구성 파일 |
| summary | nuclei 템플릿의 상세 요약 출력 |
| update | 저장소 업데이트 |
| validate | 템플릿 검증, 템플릿이 유효하지 않으면 폴더에서 삭제 |
| version | cent 버전 출력 |