Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
synology-nas-cli — nas:一个面向 Synology DSM 7 的零依赖 Python CLI + MCP 服务器。一条命令即可审计并修复 C3RB3R / .L0CK3D 勒索软件攻击活动;把它交给你的 AI 代理即可。 | Kitploit
工具/GitLabGitLab/aa22396584/synology-nas-cli
防御工具漏洞分析脚本与自动化配置审计网络安全恶意软件分析实用工具与框架硬件与物联网安全身份验证错误配置事件响应AI 安全
16小时19分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitLabaa22396584/synology-nas-cli

synology-nas-cli

nas:一个面向 Synology DSM 7 的零依赖 Python CLI + MCP 服务器。一条命令即可审计并修复 C3RB3R / .L0CK3D 勒索软件攻击活动;把它交给你的 AI 代理即可。

查看仓库

synology-nas-cli

用一条命令即可针对 C3RB3R / .L0CK3D 勒索软件活动审计 Synology NAS,再用第二条命令修复其发现的问题,之后便可继续从终端运行 DSM。

Releases License: MIT

规范仓库、发布版本与问题追踪:https://gitlab.com/aa22396584/synology-nas-cli

nas 是一个零依赖的 Python CLI(仅使用标准库,Python 3.8+,因此也可直接在 DSM 本身上运行),同时也是一个面向 Synology DSM 7 Web API 的 stdio MCP 服务器:提供状态、健康检查、日志、软件包、卷、Tailscale、DSM 升级、推送到 webhook 的定时健康告警,以及一个事件审计与修复工具——该工具是在 2026 年 10 月针对暴露于互联网的 Synology NAS 设备的 C3RB3R / .L0CK3D 活动期间构建的(Synology-SA-24:20、SA-26:13、SA-26:14)。

与 Synology Inc. 无关联。"Synology"、"DSM" 和 "QuickConnect" 是 Synology Inc. 的商标。

  • 交给你的智能体
  • 它检查并修复什么
  • 安装
  • 选择你的部署方式
  • 配置
  • 凭据
  • 后端
  • 事件快速开始
  • nas incident fix
  • MCP 服务器与智能体技能
  • 告警与 webhook
  • 命令参考摘要
  • 会改变 NAS 的操作
  • 测试
  • 繁體中文說明

交给你的智能体

将以下任一提示词粘贴到 Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Grok Bot 或任何可使用工具的 AI 智能体中(Grok Bot 设置、技能与告警例程:docs/GROK-BOT.md):

英文提示词:

Use https://github.com/akari-sora/synology-nas-cli to audit and fix my Synology NAS at https://192.0.2.10:5001. Follow docs/AGENT-RUNBOOK.md.

繁体中文提示词:

使用 https://github.com/akari-sora/synology-nas-cli 檢查並修復我的 Synology NAS(位址:https://192.0.2.10:5001),照著 docs/AGENT-RUNBOOK.md 的步驟執行。

代理逐步执行的操作

  1. 安装:克隆仓库(或安装软件包)并验证 ./bin/nas --version。
  2. nas setup:运行 nas setup --json --no-input ... 以写入 ~/.config/synology-nas-cli/config.json(权限 0600),登录一次以验证凭据,并在首次使用时固定 DSM 的 TLS 证书 SHA-256 指纹。
  3. nas doctor:运行 nas doctor --json 以验证配置、凭据、源可达性、TLS 固定、登录、DSM 版本是否符合 SA-26:13、两步验证状态、管理员能力以及时钟偏差。
  4. nas incident:运行 nas incident --json(可选 --probe --scan)对 DSM 版本、存在漏洞的软件包、防火墙、QuickConnect、UPnP 路由器规则、公网端口、外部及失败登录、AutoBlock、SMB1、内置 admin 账户、快照计划、不受支持型号的 WORM 锁定陷阱、勒索信以及 CVE-2024-10441 漏洞利用尝试进行只读审计。
  5. 计划:运行 nas incident fix --dry-run --json --ransom-scan,显示每一项计划变更(before -> after)、确切的 DSM Web API 调用以及对应的 DSM Web UI 路径。
  6. nas incident fix --yes:按顺序应用已批准的计划(snapshot_worm → snapshots → packages → smb_min_protocol → quickconnect → router_port_forwarding → autoblock → admin_account → firewall,外加可选的 --rotate-password 和 --upgrade),回读每一项设置以进行验证,并重新运行审计。
  7. 可选的 --deep 和 alert-deploy:运行 nas incident --deep --json(通过任务计划程序运行一个只读的 root 收集器,检查仅 root 可访问的日志、crontab、/bin 二进制文件、账户、SSH 密钥和 /proc)以及 nas alert-deploy --json --test(将 10 分钟一次的健康与安全监控推送到 webhook)。

过程中你需要提供的内容

  1. NAS 地址和账户(一次):
    • DSM URL(例如 https://192.0.2.10:5001,如果使用 VPN/Tailscale,还需提供其 URL)。
    • 管理员用户名及其密码来源(op://VAULT/ITEM/password、密码命令或操作系统钥匙串)。
    • 需要在防火墙中保持允许的 LAN/VPN 子网 CIDR(例如 192.0.2.0/24)。
    • 可选的用于临时暂存的共享文件夹路径(例如 /docker/.nas-cli-deploy,供 --deep 和 alert-deploy 使用)。
  2. 6 位 2FA 验证码(一次,如果启用了两步验证):
    • 当 nas setup 以退出码 3 退出并返回 "field": "otp" 时,提供当前的 6 位验证码;--trust-device 会存储 DSM 的受信任设备令牌(0600),以便后续命令无需验证码。
  3. 计划确认:
    • 在运行 nas incident fix --yes 之前审查 dry-run 计划(并选择是否包含 --rotate-password 或 --upgrade)。

完整的代理规范:docs/AGENT-RUNBOOK.md。

它检查并修复的内容

nas incident 是只读的。每一项都会打印 PASS、WARN、FAIL 或 SKIP,并附带一行提示(--json 输出结构化 JSON;schema 见 schemas/incident.schema.json)。当任何一项为 FAIL 时,退出状态为 1。

项目nas incident 报告的内容nas incident fix 更改的内容
dsm_version如果 DSM 构建版本早于其分支的 SA-26:13 修复构建版本,或处于没有 SA-26:13 修复的分支(DSM 7.1 及更早版本),则报告 FAIL;如果已修补,则报告 PASS使用 --upgrade:下载该型号最新的官方 .pat,运行 PreCheck,安装并重启
sa_26_14_packages根据 Synology-SA-26:14(Calendar、MailStation、PHP 7.3–8.4)检查已安装的套件:如果正在运行易受攻击的版本,则报告 FAIL;如果已安装但已停止,则报告 WARN停止正在运行的易受攻击套件(--only packages)
firewall当防火墙关闭且 NAS 自身持有公网 IP(例如拨号 PPPoE)时报告 FAIL;当防火墙关闭但位于 NAT 之后时报告 WARN;当接口接受未匹配的流量或规则允许任意来源(source_ip: all)时报告 FAIL/WARN启用防火墙,为本机的 /32(按 DSM 记录的方式)以及 LAN 接口上的 IPv4 allowed_networks 添加允许规则,将所有非 global 接口策略设置为 drop,并移除允许任意来源的规则(--only firewall)
quickconnect当 QuickConnect 或 QuickConnect 自动路由器端口转发已启用时报告 FAIL关闭 QuickConnect 及其 UPnP 路由器端口转发(--only quickconnect)
router_port_forwarding当 DSM 已在路由器上启用 UPnP/NAT-PMP 端口转发规则时报告 FAIL禁用所有由 DSM 管理的路由器端口转发规则(--only router_port_forwarding)
public_ports仅在 --probe 时:从本机向 NAS 公网 IP 上的 DSM 和文件服务端口发起 TCP 连接(如果有任何端口响应,则报告 FAIL)由 firewall、quickconnect 和 router_port_forwarding 覆盖
external_signins当连接日志包含来自 allowed_networks 之外源地址的成功登录时报告 FAIL无(调查未经授权的访问;参见 docs/INCIDENT-C3RB3R.md)
failed_signins当最近 --hours(默认 24)内的失败登录次数超过 --failed-threshold(默认 20)时报告 WARN由 firewall 和 autoblock 缓解
autoblock当 AutoBlock 已禁用时报告 FAIL启用 AutoBlock(5 分钟内 10 次尝试,永久封禁),并将本机 IP 以及 IPv4 allowed_networks(如果 incident.autoblock_allow_loopback 为 true,还包括 127.0.0.1)加入允许列表(--only autoblock)
smb_min_protocol当 SMB 已启用且允许 SMB1(smb_min_protocol=0)时报告 FAIL;当 SMB 已关闭但最低协议为 SMB1 时报告 WARN将最低 SMB 协议提升至 SMB2(smb_min_protocol=1、smb_max_protocol=3)(--only smb_min_protocol)
admin_account当内置 admin 账户已启用(expired: normal)时报告 FAIL在确认存在另一个已启用的管理员且当前会话不是 admin 后,通过临时 root 任务禁用内置 admin 账户(--only admin_account)
snapshot_schedule:<share>按共享文件夹:如果不存在快照计划、计划已禁用,或最新的计划快照早于 snapshot_max_age_hours(默认 26 小时),则报告 FAIL在尚无计划的共享上创建每日快照计划(默认 03:30)和 14 天保留策略;需在同一次运行中通过 --ransom-scan 扫描,或使用 --i-know-snapshots-may-rotate(--only snapshots)
snapshot_worm:<share>当在 SYNO.DisasterRecovery.Retention info 缺少 worm 的型号上启用了不可变快照(WORM)锁时报告 FAIL(DSM 接受 API 调用,但计划快照会静默停止)在受影响的共享上关闭不受支持的 WORM 锁,使计划快照恢复;与 snapshots 一样受相同条件限制(--only snapshot_worm)
ransomware_files仅在 --scan 时:通过 File Station 在共享中搜索 *.L0CK3D、*.LOCK3D 和 read-me3.txt(如果找到任何匹配项,则报告 FAIL)无(需要事件响应;参见 docs/INCIDENT-C3RB3R.md)
exploit_attempts扫描 DSM 连接日志,查找 CVE-2024-10441 登录注入标记(PLUGIN_VALUE_END、LD_PRELOAD=、LD_DEBUG_OUTPUT)以及 incident.ioc_ips(发现尝试时给出 WARN)无(使用 --deep 检查以确认是否有任何尝试成功)
exploit_attempts_logs、ioc_cron、ioc_binaries、ioc_users、ioc_ssh_keys、ioc_processes仅在 --deep 下:运行一个只读 root 收集器,检查 /var/log/synoplugin.log*、/var/log/synoscgi.log*、/var/log/auth.log*、crontab(/etc/cron.d/synot*)、/bin/libgld、/bin/qnetd、/bin/l0ck.enc、xdy5*、额外的 uid-0 或未知账户、authorized_keys 以及 /proc 进程/连接(发现已知 C3RB3R 痕迹时给出 FAIL,发现未知条目时给出 WARN)无(需要事件响应;参见 docs/INCIDENT-C3RB3R.md)

SKIP 始终会说明原因:该项需要某个标志(--probe、--scan),API 返回了错误,或者 NAS 不使用该功能(没有 Btrfs/Snapshot Replication,DSM 中未配置路由器)。

安装

从 Git 检出(零安装)

git clone https://gitlab.com/aa22396584/synology-nas-cli.git synology-nas-cli
cd synology-nas-cli
./bin/nas --help                     # runs directly from the checkout (Python 3.8+ stdlib only)
ln -s "$PWD/bin/nas" ~/bin/nas       # optional: put `nas` on PATH

使用 pip 从 GitLab 发布版本或本地检出安装

pip install https://gitlab.com/aa22396584/synology-nas-cli/-/archive/v1.0.0/synology-nas-cli-v1.0.0.tar.gz
# or from a local checkout:
pip install -e .                     # or: pipx install .
nas --help

在 Windows 上(使用 py)

下载工具