簡體   English   中英

Yara 規則 - 正則表達式 - 匹配通配符

[英]Yara Rule - Regex - Matching Wildcard

正則表達式對我來說一直是一個黑匣子。

我相信我需要使用一些正則表達式來編寫以下一些 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 開頭並以 ZBF57C906E415BB66D96737.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 用戶可以是任何特定用戶,理想情況下將替換為通配符。

閱讀Yara 源代碼,它似乎推出了它自己的正則表達式。 僅支持基本構造:

  • 交替( |
  • 級聯
  • 重復 ( * , *? , + , +? , ? , ?? , {digit*,digit*} , {digit*,digit*}? , {digit+} )
  • 邊界( \b\B^$
  • 分組 ( ( , ) )
  • 字符類( .\w\W\s\S\d\D[...][^...]
  • 十六進制轉義( \xHH
  • 正常轉義( \ + 任何特殊字符)
  • 其他任何東西都是文字或非法的

它還支持表達式結束后的正則表達式標志is ( /.../is )

請參閱正則表達式快速參考以了解不同構造的說明。 請記住,Yara 僅支持上面列出的那些。


要回答這個問題,要匹配Excel.exe C:\Program FilesC:\Program Files\Microsoft Office或任何子目錄下的 Excel.exe,您可以使用此

cuckoo.filesystem.file_access(/^C:\\Program Files\\(Microsoft Office\\)?(.*\\)?Excel\.exe$/i)
  • ^$用於將模式錨定到目標字符串的開頭和結尾。 如果模式不匹配,您可以嘗試刪除它們。
  • (Microsoft Office\\)? 是多余的,因為(.*\\)? 將匹配C:\Program Files下的任何子目錄。 我將其包括在內以匹配問題。
  • (.*\\)? 匹配以反斜杠 ( \ ) 結尾的任何內容,包括更多反斜杠。 我將其設為可選,以允許直接在C:\Program Files下的文件進行匹配。
  • 點 ( . ) 需要轉義 ( \. ) 以匹配文字點,因為它被視為特殊字符。
  • 最后的/i使模式不區分大小寫,以與 Windows 比較文件名的方式保持一致。

要在C:\下的任何位置匹配dnx.exe ,您可以使用以下命令:

cuckoo.filesystem.file_access(/^C:\\(.*\\)?dnx\.exe$/i)

要匹配C:\下任何目錄中的所有三個二進制文件:

cuckoo.filesystem.file_access(/^C:\\(.*\\)?(Excel\.exe|dnx\.exe|appvlp\.exe)$/i)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM