Nacos 综合漏洞利用工具(重构版)
gandli
gandli
夜组安全
2026年10月13日 07:30
青海
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!所有工具安全性自测!!!VX:NightCTI
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全“设为星标”,否则可能就看不到了啦!
工具介绍
Nacos 综合漏洞利用工具(GUI + CLI)。单文件 jar-with-dependencies 即用。
本仓库基于 h0ny/NacosExploit v3.0.5(https://github.com/h0ny/NacosExploit) 重建。上游的 3.0.5 源码从未进入 git(v3.0.5 标签的树只有 README 和图片),本仓库的基线是从官方发布产物 nacos-exploit-3.0.5-jar-with-dependencies.jar反编译还原的,并做了逐类签名等价校验(见下方「与官方 3.0.5 的等价性」)。在此基线上新增了批量导出配置与自动解压,并修掉三个实测存在的问题。
下载与运行
# Release 产物(单文件,自带全部依赖)
java -jar nacos-exploit-3.0.5-jar-with-dependencies.jar # 无参数 = GUI
java -jar nacos-exploit-3.0.5-jar-with-dependencies.jar probe http://127.0.0.1:8848/nacos
java -jar nacos-exploit-3.0.5-jar-with-dependencies.jar batch --file targets.txt --export
| 场景 | 要求 |
|---|---|
| 构建 | JDK 8 + Maven(3.0.5 官方产物就是 Build-Jdk-Spec 1.8;源码的 source/target 为 1.8) |
| GUI / 扫描 / 导出 | JDK 8+(FlatLaf 3.6 只在 JDK 11+ 下生效,JDK 8 上 GUI 会回退到系统主题;CLI 不受影响) |
| Derby 内存马 / JRaft Hessian 反序列化 | JDK 8 (利用链基于 JDK 8 原生 gadget) |
目标地址怎么写
工具会自己把地址试对,以下写法等价(按你给的原样 → 补全 → 根路径//nacos 两套都试 → http/https 互为回落):
| 你写的 | 实际请求 |
|---|---|
127.0.0.1:8848 |
补 http://,先试 http://127.0.0.1:8848/v1/console/server/state,再试 .../nacos/v1/... |
http://192.168.1.10:8848 |
根路径与 /nacos 两个上下文都试 |
http://192.168.1.10:8848/nacos |
同上(带了前缀也照样回落到根路径) |
https://nacos.example.com |
https 优先,失败回落到 http |
- 探测面按大版本自动切换:1.x/2.x 打
/v1/console/server/state,3.x 打/v3/admin/core/state(响应裹{code,message,data},会自动剥data)。 - 只写端口号(
8841)或缺主机名的写法会被拒为errorCode:10(格式非法)。所有候选都失败同样返回10,不会把死端口报成\"已识别\"。
命令
# GUI(默认,无参数)
java -jar nacos-exploit-3.0.5-jar-with-dependencies.jar
# CLI(无头,stdout 最后一行恒为 RESULT <单行 JSON>,日志走 stderr)
probe <url> # 环境探测:版本 / 是否开鉴权 / standalone
scan <url> [--vulns \"名1,名2\"] # 漏洞扫描
export <url> [--out DIR] [--no-extract] # 导出全部命名空间配置(默认自动解压)
batch --file targets.txt [--export] [--out DIR] [--no-extract] [--csv C]
cipher {encrypt|decrypt} [jasypt|aes|sm4] --text X --key K [--stdin] # 本地加解密(jasypt 的 key 是 salt)
gui [--no-window] [--port N] # 无头形态:仅 API(--no-window),默认端口 41573 被占自动后扫
--list-vulns # 列出可用漏洞名
--version | --help
无头控制 API(仅绑 127.0.0.1,供脚本/agent 驱动):
java -jar nacos-exploit-3.0.5-jar-with-dependencies.jar gui --no-window --port 0 > /tmp/ne.out 2>&1 &
URL=$(grep '^RESULT ' /tmp/ne.out | tail -1 | python3 -c 'import sys,json; print(json.load(sys.stdin)[\"controlUrl\"])')
curl -s \"$URL/api/openapi.json\" # 端点目录
curl -s -X POST \"$URL/api/probe\" -d '{\"url\":\"127.0.0.1:8848\"}'
退出码:0 成功 / 2 用法错误 / 10 目标不可达或未识别 / 12 无可用认证绕过 / 14 通用失败。
相对官方 3.0.5 的改动
| 改动 | 说明 |
|---|---|
| 配置导出自动解压 | 落盘 zip 后立即解压到 <zip 名>.extracted/,并写 manifest.csv(rawPath/group/dataId/type/size/sha256)。GUI 认证页与批量页、CLI 三处共用同一实现。--no-extract 退回 3.0.5 行为 |
| 开启批量导出配置 | GUI 批量页复选框从 setEnabled(false) 放开;新增 CLI batch --export(目标清单、单目标失败不中断) |
| 新增无头 CLI | 3.0.5 只能点界面。补 probe/scan/export/batch/--list-vulns,stdout 末行 RESULT <单行 JSON> + 退出码契约,便于脚本与 agent 自动化;无参数仍是原 GUI |
修 META-INF/services 缺失 |
3.0.5 发布产物里没有 META-INF/services/com.github.h0ny.model.AbstractVulnerability,而 VulnerabilityLoader 走 ServiceLoader —— GUI 的漏洞列表是空的,一项都加载不到。本仓库补齐注册文件(11 个检测项),CI 里断言注册数 ≥ 10 |
修默认 token.secret.key 漏报 |
官方默认密钥长 69 字符,69 % 4 == 1 不是合法 Base64;jjwt 的 Decoders.BASE64 是宽容解码器,不报错但悄悄截成 51 字节,签出的 token 与服务端密钥不一致。实测真实 Nacos 2.2.3(NACOS_AUTH_TOKEN = 默认密钥):raw UTF-8 字节签的 HS256/HS512 返回 200(可绕过),jjwt 解码字节返回 403。改为按长度判定 Base64,否则用原始字节。该项在真实目标上由 SAFE 翻为 VULNERABLE |
| 导出路径消毒 | 3.0.5 直接 baseDir.resolve(namespaceShowName + \"_\" + fileName),文件名来自服务端响应,可被 ../ 越界覆写本机文件。现在白名单消毒 + resolve 后前缀校验,纯点分量单独打掉 |
| 包名与坐标 | com.github.h0ny → com.github.gandli.nacos,groupId com.github.gandli |
| CI / Release | GitHub Actions(JDK 8 + Maven 缓存)构建;v* 标签自动发 jar-with-dependencies.jar + .sha256 + -bin.zip,jar 名跟随标签 |
工具获取
点击关注下方名片进入公众号
回复关键字【261013】获取下载链接
往期精彩
往期推荐
psnb-obs — 破甲作战系统:LLM 安全评测与红队工具链
AI 驱动的自动化代码审计与漏洞挖掘平台,支持多 Agent 协作扫描、数据流分析、漏洞管理和可视化审计
一键获取目标网站的源代码信息、网络数据包(HAR)、页面快照与媒体资源,方便进行逆向、二次开发与安全分析
一个 AI 驱动的安全研究工作台,面向 CTF、渗透测试、红队行动、逆向分析、Pwn、IoT/车联网研究和恶意样本分析
应急响应流量分析工具,支持pcap、excel、log等多种数据源,同时结合加解密、反编译等多个工作流
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论