10.27. Kerberos 关键词

10.27.1. krb5_msg_type

该关键词用于通过消息类型(整数)匹配Kerberos消息。可以指定RFC4120中定义的以下值:

  • 10 (AS-REQ)

  • 11 (AS-REP)

  • 12 (TGS-REQ)

  • 13 (TGS-REP)

  • 30 (ERROR)

语法:

krb5_msg_type:<数字>

规则示例:

alert krb5 any any -> any any (msg:"Kerberos 5 AS-REQ消息"; krb5_msg_type:10; sid:3; rev:1;)
alert krb5 any any -> any any (msg:"Kerberos 5 AS-REP消息"; krb5_msg_type:11; sid:4; rev:1;)
alert krb5 any any -> any any (msg:"Kerberos 5 TGS-REQ消息"; krb5_msg_type:12; sid:5; rev:1;)
alert krb5 any any -> any any (msg:"Kerberos 5 TGS-REP消息"; krb5_msg_type:13; sid:6; rev:1;)
alert krb5 any any -> any any (msg:"Kerberos 5 ERROR消息"; krb5_msg_type:30; sid:7; rev:1;)

10.27.2. krb5_cname

Kerberos客户端名称,在票据中提供(用于AS-REQ和TGS-REQ消息)。

如果Kerberos消息中的客户端名称由多个部分组成,则名称会与每个部分进行比较,只要有任何部分相同就会匹配成功。

比较区分大小写。

语法:

krb5_cname; content:"名称";

规则示例:

alert krb5 any any -> any any (msg:"Kerberos 5 des服务器名称"; krb5_cname; content:"des"; sid:4; rev:1;)

krb5_cname 是一个'sticky buffer'。

krb5_cname 可以用作 fast_pattern

krb5.cname 支持多缓冲区匹配,参见 多缓冲区匹配

10.27.3. krb5_sname

Kerberos服务器名称,在票据中提供(用于AS-REQ和TGS-REQ消息)或在错误消息中提供。

如果Kerberos消息中的服务器名称由多个部分组成,则名称会与每个部分进行比较,只要有任何部分相同就会匹配成功。

比较区分大小写。

语法:

krb5_sname; content:"名称";

规则示例:

alert krb5 any any -> any any (msg:"Kerberos 5 krbtgt服务器名称"; krb5_sname; content:"krbtgt"; sid:5; rev:1;)

krb5_sname 是一个'sticky buffer'。

krb5_sname 可以用作 fast_pattern

krb5.sname 支持多缓冲区匹配,参见 多缓冲区匹配

10.27.4. krb5_err_code

Kerberos错误代码(整数)。该字段仅在Kerberos错误消息中匹配。

关于错误代码列表,请参考RFC4120第7.5.9节。

语法:

krb5_err_code:<数字>

规则示例:

alert krb5 any any -> any any (msg:"Kerberos 5错误 C_PRINCIPAL_UNKNOWN"; krb5_err_code:6; sid:6; rev:1;)

10.27.5. krb5.weak_encryption (事件)

当服务器选择的加密参数较弱或已弃用时触发的事件。例如使用小于128位的密钥大小,或使用已弃用的加密算法如DES。

语法:

app-layer-event:krb5.weak_encryption

规则示例:

alert krb5 any any -> any any (msg:"SURICATA Kerberos 5弱加密参数"; flow:to_client; app-layer-event:krb5.weak_encryption; classtype:protocol-command-decode; sid:2226001; rev:1;)

10.27.6. krb5.malformed_data (事件)

在协议解码错误时触发的事件。

语法:

app-layer-event:krb5.malformed_data

规则示例:

alert krb5 any any -> any any (msg:"SURICATA Kerberos 5畸形请求数据"; flow:to_server; app-layer-event:krb5.malformed_data; classtype:protocol-command-decode; sid:2226000; rev:1;)

10.27.7. krb5.ticket_encryption

Kerberos票据加密(枚举)。

关于加密类型列表,请参考RFC3961第8节。

语法:

krb5.ticket_encryption: (!)"weak" 或 以空格/逗号分隔的整数或加密类型字符串列表

规则示例:

alert krb5 any any -> any any (krb5.ticket_encryption: weak; sid:1;)
alert krb5 any any -> any any (krb5.ticket_encryption: 23; sid:2;)
alert krb5 any any -> any any (krb5.ticket_encryption: rc4-hmac,rc4-hmac-exp; sid:3;)