对于渗透测试人员来说,通过Microsoft Office Word文档或Excel电子表格来实现网络钓鱼是一种非常常见的技术,而随着越来越多的企业开始部署Mac终端,跨平台的恶意宏Payload也逐渐变得越来越重要了。

跨平台宏钓鱼攻击Payload的介绍及使用方式

之前的研究

来自Black Hills安全公司的研究团队目前能够使用Empire并通过手动方式生成跨平台的恶意宏Payload,而我们的团队也可以通过配合Empire和Cobalt Strike Payload来生成恶意Office宏Payload。现在,最困难的那部分工作我们已经帮大家完成了:我们基于@enigma0x3@harmj0y的原始恶意宏模块开发了一款新版本的Empire模块,而这个新的模块能够适用于Windows和Mac平台。

Empire项目主页

点我访问

工具简介

跨平台宏钓鱼攻击Payload的介绍及使用方式

在Empire中,我们需要设置一个监听器,然后运行命令“usestager multi/macro” ,命令后面加上”info”便能够查看到相关的设置选项以及介绍信息:

跨平台宏钓鱼攻击Payload的介绍及使用方式

命令运行之后,将会生成一个宏,你可以直接将其复制粘贴到宏编辑器中,之后你还可以直接将其发送给你的目标用户。

在宏文件开始运行之后,它首先会检测当前的运行平台及环境,如果当前环境为macOS的话,它将会加载Office 016 for Mac版所需的一些dylib文件(默认运行在macOS沙箱环境中)。当恶意Office文档被打开之后,宏的功能便会被触发。

接下来,文档还会检测当前的操作系统版本。如果是macOS,恶意宏将会通过shell命令调用curl来访问一个追踪URL。宏Payload剩余的部分跟之前针对Mac的Empire宏Payload类似,都是一些Python Payload。如果是Windows,宏将会调用XMLHTTP并访问一个追踪URL,而剩余部分则是跟Windows的Empire宏Payload类似,都是一些PowerShell Payload。

追踪URL可以帮助攻击者来分析和判断文档是否被打开过(不涉及Shell命令,因为终端保护工具或网络IPS有可能屏蔽代码执行或通讯信息),默认配置下追踪URL指向的是localhost,不过用户也可以自行选择使用第三方像素/广告追踪服务或使用自己的Web服务器以及域名来配置Empire选项中的追踪URL。

跨平台宏钓鱼攻击Payload的介绍及使用方式

如果你想根据目标操作系统来选择使用不同类型的Payload,你可以使用Empire来生成跨平台宏然后替换掉宏文件中不同操作系统部分的Payload代码。比如说,你可以生成一个Gobalt Strike宏payload,然后将其复制粘贴到Windows Empire Payload中,并用新生成的Empire跨平台宏替换掉代码中有关Windows的那个部分。这样一来,我们不仅可以使用很多新的功能,而且仍然能够保持恶意宏的跨平台特性。

在macOS中,即使处于沙盒环境,攻击者仍然可以利用存在漏洞的AppleScript(“osascript”)工具来生成钓鱼窗口并尝试欺骗用户输入自己的密码,不过沙盒的限制仍然会对该工具产生影响。因此,我们团队的@DisK0nn3cT向Empire模块中添加了一个关于沙盒模式的新功能(“usemodule python/collection/prompt”),并能够利用macOS文件路径来绕过某些沙盒限制,因此攻击者仍然可以在macOS下触发钓鱼窗口。

* 参考来源:medium, FB小编Alpha_h4ck编译