Yara规则以及yargen工具总结
- 任务目标
- yara规则;
- 使用yargen对webshell生成yara规则;
- 使用yara对目标文件进行扫描。
- 任务一:yara规则
yara规则:
首先我从yara规则的结构出发,yara规则分为两部分:字符串定义和条件表达式部分;
简单的实例:
Rule guize1[m1]
{
String:[m2]
$a_text=”text here” nocase wide[m3]
$b_hex={E2 34 A1 ?? FB}
Condition:[m4]
$a_text or $b_hex //条件部分
}
-
- 实例1
1,匹配jpg图片的yara规则:
2,扫描结果:
-
- 实例2
1,匹配png图片的yara规则:
2,扫描结果:
-
- 实例3
1,匹配文本的yara的规则:
2,扫描结果;
3,文件内容:
- 任务二与任务三
- 任务内容
1,使用yargen对webshell生成yara规则
2,使用yara对目标文件进行扫描
-
- 安装
- 安装yargen;
- 在https://github.com/Neo23x0/yarGen 下载源码到本地电脑。
- 使用以下命令安装所有依赖项 pip install scandir ,pip install pefile和pip install scandir lxml naiveBayesClassifier,安装完成之后如下图所示:
- 在终端运行python yarGen.py --update以自动下载内置数据库。将保存到“ ./dbs”子文件夹中,以下是生成db文件
- 对webshell样本文件生成yara规则文件
- 在终端输入yarGen.py -m webshell文件 //-m 参数:使用附带的数据库(FAST)创建一些规则。
6,Yara下载地址:http://virustotal.github.io/yara/ (下载完在命令行中运行)
-
- 生成ASP的yara规则
1,使用yarGen.py -m ./ASP生成yara规则。
- 使用yara规则对ASPwebshell进行检测:(检测率为:100%)
3,将扫描的结果放到文档中和原文件数量进行对比。(检测率为:100%)
-
- 生成ASPX的yara规则
-
- 使用yarGen.py -m ./ASPX生成yara规则。
2,使用yara规则对ASPXwebshell进行检测:(检测率为:100%)
3,将扫描的结果放到文档中和原文件数量进行对比。(检测率为:100%)
-
- 生成JSP的yara规则
1,在生成JSP规则时出现了以下错误
解决办法为:字符集的问题,在文件前加两句话:
reload(sys)
sys.setdefaultencoding( "utf-8" )
修改完成后,生成规则成功:
2,使用yara规则对JSPwebshell进行检测:(检测率为:100%)
3,将扫描的结果放到文档中和原文件数量进行对比。(检测率为:100%)
-
- 生成PHP的yara规则
-
- 使用yarGen.py -m ./PHP生成yara规则。
2,在扫描目标时出现了变量错误
解决办法:
- 使用yara规则对JSPwebshell进行检测:(检测率为:100%)
4,将扫描的结果放到文档中和原文件数量进行对比。(检测率为:100%)
- 总结