##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检测到匹配的流量后应执行的动作,例如
alert
、drop
、reject
等。 - 协议(protocol): 指定适用的协议,例如
http
、tcp
、udp
等。 - 源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活动相关的后门程序。系统在检测到匹配时会发出警报。规则细节表明该规则是针对已建立的会话,且特别指向了从服务器发向客户端的流量。