【发布时间】:2019-10-18 23:50:57
【问题描述】:
Regex 对我来说一直是个黑盒子。
我相信我需要使用一些正则表达式来编写以下一些 yara 规则。 Yara 规则使用正则表达式来匹配恶意软件中特定二进制文件的执行。回答这个问题不需要了解这一点,只需他们使用正则表达式即可。
我已经制定了一些基本规则,例如检测以下程序:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe
C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\cdb.exe
遵循以下规则
cuckoo.filesystem.file_access(/C\:\\Program\ Files\ \(x86\)\\Windows\ Kits\\10\\Debuggers\\x64\\cdb.exe/) or
cuckoo.filesystem.file_access(/C\:\\Program\ Files\ \(x86\)\\Windows\ Kits\\10\\Debuggers\\x86\\cdb.exe/) or
但是,如果我尝试检测以下二进制文件的执行,则该文件与以 C:\Program Files\ 或 C:\Program Files\Microsoft Office 开头并以 excel.exe 结尾的模式匹配的任何文件
类似以下内容?
cuckoo.filesystem.file_access(/C\:\\*\\Excel.exe/) or
还有什么需要检测的是dnx.exe,也许这样的东西会起作用:
cuckoo.filesystem.file_access(/C\:\\*\\dnx.exe/) or
还需要检测以下内容:
C:\Program Files\Microsoft Office\root\client\appvlp.exe
root 用户可以是任何特定用户,最好用通配符替换。
【问题讨论】:
-
尝试将通配符 '*' 替换为:'.*' - 一个点和一个星号
-
在我看来它不像一个正则表达式,更像是一个球体。您有相关文档的链接吗?