天天看點

如何使用MultCheck從靜态分析結果中識别惡意位元組資料

作者:FreeBuf

關于MultCheck

MultCheck是一款功能強大的惡意軟體分析工具,廣大研究人員可以直接使用該工具測試可疑目标檔案是否具備惡意性,并檢查目标檔案是否被一個或多個反病毒引擎标記。

如何使用MultCheck從靜态分析結果中識别惡意位元組資料

MultCheck易于使用,能夠測試多款反病毒引擎。除此之外,該工具不僅允許我們根據實際需求進行功能擴充或自定義開發,而且還可以向其添加自定義的反病毒引擎。

工具要求

Golang

支援的掃描器

Windows Defender(winDef)

工具下載下傳&配置

源碼安裝

由于該工具基于Go語言開發,是以我們首先需要在本地裝置上安裝并配置好最新版本的Go語言環境。

接下來,廣大研究人員可以直接使用下列指令将該項目源碼克隆至本地:

git clone https://github.com/MultSec/MultCheck.git           

然後切換到項目根目錄下,執行go build指令即可完成工具項目代碼建構:

cd MultCheck/src

## 64-bit

$ GOOS=windows GOARCH=amd64 go build -o ../bin/multcheck_x64.exe main.go

 

## 32-bit

$ GOOS=windows GOARCH=386 go build -o ../bin/multcheck_x32.exe main.go           

釋出版本安裝

除此之外,廣大研究人員也可以直接通路該項目的【】下載下傳對應系統架構的預編譯MultCheck。

如何使用MultCheck從靜态分析結果中識别惡意位元組資料

工具配置

針對自定義掃描器的配置檔案是一個JSON檔案,該檔案的資料結構如下所示:

{

  "name": "AV name",

  "cmd": "Scan Program (with full PATH) for scanning the target file.",

  "args": "Scan arguments, use {{file}} as the file name to be scanned.",

  "out": "A string present in positive detection but not in negative"

}           

工具使用

MultCheck支援接收一個目标檔案作為參數輸入:

./multcheck <target_file>           

我們可以使用-scanner參數指定使用不同的内置掃描器:

./multcheck -scanner <scanner_name> <target_file>           

我們可以通過建立一個配置檔案來添加自定義掃描器,然後通過-scanner參數将配置檔案的路徑傳遞給MultCheck即可:

./multcheck -scanner <path_to_config_file> <target_file>           

工具運作樣例

PS C:\Users\pengrey\Downloads> .\multcheck.exe -scanner .\windef.json C:\Users\pengrey\Downloads\mimikatz.exe

[>] Result: Malicious content found at offset: 00000121

00000000  d1 27 71 71 a9 b6 71 52  69 63 68 70 a9 b6 71 00  |.'qq..qRichp..q.|

00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 50  |...............P|

00000020  45 00 00 64 86 06 00 63  39 5a 5e 00 00 00 00 00  |E..d...c9Z^.....|

00000030  00 00 00 f0 00 22 00 0b  02 09 00 00 2c 0c 00 00  |....."......,...|

 

 

PS C:\Users\pengrey\Downloads> .\multcheck.exe -scanner .\windef.json C:\Users\pengrey\Downloads\Rubeus.exe

[>] Result: Malicious content found at offset: 00048e3d

00000000  65 74 5f 61 64 64 69 74  69 6f 6e 61 6c 5f 74 69  |et_additional_ti|

00000010  63 6b 65 74 73 00 67 65  74 5f 74 69 63 6b 65 74  |ckets.get_ticket|

00000020  73 00 73 65 74 5f 74 69  63 6b 65 74 73 00 53 79  |s.set_tickets.Sy|

00000030  73 74 65 6d 2e 4e 65 74  2e 53 6f 63 6b 65 74 73  |stem.Net.Sockets|

 

 

PS C:\Users\pengrey\Downloads> .\multcheck.exe -scanner .\windef.json C:\Users\pengrey\Downloads\multcheck.exe

[>] Result: Payload not detected.

PS C:\Users\pengrey\Downloads>           

工具運作截圖

如何使用MultCheck從靜态分析結果中識别惡意位元組資料

工具使用示範

示範視訊:https://private-user-images.githubusercontent.com/55480558/307415831-b3105f45-a2d2-42e2-b938-5388f0dc000a.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDk3O

許可證協定

本項目的開發與釋出遵循開源許可證協定。

項目位址

MultCheck:https://github.com/MultSec/MultCheck