宏病毒分析
基本信息
FileName | FileType | FileSize | packer | MD5 |
---|---|---|---|---|
sample4.xls | 宏病毒 | 338 KB | no | 3effeba64d9a1a4dd1bddaeb1858e4d0 |
一,概述
该样本是一个隐藏在xls文件中的宏病毒,运行后其先会在%Temp%目录下释放13.xlsx文件,然后会将其改名为13.xlsx.zip并在%TEMP%目录下解压成oelObject1.bin文件,最后会将oelObject1.bin文件拷贝到%APPDADA%目录下形成exchangeX.dll文件,最后在宏中加载exchangeX.dll文件,实现主机信息上传和数据下载的功能,其服务器地址为https://office-teml-en.com/tw
二,流程图
三,技术细节详细分析
初次打开样本时的情形,打开后会发现样本中含有宏,点击启用内容后会出现等待提示。
宏
使用alt+f11查看宏,分析后发现其先在%Temp%目录下写入13.xlsx文件,然后将其作为zip文件解压成了oelObject1.bin文件,最后将oelObject1.bin文件中的数据保存在%APPDATA%目录下的exchangeX.dll文件并使用LoadLibraryW()加载
模块1
模块2
exchangeX.dll
运行样本在%APPDATA%目录下找到exchangeX.dll文件使用Peid查壳,穿山甲v4壳
脱壳调试:脱壳后的文件命名为exDump.dll
将exchangeX.dll拖入x32dbg中
alt+f9运行到用户代码,再f8单步一下,在ESP下断
f9一下,再f8一下就来到了第二个UPX壳附近
然后再来一遍ESP定律,就来到了OEP处
使用其自带的插件进行脱壳,
脱之前需要将此项去掉勾选
选择相应的dll
dump操作,
带壳调试:使用OD调试,发现其使用VirtualAlloc申请了两次空间,分别申请了0xC738和0x16000大小的空间
其先在申请的第一块空间处填充数据,
然后其将第一块空间中的数据释放到了第二块空间中,将这段数据dump下来发现其是一个加了UPX壳的dll,命名为61B00.dll。
61B00.dll
将61B00.dll脱壳后与exDump.dll进行比较,发现二者是一样的东西。
61B00.dll
分析61B00.dll,先使用IDA发现其主要的功能函数名字为Amway,宏里面就有调用这个函数。
使用OD分析分析,由于其只是一个DLL并不会主动运行,所以直接跳转到sub_10002BB0()函数处,并将其设置为新的EIP即可调试。
调试发现,其前面很大一部分在收集主机信息,包括主机名,用户名,系统版本和系统上的进程信息
收集完信息之后,使用NetConnect_10001917()函数与https://office-teml-en.com/tw建立连接,以POST方式将这些数据发送了出去
接下来会判断连接是否建立成功,如果建立成功将会以GET方式继续连接https://office-teml-en.com/tw下载数据到本地,然后使用CreatePeocess()函数开启新的进程。
进程行为
在%Temp%目录下写入13.xlsx文件,13.xlsx.zip文件和oleobject.bin文件,在%APPDADA%目录下写入exchange1.dll文件。
注册表行为
无明显恶意的注册表行为
网络行为
连接https://office-teml-en.com/tw进行通讯
四,样本溯源
C&C
https://office-teml-en.com/tw
五,查杀&恢复方案
1,将%Temp%目录下的13.xlsx文件,13.xlsx.zip文件和oelObject1.bin文件删除
2,将%APPDATA%目录下的exchangeX.dll删除
六,防护建议
1,不要打开来源不明的文档文件,更不要随意启用文件中的宏
2,经常更换账户密码,设置强密码,避免使用同一个密码
3,定时使用安全软件进行全盘查杀
4,时长关注一下主机上是否有可疑进程
5,个人电脑,服务器及时打补丁,修复漏洞