##Suricata规则格式


alert http $EXTERNAL_NET 80 -> $HOME_NET any (msg:"ET MALWARE CommentCrew Possible APT crabdance backdoor base64 head"; flow:established,to_client; file_data; content:"MS4nJzJ4cHZyeQ=="; metadata: former_category MALWARE; classtype:targeted-activity; sid:2016485; rev:4; metadata:created_at 2013_02_22, updated_at 2013_02_22;)
1. 基本结构

Suricata规则的基本格式通常由以下几个部分组成:

  • 动作(action): 描述Suricata检测到匹配的流量后应执行的动作,例如 alertdropreject 等。
  • 协议(protocol): 指定适用的协议,例如 httptcpudp 等。
  • 源IP地址和端口(source IP and port): 例如 $EXTERNAL_NET 80,表示外部网络发送到80端口。
  • 目标IP地址和端口(destination IP and port): 例如 $HOME_NET any,表示发送到内部网络的任意端口。
  • 规则选项(options): 包含具体的匹配条件和相关信息,例如 msg, content, sid 等。

具体来说,示例中的规则是:

alert http $EXTERNAL_NET 80 -> $HOME_NET any (msg:"ET MALWARE CommentCrew Possible APT crabdance backdoor base64 head"; flow:established,to_client; file_data; content:"MS4nJzJ4cHZyeQ=="; metadata: former_category MALWARE; classtype:targeted-activity; sid:2016485; rev:4; metadata:created_at 2013_02_22, updated_at 2013_02_22;)
2. 规则解析
  • alert: 动作。检测到符合条件的流量时生成警报。
  • http: 协议。此规则只对HTTP流量有效。
  • $EXTERNAL_NET 80 -> $HOME_NET any:
  • $EXTERNAL_NET 80: 源自外部网络的流量,且源端口为80。
  • $HOME_NET any: 目标是内部网络的任意端口。
3. 规则选项
  • msg:"ET MALWARE CommentCrew Possible APT crabdance backdoor base64 head":
  • msg 定义了生成警报时的消息。此消息表明该流量可能与 “CommentCrew” 相关的APT(高级持续威胁)活动有关,且检测到的内容为后门程序的Base64编码数据头部。
  • flow:established,to_client:
  • flow 定义了流量的方向和状态。此处表示必须是已建立的会话,并且数据流从服务器传向客户端。
  • file_data:
  • 这一选项表明需要在传输文件数据中搜索匹配内容,而不是在传统的payload中。这在HTTP协议中常用于检测文件传输中的特定模式。
  • content:"MS4nJzJ4cHZyeQ==":
  • content 表示要匹配的数据内容。这里的内容是Base64编码的字符串 "MS4nJzJ4cHZyeQ==",在解码后是 '1.'2xpvry,可能是某种恶意软件的特征标识符。
  • metadata: former_category MALWARE:
  • metadata 包含额外的信息。在这里,它表示该规则以前归类为恶意软件检测。
  • classtype:targeted-activity:
  • classtype 定义了流量的类别。targeted-activity 表示该活动可能是目标攻击(如APT)的一部分。
  • sid:2016485:
  • sid 是规则的唯一标识符,用于在Suricata中唯一标识该规则。通常规则集会为每条规则分配一个独特的 sid
  • rev:4:
  • rev 是规则的修订版本号。在此规则的开发和维护中,rev 从1递增至4,表明该规则已有过多次修订。
  • metadata:created_at 2013_02_22, updated_at 2013_02_22:
  • 再次出现的 metadata 用于记录规则的创建和更新日期。此规则最早创建并更新于2013年2月22日。
4. 总结

此Suricata规则通过HTTP协议监控来自外部网络的流量,特定匹配基于Base64编码的数据内容,指向潜在的与CommentCrew APT活动相关的后门程序。系统在检测到匹配时会发出警报。规则细节表明该规则是针对已建立的会话,且特别指向了从服务器发向客户端的流量。