yara可以说是正则匹配的工具吧,一般用于病毒的静态检测
下载
这里直接下载windows的
https://github.com/VirusTotal/yara/releases
也可以从这下
https://www.dropbox.com/sh/umip8ndplytwzj1/AADdLRsrpJL1CM1vPVAxc5JZa?dl=0&lst=
Ubuntu 懒得编译可以直接apt安装
1 | sudo apt install yara |
用官方最简单的示例测试是否可用
1 | // 最简单的规则 |
获取yara规则
有开源的:https://github.com/Yara-Rules/rules
规则分11大类:
- Antidebug_AntiVM:反调试/反沙箱类yara规则
- Crypto:加密类yara规则
- CVE_Rules:CVE漏洞利用类yara规则
- email:恶意邮件类yara规则
- Exploit-Kits:EK类yara规则
- Malicious_Documents:恶意文档类yara规则
- malware:恶意软件类yara规则
- Mobile_Malware:移动恶意软件类yara规则
- Packers:加壳类yara规则
- utils:通用类yara规则
- Webshells:Webshell类yara规则
获取样本测试
https://github.com/ytisf/theZoo/tree/master/malwares/Binaries
我们随便下载一个,比如WannaCry的
https://github.com/ytisf/theZoo/tree/master/malwares/Binaries/Ransomware.WannaCry
我们看看他用了什么加密算法,可以看到使用了CRC32,以及AES算法
1 | giantbranch@ubuntu:~/yara/Ransomware.WannaCry$ yara ../rules/Crypto_index.yar ./ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe |
看看属于哪类恶意样本,判断还是比较准确
1 | giantbranch@ubuntu:~/yara/Ransomware.WannaCry$ yara ../rules/malware_index.yar ./ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe |
看看加了什么壳
1 | giantbranch@ubuntu:~/yara/Ransomware.WannaCry$ yara ../rules/Packers_index.yar ./ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe |
有没有反调试反虚拟机
1 | giantbranch@ubuntu:~/yara/Ransomware.WannaCry$ yara ../rules/Antidebug_AntiVM_index.yar ./ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe |
简单总结
通过yara,还有一些开源的规则,我们可以简单快速地静态分析恶意软件
reference
https://yara.readthedocs.io/en/v3.7.0/gettingstarted.html
https://blog.csdn.net/m0_37552052/article/details/79012453