美文网首页
File 关键字

File 关键字

作者: lx_jian | 来源:发表于2019-06-20 11:26 被阅读0次

Suricata附带了几个规则关键字,以匹配各种文件属性。它们依赖于正确配置的 文件提取

1.filename

匹配文件名

语法:filename:<string>;

示例:filename:"secret";

2.fileext

匹配文件名的扩展名

语法:fileext:<string>;

示例:fileext:"jpg";

3.filemagic 

匹配关于文件的信息libmagic的返回

语法:filemagic:<string>;

示例:filemagic:"executable for MS Windows";

注意:由于libmagic版本在安装之间有所不同,因此返回的信息也可能略有变化。

4.filestore

如果签名匹配,则将文件存储到磁盘

语法:filestore:<direction>,<scope>;

说明:

a. direction可以是:

request/to_server:  在request/to_server方向存储文件

response/to_client:在response/to_client方向存储文件

both:在两个方向存储文件

b.scope可以是:

file:仅存储匹配的文件(对于filename,fileext,filemagic匹配)

tx:  存储匹配的HTTP事务中的所有文件

ssn/flow: 存储来自TCP会话/流的所有文件

如果省略方向和范围,则方向将与规则相同,范围将是每个文件。

5.filemd5

将文件MD5与MD5校验和列表进行匹配 。

语法:filemd5:[!]filename;

文件名已扩展为包含规则目录。在默认情况下,它将变为/etc/suricata/rules/ filename。使用感叹号获得否定匹配。这允许白名单。

示例:

filemd5:md5-blacklist;

filemd5:!md5-whitelist;

文件格式

文件格式很简单。它是一个文本文件,每行有一个md5,在​​行的开头,以十六进制表示法。如果该行有额外信息则会被忽略。

md5sum的输出很好:

2f8d0355f0032c3e6311c6408d7c2dc2   util-path.c

b9cf5cf347a70e02fde975fc4e117760     util-pidfile.c

02aaa6c3f4dbae65f5889eeb8f2bbb8d    util-pool.c

dd5fc1ee7f2f96b5f12d1a854007a818     util-print.c

MD5也很好:

2f8d0355f0032c3e6311c6408d7c2dc2

b9cf5cf347a70e02fde975fc4e117760

02aaa6c3f4dbae65f5889eeb8f2bbb8d

dd5fc1ee7f2f96b5f12d1a854007a818

内存要求

每个MD5使用16个字节的内存。2000万MD5使用大约310 MiB的内存。

suricataMAD5可以查看:https://blog.inliniac.net/2012/06/09/suricata-md5-blacklisting/

6.filesha1

将文件SHA1与SHA1校验和列表进行匹配。

语法:

filesha1:[!]filename;

文件名已扩展为包含规则目录。在默认情况下,它将变为/etc/suricata/rules/ filename。使用感叹号获得否定匹配。这允许白名单。

示例:

filesha1:sha1-blacklist;

filesha1:!sha1-whitelist;

文件格式:与MD5文件格式相同

7.filesha256

将SHA256与SHA256校验和列表进行匹配

语法:

filesha256:[!]filename;

文件名已扩展为包含规则目录。在默认情况下,它将变为/etc/suricata/rules/ filename。使用感叹号获得否定匹配。这允许白名单。

示例:

filesha256:sha256-blacklist;

filesha256:!sha256-whitelist;

文件格式:与MD5文件格式相同

8. filesize

在传输文件时匹配文件的大小

语法:filesize:<value>;

可能的单位是KB,MB和GB,没有任何单位,默认值是字节。

示例:

filesize:100;

filesize:100<>200;

filesize:>100MB;

filesize:<100MB;

注意:对于因数据包丢失或达到stream.depth设置而未完全跟踪的文件不能完整检测。这是因为Suricata可以知道文件大于某个值(它已经看到了一些),但它无法知道最终大小是否在一个范围内,一个精确值或小于一个值。

相关文章

网友评论

      本文标题:File 关键字

      本文链接:https://www.haomeiwen.com/subject/dpklqctx.html