Nuclei
介绍
在https://github.com/projectdiscovery/nuclei
本质上是一个poc机,也就是根据yaml格式的模版配置,进行特定的自动化测试并检测回显等来判断是否存在漏洞
其本身自带的模版库就很优秀了https://github.com/projectdiscovery/nuclei-templates 无需自己准备
操作
参数介绍
nuclei -update //更新工具
nuclei -ut //更新模版
nuclei -target 指定目标(url/域名/ip段)
nuclei -l 指定目标文件,url或者域名
实用参数
-t 运行指定的模版或模版目录(可以跟多个-t参数)
-stats 实时统计
-s 根据严重程度选择模版(info,low,medium,high,critical)
-debug 显示所有请求和响应(适合调试测试自定义模版的时候,平时用不到)
-silent 静默执行(也就是没有前面一坨)
-je 以json格式输出到指定文件(包含扫到漏洞的整个发包回包数据)
-tags 指定标签(Wordpress/rce等等在poc模版里面会有)
-etags 排除指定标签
性能参数
-c 模板并发 default 25
-bs 主机并发 default 25
-pc payload并发 default 25
-rl 全局速率限制 default 150
-timeout 超时 default 10s
-retries 重试次数
完整参数说明在https://github.com/projectdiscovery/nuclei/blob/dev/README_CN.md
常用命令
nuclei -l host.txt -s critical,high,medium -etags dos,xss -silent -stats -je res.json这里就是扫描host.txt里面的目标(可以是域名或者url,反正fofa搜集的host字段都行),然后只用严重、高危、中等危害的模版,排除dos和xss漏洞,其实还可以排除ssrf的,比较难rce.静默执行并实时统计,也就是会显示进度,花了多少时间,要扫描多少模版,有多少错误什么的.并将扫描到的结果实时输出到res.json文件里面
如何优雅的实现无脑日全球(bushi
资产搜集
假设我们要扫描指定资产,这个资产有很多,但是你只有一个限制一万条的fofa账号,比如说日本的gov,通常会在fofa搜索
host=".go.jp" && country!="CN"
有一个简单的方法可以慢慢分割这4万条资产,用时间限制
after="2025-03-30" && before="2025-03-31" 表示在31号之前,30号之后,你甚至可以跟上具体的小时分钟秒比如说这里刚好限制到了一万条数据😏
host=".go.jp" && country!="CN" && before="2023-02-27 11:28:50"

这个时间区间是左开右闭的,所以说下一次的查询after要与上一次的before相同
host=".go.jp" && country!="CN" && after="2023-02-27 11:28:50" && before="2024-01-30"
依次类推,直到最后的after包括后面的所有时间,把这些资产数据挨个下载下来

格式是json或者csv都行,字段只需要host就行了

最后整合到一起让AI帮你写一个脚本吧,整合指定文件夹里面的json文件,然后提取出里面的host字段并进行去重处理,一行一个导出到指定文件里面.
持续化扫描
性能问题
实际操作中我们会发现,nuclei对于一个目标会使用多个poc模版去扫描,然后给定的资产目标又有很多,比较吃性能,所以说如果说远端vps的性能不是很好的话。比如说2核2G,就容易爆炸,然后你又不知道进度到哪了😭(-stats参数只显示总的需要扫描的模版数).
这里的话就可以用上面提到的性能参数来进行规范,并通过脚本干预将资产进行切割批次扫描,实测下来发现,-mhe -c -bs -pc 参数都设置成5,然后每500个目标设置成一份,让AI帮你写一个脚本,输入指定目标文件,每500个分成一个临时文件,指定nuclei的参数进行依次扫描,并监测每个批次的扫描,将每个批次的扫描结果实时整合到一个文件里面. 这样你还有点空余内存干其他事🧐.
终端复用问题
你的vps在你进行扫描之后呀,就会把你当前的终端占用,你就没办法干其他事了,并且当你掉线后,你这个扫描的终端就没了😨.
Tumx
这个工具就是来解决这个问题的,它可以实现多个终端窗口的创建和切换,非常适合用来执行多任务操作😁
环境搭建及操作
apt install tmux
tmux new -s nuclei 创建名为nuclei的会话窗口
tmux kill-session -t nuclei 删除名为nuclei的会话窗口
tmux ls 列出所有会话
ctrl+b 按d //退出
ctrl+b 按[ //可以翻整个记录
tmux attach -t sqlmap //进入名为nuclei的会话窗口
可能初次使用还有点不适用,习惯就行,这个退出当前窗口的操作是Ctrl + b 后再按 d 键,然后如果你要在一个窗口里面上下翻的话就要用到[ ,退出这个模式就是是直接Ctrl + c .
具体操作的时候就是你新建一个名字叫nuclei的会话窗口,然后在这个窗口里面进行扫描,然后退出窗口.
CVE-2025-55182批量上线
在一些公众号里面可以找到一些关于搜集这个资产的fofa语句
header="Next.js" || body="/_next/static"
app="Dify"按照上面的方法进行资产收集,nuclei有专门的poc模版在https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-55182.yaml
照理来说这种只扫一个模版的应该性能要求不是特别高,所以说可以不用进行资产分割什么的,把这个模版拉下来,把里面的payload执行的无害命令改成你的C2上线命令,大概是在这

或者你自己找一个poc改一下放上去替换.最后直接
nuclei -l host.txt -t CVE-2025-55128.yaml -stats -silent有一些专门的批量脚本也挺好用的,可以在微信公众号或者github上自己找,不多赘述