nuclei-templates 自动化安全扫描操作指南:12,000 个模板从安装到出报告
【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates
nuclei-templates 是 ProjectDiscovery 维护的安全扫描模板库,收录 11,997 个 YAML 模板,覆盖 HTTP、DNS、SSL、TCP、文件、代码等协议,配合 nuclei 引擎即可对目标做自动化安全扫描与漏洞检测。本文面向刚接触安全扫描的开发者与新手安全工程师:先确认这套模板能扫什么,再装好环境、对着本地靶场跑通第一次扫描,最后按场景学会挑模板、读结果、压误报。
看懂 11 个目录:先确认这套模板能扫什么
仓库按协议类型分成 11 个顶级目录,11,997 个模板文件分布在 873 个目录里,TEMPLATES-STATS.md 里有一份带 JSON 格式的完整统计。按严重级别看:critical 1,916 个、high 2,976 个、medium 2,841 个、low 518 个、info 5,103 个。级别分布说明它不只抓高危漏洞,大量信息收集与指纹类模板也是重要组成部分。
| 目录 | 模板数 | 主要用途 |
|---|---|---|
http/ | 11,246 | Web 漏洞、CVE 检测、默认口令、后台面板、信息泄露 |
cloud/ | 663 | AWS、Azure、GCP、阿里云配置审计,K8s 集群检查 |
file/ | 447 | 本地文件中的 API 密钥、Android 应用配置、webshell |
code/ | 303 | 代码仓库扫描,Linux / macOS / Windows 系统审计 |
network/ | 280 | TCP 服务指纹、蜜罐与 C2 回连识别 |
dast/ | 251 | 反射型 XSS、SQL 注入、SSRF 等动态检测 |
workflows/ | 207 | 多个模板按顺序串联,一次跑完一个应用的完整检查 |
ssl/+dns/ | 72 | 证书与 TLS 配置、DNS 记录与域名接管风险 |
比目录更细的维度是标签:vuln6,642 个、cve4,431 个、wordpress1,698 个、exposure1,482 个。目录、标签、profile 是三种筛选粒度,后面会分别用到。
📦 把 nuclei 引擎和模板库装到本机
nuclei 是执行引擎,模板库只是数据,两者缺一不可。
- 安装 nuclei 引擎,最省事的是用 Go 一行装法:
go install -u github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest不想装 Go 环境的话,也可以从 nuclei 官方 Release 页下载对应平台的预编译二进制,放入 PATH 即可。
- 拉一份模板库到本地,方便离线翻目录、挑模板:
git clone https://gitcode.com/GitHub_Trending/nu/nuclei-templates- 引擎自带一份模板缓存,用下面命令拉取并更新:
nuclei -update-templates装完执行nuclei -version确认版本号。以后模板更新只需要重复第 3 步。
🧪 对着本地靶场跑通第一次扫描
第一次别直接打生产环境。用 docker 起一个 DVWA 之类的本地靶机,所有扫描只打 127.0.0.1,出错也没有副作用。
- 先跑指纹类模板确认链路通:
nuclei -u http://127.0.0.1:8080 -t http/technologies/有输出说明引擎和模板都工作正常,每一行就是一个被命中的技术指纹。
- 再跑一次带级别过滤的全量扫描:
nuclei -u http://127.0.0.1:8080 -severity medium,high,critical -v输出里每条命中形如[template-id][severity][name],下面跟着命中的 URL 与匹配内容。想复现某条结果,加上-json参数,拿curl-command字段手工回放即可。
🎯 按场景挑模板:目录、标签与 profile 三种筛法
三种筛选方式各管一摊
-t给目录或文件路径,最精确,适合"我就想查这一类";-tags按标签组合筛选,跨目录生效,适合"我想看所有信息泄露";-profile直接加载 profiles/ 下的现成预设,如recommended、pentest、cves、misconfigurations、wordpress、osint等,适合不想手配参数的时候。
常用参数速查:
| 参数 | 作用 | 示例 |
|---|---|---|
-t | 指定模板文件或目录 | nuclei -t http/default-logins/ -u 目标 |
-tags | 按标签组合筛选 | -tags exposure,misconfig |
-severity | 只看指定级别 | -severity high,critical |
-profile | 加载 profiles/ 下的预设 | -profile cves |
-l | 批量目标列表 | -l targets.txt |
-json -o | JSON 输出落盘 | -json -o scan.json |
-rate-limit | 限制每秒请求数 | -rate-limit 100 |
-exclude-tags | 排除标签 | -exclude-tags dos,fuzz |
三个真实场景的配法
本地 CI 里定时回归:把配置错误检测挂进流水线,每天对资产列表跑一遍:
nuclei -profile misconfigurations -l targets.txt -json -o ci-scan.jsonmisconfigurations预设只覆盖http/misconfiguration/、network/misconfig/、javascript/misconfiguration/三个目录,噪音小,适合无人值守跑。
渗透测试前自查:开测前先过一遍推荐预设,摸清目标基本盘:
nuclei -profile recommended -u https://your-target -rate-limit 100recommended预设覆盖 http、tcp、dns、ssl、javascript 五种类型,并且排除了 Log4Shell 这类破坏性模板,相对温和。
特定技术栈专项:目标确定是 WordPress 站点时,直接按标签筛出 1,698 个相关模板:
nuclei -tags wordpress -u https://your-target🧯 读懂扫描输出,把误报和噪音管起来
加-json后每条结果都有template-id、info.severity、matcher-name、matched-at、curl-command字段,前四个用来归档,最后一个用来人工复核。想快速看哪个模板命中最多:
nuclei -u https://your-target -tags exposure -json | jq -r .template-id | sort | uniq -c | sort -rn四个容易踩的坑,提前说清楚:
- info 级别不等于漏洞。指纹类命中只说明"有这个东西",别直接写进报告,先人工确认是否构成风险。
- 生产目标务必限速。默认速率对小型服务偏高,加
-rate-limit 100起步,再视对方响应调整。 - 日常扫描排除高噪音标签。
-exclude-tags fuzz,osint能砍掉一大半低价值命中。 - 只扫有授权的目标,模板再全也别越过这条线。
模板库的价值不在一次跑完,而在把检查沉淀成可重复执行的命令。把上面几条命令固化进 CI 或日常脚本,每次上线前花几分钟跑一遍,暴露面会明显收敛。等你对输出足够熟,可以照着 TEMPLATE-CREATION-GUIDE.md 写第一个自定义模板,按 CONTRIBUTING.md 提给社区。
【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考