渗透扫描工具 Nuclei 环境搭建
Nuclei 是由 ProjectDiscovery 团队基于 Go 语言开发的一款漏洞扫描工具,核心用途是在渗透测试过程中验证漏洞是否存在,同时支持用户自定义添加 POC(漏洞验证规则)模板,灵活性较高。
文章目录
⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。
1. 前言
Nuclei 是由 ProjectDiscovery 团队基于 Go 语言开发的一款漏洞扫描工具,核心用途是在渗透测试过程中验证漏洞是否存在,同时支持用户自定义添加 POC(漏洞验证规则)模板,灵活性较高。
2. Kali 系统安装与使用指南
2.1 客户端下载与基础检查
首先通过命令完成 Nuclei 的安装,安装后可验证版本并确认配置路径,再下载官方漏洞模板(模板是漏洞扫描的核心规则文件)。
# 安装 Nuclei
sudo apt install nuclei
# 查看 Nuclei 版本及默认配置路径(便于后续排查问题)
nuclei -version

Kali 中通过 apt 安装的 Nuclei 版本,与官方发布的最新二进制包版本一致,官方版本地址:https://github.com/projectdiscovery/nuclei/releases

2.2 模板下载验证
下载客户端后,可再次执行以下命令确认模板列表,确保后续扫描能调用到模板:
# 列出所有可用的 Nuclei 模板
nuclei -tl
# 模板默认安装路径说明:/home/你的用户名/.local/nuclei-templates
# 示例路径:/home/kali/.local/nuclei-templates

2.3 漏洞模板检索
Kali 系统中可通过命令快速检索指定漏洞相关的模板(比 Windows 操作更便捷),便于精准定位需要的扫描规则。
# 示例:检索所有和阿里巴巴(alibaba)相关的漏洞模板
find /home/kali/.local/nuclei-templates -name "alibaba"

2.4 基本使用方法
Nuclei 核心用法是指定目标地址和模板文件/目录,完成漏洞扫描:
# 场景1:使用指定目录下的所有模板扫描目标网站
nuclei -u https://xxx.com -t /xxx/nuclei-templates/network/cves/2004
# 场景2:使用单个模板文件精准扫描(适用于验证特定漏洞)
nuclei -u https://xxx.com -t /xxx/nuclei-templates/network/cves/2004/CVE-2004-2687.yaml
# 场景3:查看 Nuclei 所有可用命令及参数说明(遇到问题时可查阅)
nuclei --help
3. Windows 系统安装与使用指南
3.1 客户端下载与环境配置
Windows 系统需手动下载二进制包,并配置环境变量,方便在任意目录执行 Nuclei 命令:
-
下载地址:https://github.com/projectdiscovery/nuclei/releases

-
将下载的压缩包解压到指定目录(例如
D:\DEV\nuclei); -
将解压目录的路径添加到系统环境变量(确保 cmd/PowerShell 中能直接调用 nuclei 命令);

-
验证安装与配置:执行以下命令查看版本,同时确认配置文件/缓存的默认路径(默认在系统盘,后续需修改以节省系统盘空间)。
nuclei --version

3.2 模板下载
官方模板库体积较大,建议在 Nuclei 解压目录下新建文件夹专门存放模板:
- 模板库地址:https://github.com/projectdiscovery/nuclei-templates
- 下载命令(以
D:\DEV\nuclei为例,在该目录下执行):
# 克隆官方模板库到当前目录的 nuclei-templates 文件夹
git clone https://github.com/projectdiscovery/nuclei-templates.git
- 提速方案:若从 GitHub 下载模板速度慢,可先将 GitHub 上的
nuclei-templates仓库导入 Gitee,再从 Gitee 克隆(国内访问速度更快),具体步骤参考国内 GitHub 仓库下载提速。
3.3 修改模板路径配置(节省系统盘空间)
Nuclei 默认将模板缓存存放在系统盘,长期使用会占用大量空间,需修改配置文件指定自定义模板路径:
- 找到配置文件:通过
nuclei --version命令可查看配置文件路径,核心配置文件为.templates-config.json; - 清理旧缓存:删除系统盘默认缓存目录
C:\Users\xxx\AppData\Local\nuclei(该目录保留了旧的模板路径记录); - 修改配置文件:将模板路径改为你本地下载的
nuclei-templates路径(示例如下)。

配置文件修改示例(将路径替换为你的实际模板目录):
{"nuclei-templates-directory":"D:\\DEV\\nuclei\\nuclei-templates","custom-s3-templates-directory":"D:\\DEV\\nuclei\\nuclei-templates\\s3","custom-github-templates-directory":"D:\\DEV\\nuclei\\nuclei-templates\\github","custom-gitlab-templates-directory":"D:\\DEV\\nuclei\\nuclei-templates\\gitlab","custom-azure-templates-directory":"D:\\DEV\\nuclei\\nuclei-templates\\azure","nuclei-templates-version":"v10.3.7","nuclei-ignore-hash":"1a666944243307efff85d5bbd943b190","nuclei-latest-version":"v3.6.2","nuclei-templates-latest-version":"v10.3.7","nuclei-latest-ignore-hash":"1a666944243307efff85d5bbd943b190"}
- 验证配置:执行以下命令,将模板列表输出到文件,若文件中显示自定义路径下的模板(而非“installing”重新下载),则配置成功。后续更新模板只需在模板目录执行
git pull即可。
nuclei -tl > res.txt
输出文件示例(部分内容):
Listing available v10.3.7 nuclei templates for D:\DEV\nuclei\nuclei-templates
cloud\alibaba\ack\ack-cluster-api-public.yaml
cloud\alibaba\ack\ack-cluster-auditing-disable.yaml
cloud\alibaba\ack\ack-cluster-cloud-monitor-disable.yaml
cloud\alibaba\ack\ack-cluster-health-disable.yaml
cloud\alibaba\ack\ack-cluster-network-policies-disable.yaml
cloud\alibaba\ack\ack-cluster-network-policies-missing.yaml
cloud\alibaba\ack\kubernetes-dashboard-enabled.yaml
cloud\alibaba\actiontrail\multi-region-logging-disabled.yaml
cloud\alibaba\actiontrail\public-actiontrail-bucket.yaml
cloud\alibaba\alibaba-cloud-code-env.yaml
cloud\alibaba\ecs\os-patches-outdated.yaml
...
4. 官方 AI 生成 Nuclei 模板
若你发现了通用漏洞,需要编写自定义扫描模板,可使用官方 AI 平台快速生成(无需手动编写复杂规则):
- 登录地址:https://cloud.projectdiscovery.io/templates(需使用 GitHub 账号登录);
- 功能:根据漏洞描述自动生成符合 Nuclei 规范的模板文件,降低模板编写门槛。
更多推荐
所有评论(0)