Nuclei panduan lengkap
Panduan Lengkap: Cara Scan Semua CVE dari ~/nuclei-templates
di Termux (Nuclei)
- Persiapan & keamanan
- Validasi & perbaikan templates
- Menghitung & memilih template CVE
- Perintah scan (aman & full)
- Debugging & interpretasi hasil
- FAQ & praktik terbaik
Kenapa artikel ini penting?
Jika kamu menggunakan nuclei
untuk scanning kerentanan, folder ~/nuclei-templates
berisi ribuan template. Tidak semua template sama: beberapa menggunakan protocol: code
(dapat mengeksekusi kode), ada pula template HTTP biasa. Artikel ini menunjukkan cara:
- Menemukan semua template CVE (berbasis tag & nama file)
- Menjalankan scan aman (tanpa mengeksekusi code) dan scan lengkap (dengan risiko)
- Memperbaiki error validasi templates dan debugging
1. Persiapan & catatan penting (Baca dulu!)
Etika & legal: Lakukan scanning hanya terhadap target yang kamu miliki izin eksplisit (lab/VM sendiri, scope bug bounty, atau aset perusahaan yang kamu kelola). Scanning tanpa izin bisa melanggar hukum.
Perhatian teknis: Template bertipe protocol: code
dapat mengeksekusi perintah di mesin lokal. Nuclei tidak menjalankannya kecuali kamu memberi flag -code
. Gunakan flag -code
hanya jika kamu percaya sumber templates.
2. Validasi & perbaikan templates
Sebelum scan, selalu update & validasi templates. Jalankan:
nuclei -update-templates
nuclei -validate -t ~/nuclei-templates -vv
Jika validasi gagal dengan error mirip:
[ERR] Could not load template ... helpers/payloads/swagger.json ... mandatory 'name' field is missing
Maka kemungkinan ada file non-template (mis. file JSON payload) di folder yang membuat validator error. Cara cepat memperbaiki:
rm ~/nuclei-templates/helpers/payloads/swagger.json
# lalu ulangi validasi
nuclei -validate -t ~/nuclei-templates -vv
3. Menghitung & menemukan semua template CVE
Ada dua pendekatan populer untuk “menemukan” template CVE di repo:
- Search berdasarkan tag (template yang memiliki tag
cve
) - Search berdasarkan nama file (file bernama
CVE-*.yaml
)
Contoh perintah hitung:
# jumlah template yang punya tag "cve"
grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates | cut -d: -f1 | sort -u | wc -l
# jumlah file dengan nama CVE-*.yaml
find ~/nuclei-templates -type f -iname '*CVE-*.yaml' | wc -l
# union (gabungan unik)
(
find ~/nuclei-templates -type f -iname '*CVE-*.yaml'
grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates | cut -d: -f1
) | sort -u | wc -l
Contoh hasil yang mungkin kamu lihat (dari environment Termux):
3392 # templates bertag 'cve'
3343 # file bernama 'CVE-*.yaml'
4. Menjalankan scan — opsi aman & full
A. Aman (recommended) — jalankan semua CVE kecuali template code
:
nuclei -u https://www.kalteng.go.id/ \
-t <( \
( find ~/nuclei-templates -type f -iname '*CVE-*.yaml' ; \
grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates | cut -d: -f1 ) \
| sort -u | grep -v '/code/' \
) \
-vv -json -o ~/hasil_cve_noncode.json -c 30 -rl 150
Penjelasan singkat:
- Process substitution
<(...)
membuat daftar template on-the-fly tanpa file permanen grep -v '/code/'
memastikan kita tidak menjalankan template ber-protocolcode
-c
dan-rl
atur concurrency dan rate-limit
B. Full (termasuk code templates) — berisiko:
nuclei -u https://www.kalteng.go.id/ \
-t <( \
( find ~/nuclei-templates -type f -iname '*CVE-*.yaml' ; \
grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates | cut -d: -f1 ) \
| sort -u \
) \
-code -vv -json -o ~/hasil_cve_all.json -c 20 -rl 100
PERINGATAN: Gunakan -code
hanya jika kamu percaya templates dan paham konsekuensinya. Nuclei hanya mengeksekusi signed code templates — unsigned akan tetap di-skip walaupun pakai -code
.
5. Memilih folder “biru” (http, network, javascript, dll) tanpa menyertakan code
Jika ingin hanya template CVE dari folder-folder utama (yang sering berisi checks web/tech), gunakan pendekatan ini (tanpa menyimpan file):
nuclei -u https://www.kalteng.go.id/ \
-t <( \
grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates \
| cut -d: -f1 \
| grep -E '/(http|network|javascript|headless|dast|passive|cloud)/' \
| grep -v '/code/' \
| sort -u \
) \
-vv -json -o ~/hasil_cve_noncode.json -c 30 -rl 150
6. Debugging & kenapa hasilnya "No results found"
Jika scan selesai tapi tidak ada hasil, penyebab umum:
- Target tidak rentan terhadap CVE yang dicek.
- Target berada di balik CDN / WAF (Cloudflare, Akamai) → banyak request diblokir atau dimodifikasi.
- Template tidak cocok karena fingerprint mismatch (mis. template untuk Apache sementara target pake Nginx).
- Beberapa template
code
ter-skip jika kamu tidak menambahkan-code
.
Langkah debug (jalankan di Termux):
# 1) Jalankan scan dengan debug (panjang)
nuclei -u https://www.kalteng.go.id/ -t ~/cve_templates_http.txt -vv -debug -o ~/debug_nuclei.txt
# 2) Cek header/teknologi target
curl -I -k https://www.kalteng.go.id/
# 3) Jalankan fingerprint/tech tags (alternatif)
nuclei -u https://www.kalteng.go.id/ -tags tech,misconfig -vv
7. Tips praktis & checklist
- Selalu
nuclei -update-templates
sebelum scan. - Validasi templates dengan
nuclei -validate
setelah update. - Gunakan
-tags cve
untuk pemanggilan cepat, tetapi ingat: tidak semua CVE punya tagcve
. - Jika ingin output yang mudah di-parse, gunakan
-json -o file.json
. - Jangan jalankan
-code
di production atau mesin sensitif tanpa audit.
8. Perintah singkat (ringkasan)
# Update + validate
nuclei -update-templates
nuclei -validate -t ~/nuclei-templates -vv
# Scan otomatis (all-in-one)
nuclei -u https://www.kalteng.go.id/ -as -vv
# Scan semua CVE (aman: exclude code)
nuclei -u https://www.kalteng.go.id/ -t <( (find ~/nuclei-templates -type f -iname '*CVE-*.yaml'; grep -R --include="*.yaml" -n "tags:.*[cC][vV][eE]" ~/nuclei-templates | cut -d: -f1) | sort -u | grep -v '/code/' ) -vv -json -o ~/hasil_cve_noncode.json
9. FAQ (Pertanyaan yang sering muncul)
Apa bedanya -tags cve
dengan pakai daftar file?
-tags cve
memanggil semua template yang bertag cve
. Namun ada template CVE yang namanya mengandung CVE-
tapi belum ditag — maka pendekatan union (tag + nama file) memberikan coverage lebih lengkap.
Kenapa banyak pesan "-code flag not found
"?
Itu normal—menandakan ada template yang butuh engine code
. Nuclei skip template tersebut kecuali kamu menambahkan -code
. Ini fitur keamanan agar template tidak sembarangan mengeksekusi kode.
Bagaimana kalau target pake Cloudflare / WAF?
Menyulitkan deteksi berbasis HTTP. Solusinya: scan dari host yang berada di jaringan internal target (jika kamu punya akses), gunakan teknik fingerprinting non-invasive, atau fokus ke endpoint yang tidak dilindungi.
Penutup
Dengan kombinasi update, validasi, dan pemilihan template (exclude/ include code), kamu dapat menjalankan scan CVE yang komprehensif menggunakan Nuclei di Termux. Selalu utamakan etika dan keamanan — jalankan hanya pada target yang kamu izin.