EKFiddle 源码解析:深入 CustomRules.cs 理解恶意流量检测原理 📅 发布时间:2026/8/21 14:25:13 👁 浏览次数: EKFiddle 源码解析深入 CustomRules.cs 理解恶意流量检测原理【免费下载链接】EKFiddleYour Swiss Army knife to analyze malicious web traffic based on the popular Fiddler web debugger.项目地址: https://gitcode.com/gh_mirrors/ek/EKFiddleEKFiddle 是一款基于 Fiddler 调试器打造的恶意流量检测与嗅探分析工具被安全研究员誉为分析恶意 Web 流量的瑞士军刀。本文以项目中 4000 余行的核心文件 CustomRules.cs 为主线从源码层面拆解其恶意流量检测原理带你理解它如何自动识别 Exploit Kit、Magecart 盗刷、恶意广告等威胁流量。全文面向新手无需深厚的逆向功底读完即可上手这套免费的开源分析方案。EKFiddle 是什么一个会报警的 Fiddler 扩展EKFiddle 不是一个独立的抓包工具而是挂载在 Fiddler Classic / Fiddler Everywhere 上的规则引擎与扩展集合。它的前身就是一个名为CustomRules.cs的 FiddlerScript 脚本——Fiddler 启动时会自动加载该脚本并把它编译成代理内核的一部分。在项目根目录中可以看到它交付的两种形态文件作用CustomRules.cs规则源码可直接放入 Fiddler 的 Scripts 目录EKFiddleExtension.exe一键安装器自动完成脚本部署EKFiddle.dll编译后的扩展库新版本替代裸脚本FiddlerEverywhere/EKFiddle.farx供 Fiddler Everywhere 的 Rules 页导入检测入口Fiddler 生命周期钩子如何被接管理解恶意流量检测原理的第一步是看懂CustomRules.cs中Handlers静态类里定义的生命周期钩子。Fiddler 在处理每个 HTTP 会话时会依次触发这些函数EKFiddle 正是在这些节点上做手脚OnBeforeRequest请求发出前用于改包、替换 User-Agent、链式代理等OnPeekAtResponseHeaders响应头刚到达时可关闭流式传输以便修改响应体OnBeforeResponse响应完整到达后的核心检测函数实时监控就在此处完成从 CustomRules.cs 可以看到OnBeforeResponse是整个恶意流量检测原理的中枢它像流水线一样把一个会话的响应依次送入多个检测工位。五大检测机制一次请求如何被判恶意在 OnBeforeResponse 的实现 中EKFiddle 会先取出会话的关键数据响应体 SHA-256 哈希、服务器 IP、完整 URI、请求/响应头、以及解码后的 HTML/JS 源码。随后依次交给五组检测器1. 哈希匹配见过这个指纹吗checkHashRegexes把响应体的 SHA-256 摘要与规则库中的已知恶意样本哈希做正则比对。恶意软件分析社区常共享样本哈希命中即告警。这也是 Regexes/MasterRegexes.txt 中Hash类型规则的用途。2. IP 匹配连接了可疑服务器checkIPRegexes对会话实际连接的服务器 IP 进行匹配。例如恶意广告活动常用的89.223.67.221就出现在规则库的IP类型条目中。3. URI 匹配URL 本身就是线索checkURIRegexes针对请求地址做模式匹配。恶意流量往往有特征化的路径结构比如 GootLoader 的forum.php?载荷地址、ClearFake 的_cf.php落地页等都被提炼成了精确的正则。4. 源码匹配扒开网页看 JScheckSourceCodeRegexes是最有含金量的一环。它会先调用utilDecodeRequest/utilDecodeResponse解压 gzip、解码传输编码再把页面源码交给规则扫描。Magecart 盗刷脚本、SocGholish 注入片段、反调试代码全都逃不过这一层内容级检测。5. 头匹配Header 里藏着的秘密checkHeadersRegexes将完整的请求头响应头拼接后扫描用于捕捉那些藏在Set-Cookie、Server等字段中的恶意特征。规则库设计MasterRegexes.txt 的智慧所有的检测模式都集中存放在 Regexes/MasterRegexes.txt 中采用Tab 分隔的四段式结构类型 规则名 正则 参考来源。类型分为SourceCode、URI、Hash、IP四种正好对应上面的五组检测器。更巧妙的是它支持*AND*/*OR*逻辑组合SourceCode SmartApeSG \.zip[a-z]\.substr\(-4\) *AND* msSaveOrOpenBlob SourceCode ClearFake (injection) base64,YXN5bmMgZnVuY3 URI SocGholish ^http(s|):\/\/(?!www)[^.]...规则按威胁家族分类注释Social engineering、Magecart、Suspicious traffic 等并且文件头部明确警告不要直接编辑本文件用户自定义规则应放入CustomRegexes.txt避免更新时被覆盖。项目还提供了 Misc/ExtractionRules.txt 用于 CMS 指纹提取配合getCMS函数在高级 UI 中显示网站所使用的 CMS 类型。命中之后配色即情报检测到威胁后EKFiddleAddInfo 会根据命中类型给会话上色让分析师一眼识别攻击阶段 黑色背景 → 恶意广告活动Campaign 紫色背景 → C2 命令与控制服务器 橙色背景 → Exploit 漏洞利用SWF 等 红色背景 → Payload 恶意载荷 青色背景 → 落地页 / 默认告警同时会播放系统提示音确保你在监控大量流量时不会漏掉关键会话。这些颜色编码规则在 CustomRules.cs 中一目了然。进阶能力不止于正则除正则检测外CustomRules.cs还封装了不少进阶功能YARA 规则支持可导入 YARA 规则对响应体做更复杂的恶意特征匹配图片隐写检测EKFiddleInspectImages检查伪装的图片识别 MIME 类型不符或藏有隐写内容的响应体Connect-the-dots从某个恶意会话出发自动回溯其来源链路referer 链还原攻击路径OSINT 一键联动右键即可把域名/IP/哈希发送到 VirusTotal、Urlscan.io、Sucuri 等平台做情报查询QuickExec 命令在 Fiddler 底栏输入ekfiddle可查看全部快捷指令如run立即重跑规则、reset清空标记如何开始你的第一次恶意流量分析安装 Fiddler Classic或 Fiddler Everywhere运行项目根目录的 EKFiddleExtension.exe 一键安装或将 CustomRules.cs 放入 Fiddler 的 Scripts 目录在 Fiddler 的 Rules 菜单勾选EKFiddle Real-Time Monitoring开启实时检测在UI mode中切换为 Advanced UI即可看到新增的 SHA-256、CMS 类型、Server IP 等情报列打开 Regexes 菜单 更新规则库开始捕获流量写在最后EKFiddle 的恶意流量检测原理并不神秘它把安全社区沉淀的威胁情报正则、哈希、YARA、IP嵌入 Fiddler 的代理生命周期让每一次 Web 请求都被自动体检。对于刚入门恶意软件分析的新手来说它是理解流量侧检测的最佳教材——毕竟威胁情报驱动的检测思想在如今任何一个 WAF 或 EDR 产品里都能看到它的影子。如果你需要克隆本项目动手实践可执行git clone https://gitcode.com/gh_mirrors/ek/EKFiddle获取全部源码与规则文件。【免费下载链接】EKFiddleYour Swiss Army knife to analyze malicious web traffic based on the popular Fiddler web debugger.项目地址: https://gitcode.com/gh_mirrors/ek/EKFiddle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考