Team Cymru detect-MHR脚本兼容Zeek 6.0.0吗?及MHR检测故障咨询
Zeek 6.0.0下detect-MHR脚本运行问题排查
核心结论
Team Cymru开发的detect-MHR脚本无法直接在Zeek 6.0.0中正常运行。Zeek 6.x系列对文件分析框架(FAF)做了重大重构,老版本detect-MHR依赖的部分回调函数、数据结构API已被移除或修改,导致脚本无法触发恶意哈希匹配逻辑。
排查与修复步骤
- 替换适配版本脚本:原参考教程基于旧版Zeek(5.x及以下),需获取Team Cymru官方针对Zeek 6.x更新的detect-MHR版本,替换原有脚本文件。
- 验证哈希提取流程:
- 检查
local.zeek配置:确保@load base/files/hash已加载,同时设置Hash::hash_all_files = T;、Hash::sha256_enabled = T;。 - 查看
files.log和hashes.log:确认目标恶意文件的SHA256值已被正确提取并记录,若未生成哈希,需检查file-extraction脚本的加载状态。
- 检查
- 手动调试脚本逻辑:
- 在detect-MHR的哈希列表中添加已知恶意SHA256值。
- 执行命令
zeek -C -r test.pcap local.zeek离线分析包含该文件下载流量的pcap,查看notice.log是否生成匹配告警。 - 若无告警,可在detect-MHR脚本中添加调试输出(如
print fmt("Processing hash: %s", h);),验证脚本是否接收到哈希数据。
- 官方框架替代方案:若找不到适配版detect-MHR,可改用Zeek官方
intel框架实现恶意哈希检测:- 创建Intel规则文件,格式如下:
#fields indicator indicator_type meta.source [恶意文件SHA256] FILE_HASH team_cymru - 在
local.zeek中添加配置:@load frameworks/intel/seen @load frameworks/intel/do_notice Intel::read_files += { "/path/to/your/intel-rules.dat" }; - 执行
zeekctl stop && zeekctl deploy重新部署,Zeek会自动匹配文件哈希并生成告警。
- 创建Intel规则文件,格式如下:
内容的提问来源于stack exchange,提问作者45tera
相关产品推荐
相关产品推荐

