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
除此之外,广大研究人员也可以直接访问该项目的【Releases页面:https://github.com/MultSec/MultCheck/releases】下载对应系统架构的预编译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>
工具运行截图
工具使用演示
演示视频:
https://private-user-images.githubusercontent.com/55480558/307415831-b3105f45-a2d2-42e2-b938-5388f0dc000a.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDk3O
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
MultCheck:
https://github.com/MultSec/MultCheck