nuclei-templates 实战教程:3 条命令跑通你的第一次漏洞扫描
2026/9/13 1:33:16 网站建设 项目流程

nuclei-templates 实战教程:3 条命令跑通你的第一次漏洞扫描

【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates

面向需要在 Web 与云资产上执行漏洞检测的运维和安全工程师。读完本文,你会完成 nuclei 扫描引擎的安装、同步 nuclei-templates 的 13000+ 漏洞检测模板,并对一个真实目标跑通首次扫描。

nuclei-templates 到底能干什么

  • 模板总量 13000+:仅 http 一类就有 11246 个,另含 dns、ssl、tcp、file、javascript、headless 等 11 种协议类型
  • CVE 覆盖:带 cve 标签的模板 4431 个;覆盖 1496 个在野利用(KEV)漏洞,其中 CISA 目录 454 个、VulnCheck 目录 1449 个
  • 云资产审计:663 个 cloud 模板,AWS 148、Azure 192、GCP 227、阿里云 45
  • 漏洞类型分布:xss 1417 个、rce 1029 个、sqli 604 个、wordpress 相关 1698 个
  • 严重程度梯度:critical 1916、high 2976、medium 2841,可按需只跑高危
  • 207 个 workflows/ 工作流模板和 20 个开箱即用的 profiles/ 扫描配置

三步搭出一个能用的扫描

第一步:安装扫描引擎

go install -u github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

装完后执行nuclei -version能打印版本号,说明引擎就绪。

第二步:下载并更新模板库

nuclei -update-templates

全部模板会拉到本地缓存目录(Linux/macOS 下是~/.local/share/nuclei/templates),之后的 nuclei 扫描离线可用。新 CVE 模板靠这一步跟进,建议每周跑一次。

第三步:跑第一次扫描

nuclei -u https://example.com -profile recommended

recommended 配置覆盖 http、dns、ssl 等协议类型,并预排除了几十个高误报的模板。命中会逐条打印模板 ID、严重程度和匹配内容,你能直接判断是否属实。

按场景实战

场景一:如何给云资产做一次配置审计

  • 要做什么:检查 S3/OSS 桶是否公开可读、存储账户是否匿名可访问、安全组是否放行全网。注意:cloud 模板要求本机已配置好对应云厂商的 CLI 和凭据(AWS CLI、阿里云 CLI 等),否则模板无法执行。
  • 执行什么nuclei -t cloud/ -u https://example.com -rate-limit 100
  • 怎么读结果:优先看 critical 与 high 条目。类似 s3-bucket-public-read 的命中意味着桶已对匿名访问开放,正确动作是立即收回匿名权限并轮换其中密钥,而不是只记录在案。

场景二:如何对单个站点做 Web 漏洞检查

  • 要做什么:对授权站点执行 XSS、SQLi、RCE、文件包含等检测。http/vulnerabilities/目录下有 959 个模板,基本覆盖主流 Web 漏洞类型。
  • 执行什么nuclei -u https://example.com -t http/vulnerabilities/ -severity critical,high
  • 怎么读结果:每条命中给出具体模板和触发它的请求。xss 标签下有 1417 个模板且误报偏多,按 severity 过滤后再逐条在浏览器里手工复核,确认回显可控再写进报告。

场景三:如何做新 CVE 的应急检测

  • 要做什么:新漏洞披露后先确认是否已有在野利用。KEV 标签对应 1496 个去重漏洞,这是 nuclei CVE 应急检测里最该先跑的一条路径。
  • 执行什么nuclei -tags kev,vkev -u https://example.com;只想看特定年份时用-tags cve2025,cve2026
  • 怎么读结果:KEV 模板命中说明该漏洞正被主动利用,处置优先级最高;没有命中只代表这套 PoC 模板没打中,不能据此直接下"安全"的结论。

定制扫描范围与速度 ⚙️

内置配置不够用时,自己写配置文件:一个 YAML 文件描述严重程度范围、协议类型、排除标签和速率上限,放到 profiles/ 后用nuclei -profile <名称>调用。最小示例长这样:

severity: [high, critical] type: [http, dns, ssl] exclude-tags: [intrusive] rate-limit: 100

想要"一次跑完同一技术栈的全部检查",用工作流更省事:workflows/里 207 个文件按技术栈组织(如 tomcat-workflow.yaml、jenkins-workflow.yaml),执行-w workflows/tomcat-workflow.yaml -u https://example.com即可,不用手动罗列模板路径。想更精细地裁剪范围,用-tags-exclude-tags组合过滤,比如加-exclude-tags intrusive跳过那 608 个会真实发送利用请求的模板。

容易踩的坑与注意事项 ⚠️

Q:目标是老服务,怎么避免把它打垮?-rate-limit 100限制每秒请求数,-c 25控制并发连接,-timeout 10给单请求设上限;主机多时加-max-host-error 10,连续失败的主机自动跳过,扫描不会被死机器拖住。

Q:intrusive 模板有副作用吗?有。608 个 intrusive 标签模板会真实投递利用载荷,可能触发告警甚至改变目标状态。生产环境默认带上--exclude-tags intrusive,第三方系统上更不该跑。

Q:法律红线在哪?只扫自己持有或取得书面授权的对象,很多司法辖区对未授权扫描第三方系统有明确罚则。对公开目标先跑profiles/里的 osint 配置(被动信息收集),把主动探测留给已授权资产。

Q:模板什么时候会失效?厂商发补丁后旧模板可能不再适用,nuclei -update-templates保持每周一次;用 cves.json 的 CVE 到模板映射可以快速确认某个新 CVE 是否已有覆盖。

接下来去哪看 📚

  • TEMPLATE-CREATION-GUIDE.md:自己写检测模板的完整规范
  • TEMPLATE-REVIEW-GUIDE.md:模板审查标准,评估第三方模板时有用
  • profiles/:20 个现成扫描配置,从 pentest 到 compliance 各取所需
  • TEMPLATES-STATS.md 与 TEMPLATES-STATS.json:标签、作者、严重程度的全量统计
  • cves.json:CVE 编号与模板 ID 的映射表
  • helpers/wordlists/:17 个内置字典,部分模板依赖它们
  • TOP-10.md:最常用标签与模板排行

挑一个你已获授权的目标,依次跑nuclei -update-templatesnuclei -profile recommended -u <目标>,看到第一条命中之后,你就知道下一步该收窄范围还是上工作流了。

【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询