一、报告背景:
最近,公司同事发现自己的Excel文档不能正常保存到本地,保存会提示保存失败。并且,有同事发现这个文档被微软的安全检测判定含有宏病毒,遂把该样本文件保存下来并展开分析。
二、病毒样本判断:
(一)微步云沙箱平台分析:
该样本未包含敏感数据,使用微步云沙箱对样本分析,结果如下:
(二)火绒分析:
经过两个安全平台的检测,证明这个样本文件确实存在宏病毒Laroux。该病毒通过将其代码附加到 PC 或网络上的其他文件进行传播。一些受感染的程序可能不再正常运行。
三、宏病毒提取(虚拟环境):
(一)打开样本,查看VBA编辑器内的代码。有三个表,其中一个叫特别命名做results。但是,查看内容并没有显示内容,全选版面内容也为空。初步判断,这个宏病毒有自我保护机制,在打开VBA企图查看宏内容时隐藏宏的内容。
(二)尝试使用工具在未打开样本的情况下,提取宏病毒样本。此次,使用工具oledump.py。oledump.py是一个分析OLE文件(复合文件二进制格式)的程序。许多应用程序使用这种文件格式,最著名的是MS Office,.doc, .xls, .ppt等等是OLE文件,oledump帮助分析,提取这些数据流。
工具下载地址:
DidierStevensSuite/oledump.py at master · DidierStevens/DidierStevensSuite · GitHub
(三)python2 启动oledump,提示模块olefile不存在,需要你pip安装这个模块。
pip install olefile
先使用基本功能查看样本的VBA路径下是否存在数据。
python oledump.py
得到结果如下图,表results下的数据相对于其他表数据多,很容易察觉到表results的异常。
(四)把异常数据流部分提取处理,并保存为可执行文件方便查看宏代码。
python oledump.py -s a -v
(五)使用notepad++打开1.vbs,查看宏代码。重点分析表results。
(六)宏代码详细分析
四、宏病毒工作原理分析:
第一次打开带有宏病毒的文件,宏病毒会把包含results模块的excel文件复制到excel启动目录。之后每次创建一个新的文件都会先从启动目录把results模块复制当前的文件中,循环往复。再通过其他途径把results模块传播出去,感染其他主机。
五、解决方案:
推荐使用赛门铁克,江民杀毒,火绒对office的启动目录进行扫描。目前火绒对文件的扫描能在保证不损坏原数据的情况下将宏病毒从文件中删除。另外,保证使用windows系统时至少启用一款安全软件或者windows自带安全防护机制。