Excel 和 Metasploit 和 免杀

iso60001  2087天前

这篇文章主要介绍以Excel文件为载体,生成meterpreter反向shell的不同方法。

简介

这篇文章会继续讨论反向shell和规避杀毒软件的方法。有兴趣的可以看我的前一篇文章。随着时间飞逝,以前一些很好的绕过杀毒软件的方法现在均已失效。所以,我必须找到一种新的方法来隐藏我的反向shell。让我们开始吧……

…古老而简单的方法可能是最好的…

通过SMB_Deliver开启一个meterpreter的反向shell

me tasploit的SMB_Deliver模块可以利用远程smb服务器提供.dll格式的payload,来反弹回一个shell或者执行其他系统命令。这个方法非常简单,已经有很多文章讨论过了。但值得注意的是,这个方法同时也是一个很好的对抗防护软件的方法。

首先还是让我们看看它是如何工作的:

加载me tasploit的相关模块,并对其进行配置:

22.png

33.png

你可以自定义dll文件名、文件夹和分享路径(在本例中,我使用1、2、3只是为了方便起见)。之后你就可以运行“exploit”。它会自动使用meterpreter_reverse_tcp的payload,在受害者机器上反弹回shell。当然,你也可以根据实际情况选择你需要的payload。最后,你只需要在受害者的机器上运行生成的命令就行了。

44.png

在受害者机器上运行的命令如下:

55.png66.png

现在,尝试把这个命令行插入到一个恶意文档中。

这次,我们选择Excel文件作为载体。一旦启用了宏,就相当于打开了一个反向shell,而且也完全不会被Windows 10上的Windows Defender报警。以下是VBS宏脚本和xls格式的Excel文件的检出率。

77.png

https://www.virustotal.com/#/file/bb1e0bdbf57ca55f0a4de261924803614bc71a20df8cf901d7d31bdce75f0738/detection

如果,用.xlsm格式保存同一个文件,结果如下:

88.png

https://www.virustotal.com/#/file/aa6c113d71f79e7215df0634f7eace7a95abb183ea038a60f0b6f1c06c3df661/detection

从以上研究,我们的第一个结论是:能检测.xlsm格式文件的杀毒引擎比xls多了3个,但是检出量少了一个。很好,让我们继续!

这次,我们尝试在“comment”的部分中插入明文形式的的命令,然后再使用宏执行:

99.png

这里需要宏加载“comments”属性中值,然后再执行:

100.png

执行注释部分命令行的Excel宏

注意,为了能使用Workbook_Open()函数的自动执行功能,需要将文档保存为Office 98–2003的xls格式。

110.png

https://www.virustotal.com/#/file/6894bcd2a7f9912a2dc24974de7ee477b209a6db5fa04879ecc0b7e4d9e75988/detection

???看样子,这项技术似乎已广为人所知了。让我们看看下一个……

这一次,我们通过自定义公式来插入命令:

120.png

让我们看看它的检出率如何:

130.png

https://www.virustotal.com/#/file/8c9c86b85669689d7c6c6e054849744efac164678184541491c7d50d8df75877/detection
https://www.hybrid-analysis.com/sample/8c9c86b85669689d7c6c6e054849744efac164678184541491c7d50d8df75877

Great!除非卡巴斯基,否则其他都不会拦截!

到这里,你可能会想,如果加入powershell和混淆又会怎么样呢?

naaa…一旦将PowerShell放入宏中,检出率就会很高。因为,宏执行的PowerShell实在是太敏感了。即使是Windows Defender也会立即将其删除。例如,在“comment”中插入powershell混淆后的命令,并用宏执行:

140.png

https://www.virustotal.com/#/file/a60005afd0e2bed1fae9606d829d9df73e4b6cb7fa7fcffc169d2629713b85a8/detection

从上面我们可以看到,“comment”中的powershell加上ba se64混淆就是灾难。

如果我们把powershell插入到通过Excel的公式中呢?

150.png

https://www.virustotal.com/#/file/b881a88a8d712e2071f0e25bebaa2846e71512b82f4ece90e89d1388e459e83e/detection

检出数也达到10次以上。

获胜者是:

在Excel文件中插入到自定义公式中的明文rundll命令:2/59

结论

通过以上这些测试,我发现了两个有趣的事实:第一,各种花里胡哨的方法并不一定比最原始的好用;第二,各大安全公司对Excel恶意文档中的“公式”的检查并不透彻。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@Bank_Security/ms-excel-weaponization-techniques-79ac51610bf5

最新评论

昵称
邮箱
提交评论