43

Microsoft Access Macro (.MAM) 快捷方式钓鱼测试

 5 years ago
source link: http://www.10tiao.com/html/291/201807/2651070233/3.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

去年,我曾发表过一篇关于创建恶意.ACCDE(Microsoft Access数据库)文件,并将其作为攻击向量进行网络钓鱼的文章。作为扩展,本文将为大家引入一种新的钓鱼方案Microsoft Access Macro“MAM”快捷方式钓鱼。MAM文件是一个直接链接到Microsoft Access Macro的快捷方式(从Office 97开始)。

创建一个MAM文件

我们先来创建一个可以弹出本地计算机的,简单Microsoft Access数据库来练练手。首先,我们打开MS Access并创建一个空数据库。如下:

接着,找到Create ribbon并选择Module。这将为我们打开Microsoft Visual Basic for Applications design editor。

在Microsoft Access中,我们的module将包含我们的代码库,而macro将会使Access执行VB代码。

以下是我编写的一个简单的计算机弹出代码:

请注意这里我是如何将Function调用添加到此代码中的。当我们创建宏时,它将寻找function调用而不是sub。

现在,我们保存模块并退出代码编辑器。

模块保存后,我们可以创建宏来调用模块。打开Create ribbon并选择“macro”。 使用下拉框选择“Run Code”并指向你的宏函数。

接下来,我们点击“Run”菜单选项来测试宏,Access将提示你保存宏。如果你希望在打开文档时自动运行宏,请务必将宏保存为Autoexec。

保存项目,我们以.accdb格式保存,以便后续对该项目的修改操作。

然后,我们将再次保存我们的项目。这一次,我们选择Make ACCDE选项。这将为我们创建数据库的“execute only”版本。

我们可以将ACCDE作为钓鱼时的payload添加至邮件或链接当中。我们可以创建MAM快捷方式,它将远程链接到我们的ACCDE文件并通过网络运行其中的内容。

确保ACCDE文件已打开,单击鼠标左键并将宏拖到桌面上。这将为我们创建一个可以修改的初始.MAM文件。用你喜欢的编辑器或记事本打开它,看看我们有什么需要修改的地方。

正如你所看到的,快捷方式的属性并不多。唯一需要我们更改的就是DatabasePath变量,指定我们远程托管地址路径。我们可以通过SMB或Web托管ACCDE文件。通过SMB托管可以实现双重目的,捕获凭据以及允许端口445离开目标网络。在本文中,我将通过http演示如何做到这一点。

钓鱼

在远程主机上,使用首选的Web托管方法提供ACCDE文件。

编辑.MAM文件以指向Web服务器上托管的ACCDE文件。

现在我们的任务是将MAM payload传送给我们的目标。一些提供商默认阻止MAM文件和Outlook,因此在这种情况下,我们会向目标发送钓鱼链接,并且只会在我们的web服务器上托管我们的MAM文件,或者你也可以使用Apache mod_rewrite进行一些重定向操作。

一旦目标用户点击了我们的钓鱼链接(在使用Edge浏览器的情况下),系统将会提示他们打开或保存文件。

接着,系统会再次向用户弹出安全警告提示框。

最后,系统还会警告一次,并将向用户显示远程托管主机的IP或域名(希望会有说服力)。而在此之后将不会出现任何的安全警告,以及阻止此macro payload运行的情况。

用户单击“ Open”后,我们的代码就会被执行。

虽然这当中出现了好几次的安全提示,但对于毫无戒心的不知情用户而言,也很容易成功。此外,我们还可以结合一些社会工程学的技巧,以达到我们的最终目的。

OPSEC

在渗透测试的收尾阶段,我们不能忘的一件事就是擦干净可能遗留在目标系统上的痕迹。那么针对我们的这个payload在系统执行后,又会留下些什么蛛丝马迹呢?让我们通过procmon一探究竟。

第一个值得我们注意的条目是“CreateFile”调用,它执行上图所示命令。查找用于命令行审计的“ShellOpenMacro”字符串。

接下来,我们来观察下从本地计算机保存并被执行的远程ACCDE文件。虽然看起来好像我们的payload是远程调用的,但它却被下载到了“%APPDATA%\Local\Microsoft\Windows\INetCache\Content.MSO\95E62AFE.accde\PopCalc.accde”中。因此,一定要格外注意对该文件的清理。

缓解措施

在Microsoft Office 2016中,你可以启用GPO以阻止来自网络中的宏执行或为每个办公产品设置以下注册表项。

Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Access\Security\blockcontentexecutionfrominternet = 1

如果用户进行了此项设置后,钓鱼程序将会被拒绝执行。需要注意的是,即使宏被阻止了,MAM文件仍会向外pull down Access文件。所以,目标用户仍将会知道你是通过smb接收执行或窃取凭据的。

总结

本文我向大家展示了,如何使用Microsoft Access Macro快捷方式进行钓鱼的方法和步骤,以及后续痕迹的查找和清除还有缓解措施。希望通过这篇文章,能为你提供一个好的钓鱼思路,以及提高你们的安全防范意识。

*参考来源:specterops FB小编secist编译,转载请注明来自FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK