You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Immersivelabs Snort规则EP.2:检测interbanx DNS请求规则失效求助

问题分析与解决建议

一、两个域名DNS查询的核心差异排查点

  • 标签长度与编码匹配:你规则中|09|interbanx的09是十六进制长度值,对应十进制9,但需确认PCAP中interbanx标签的实际长度是否为9。若目标查询包含子域名(如www.interbanx.com),标签序列会变为|03|www|09|interbanx|03|com|00|,原规则自然无法匹配。
  • DNS域名压缩:DNS协议会对重复域名使用指针压缩(十六进制以c0开头),若interbanx.com的查询包采用了压缩,你手动编写的完整十六进制content规则会因无法匹配指针而失效——这是Q3和Q4最可能的差异点。
  • 查询类型差异:Q3的icanhazip查询可能是A记录,而Q4的interbanx查询可能是AAAA、MX或其他类型,未指定查询类型的规则可能漏匹配。

二、用Wireshark分析PCAP的操作步骤

  1. 加载目标PCAP,使用过滤条件udp.port == 53 && dns.qry.name contains "interbanx"定位目标查询包。
  2. 选中数据包,展开Domain Name System (query) → Queries,确认完整查询域名、查询类型。
  3. 切换至Bytes面板,查看域名段的十六进制编码:
    • 对比icanhazip的编码09 69 63 61 6e 68 61 7a 69 70 03 63 6f 6d 00,检查interbanx的编码是否与你规则中|09|interbanx|03|com|00|完全一致,是否存在压缩指针(如c0 0c这类指向已有域名的标记)。

三、Snort规则调整方案

  • 针对域名压缩的优化:放弃手动匹配十六进制,改用Snort内置的dns.query选项直接匹配查询域名,该选项会自动处理压缩逻辑:
    alert udp any any -> any 53 (msg:"interbanx DNS query"; content:"interbanx"; dns.query; sid:5000011;)
    
  • 修正标签长度:若Wireshark显示域名包含子域名,调整content的十六进制序列,例如针对www.interbanx.com的规则:
    alert udp any any -> any 53 (msg:"alert"; content:"|03|www|09|interbanx|03|com|00|"; sid:5000011;)
    
  • 指定查询类型:若确认查询类型为AAAA,添加类型匹配条件:
    alert udp any any -> any 53 (msg:"interbanx AAAA query"; content:"|09|interbanx|03|com|00|"; dns.query.type == AAAA; sid:5000011;)
    

内容的提问来源于stack exchange,提问作者Eldar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:31:03