面向 Zimbra 管理员的以检测为先、保留证据的应急响应辅助工具,用于调查疑似利用 CVE-2026-73570 的攻击事件。
[!CAUTION] 这是一个独立的社区项目,并非供应商的入侵判定工具。检查器为只读模式,按严重程度报告证据;它无法证明主机是干净的。如果确认或合理怀疑 root 已被入侵,请将该主机视为不可信:保留证据、进行隔离、在干净的系统上轮换密钥,并在受支持的平台上重建。
Service status change: localhost 以及可疑的 shell/下载语法。Zimbra.jsp 副本。gs-dbus、伪进程、IRC/PowerBots、cron、rc.local、SSH 密钥、sudo、临时文件以及活跃的出站连接证据。它不会进行利用、获取载荷、联系 IOC 基础设施、移除工件、提交数据、检查邮箱内容或替代取证分析。未发现结果可能意味着日志缺失/被轮转、持久化未激活、权限不足、存在未识别的变体,或是在攻击者清理之后才进行收集。
在 Zimbra 主机上通过可信的管理会话运行。建议在深入调查之前优先收集证据,因为对在线系统的操作可能会改变易失状态和访问时间。
sudo ./scripts/check-zimbra-73570.sh
sudo ./scripts/check-zimbra-73570.sh --since-days 30 --json /secure/case/check-report.json
sudo ./scripts/collect-evidence.sh --output /secure/case
检查器的退出代码如下:
| 代码 | 含义 |
|---|---|
| 0 | 未发现中/高/严重发现(并非安全的证明) |
| 1 | 存在一个或多个中等发现 |
| 2 | 存在一个或多个高或严重发现 |
| 64 | 用法无效 |
检查器输出使用 INFO、MEDIUM、HIGH 和 CRITICAL 类别。它刻意不将细微的证据折叠成单一的 COMPROMISED 标志。仅当请求 --json 时才写入 JSON 报告。文件检查可通过 --root 针对隔离的测试夹具进行测试;此时将跳过实时的进程和网络检查。
收集器会创建一个权限为 0700 的目录并在其旁边生成压缩归档文件,记录收集元数据,并写入 SHA-256 清单。它仅读取可疑文件以计算哈希值,不会对其进行隔离、截断、chmod、删除或执行。生成的包可能包含敏感的主机名、用户名、日志摘录、配置、IP 地址和公钥:请确保其加密、访问受控,并远离本仓库。
指标分为以下几类:
参见 IOCS.md、iocs.csv 和 iocs.json。不包含恶意软件样本或受害者特定证据。开发期间未联系任何载荷 URL;除非受信任的第三方独立确认,否则 URL 状态为历史性/未经验证。
脱敏证据支持以下工作链:
SMTP 命令注入尝试
-> 以 zimbra 身份执行
-> JSP 持久化
-> 系统清点/侦察
-> GSocket 部署
-> gs-dbus / [kcached]
-> Perl IRC 僵尸程序
-> 可能的 root 提权或持久化
这是事件衍生的链条,并非通用的 CVE 行为。在脱敏证据集中,以服务账户身份下载/执行、交互式 shell、由 root 启动的攻击者控制的 Nginx 配置、root 级 gs-dbus/[kcached] 进程以及每小时一次的 root 持久化均得到直接佐证。确切的提权机制、JSP 部署时间线、每个载荷分支、操作者身份和归因仍是依赖证据的空白点。参见 docs/triage.md。
请勿公开发布实时受害者证据或恶意软件样本。经过内部验证和授权后,防御性指标包可共享给 Shadowserver。URLhaus 提交应仅限于经独立验证为活跃恶意软件分发 URL 的地址;历史性或未经验证的 URL 不应作为活跃地址提交。
所有测试均使用静态夹具,不进行任何网络活动:
make validate
这会检查 Bash 语法、IOC 模式/CSV/JSON 一致性、夹具检测、机器可读输出以及仓库卫生。若安装了 shellcheck,则会使用它。
在提出指标或检测变更之前,请先查阅 CONTRIBUTING.md。按 SECURITY.md 中的说明私下报告安全问题。基于 Apache-2.0 许可;参见 LICENSE。