- 附带自己写的专杀工具,仅供参考(附赠专杀工具源码,由于时间仓促所以工具并不是很完善,有问题欢迎指正)。
- 资源
背景介绍
-
恶意代码主要的几种类型:
- Virus(感染型病毒,侵入程序中)
- Worm(蠕虫病毒,传播性)
- Trojan(木马,远程控制,盗取账号信息等)
- Ransomware(勒索软件,加密文档,勒索比特币等)
- API(高级持续性攻击木马,窃取机密信息等)
-
恶意代码案例概述
- 熊猫烧香是一款具有自动传播、自动感染硬盘能力和强大的破坏能力的病毒,不但能感染系统中的exe,com,pif,src,html,asp等文件,他还能终止大量的反病毒软件进程并且会删除扩展为gho的文件。
分析流程
分析病毒四部曲
- 病毒分析师的任务是从中毒的机器中提取样本,第一时间手工清理或是修复机器现场,之后再做分析,所以可以将病毒分析步骤细分为以下四部曲:
- 提取样本,手工清理机器
- 行为分析,获取病毒行为
- 详细分析,找到行为的恶意代码
- 提出解决方案,提取特征改公司产品,完成查杀,编写文档报告,有条件时编写专杀工具
提取样本
- 样本提取方法的概述:
- 模拟真实环境,在虚拟机中,运行样本(一定要在虚拟机中运行病毒,切记切记)
- 待病毒执行之后,删除样本,开始提取样本,同时手工清理掉危险
- 在运行病毒前,记得保存一份快照,用于行为分析时恢复环境,防止手工清理造成的影响
提取步骤
1.使用ARK工具查看可疑进程
- 使用两种工具Process Explorer和PCHunter分别进行进程查看,找到了关键进程。
然后定位到文件路径,找到病毒样本,关闭病毒进程。
2.使用ARK工具查看启动项
- 继续使用PCHunter进行查看,在启动信息一栏查找是否有异常的病毒启动项。
之后删除找到的病毒启动项。
3.查看驱动服务等可疑项
- 暂未发现异常
4.查看网络链接
-由于当时虚拟机联网功能出了问题,所以这里就忽略不写了,具体方法就是使用Fiddler等进行抓包分析
5.提取样本
-
将路径下的文件提取到本地,并修改扩展名为vir
- C:\Users\15pb-win7\Desktop\spo0lsv.exe改为
- C:\Users\15pb-win7\Desktop\spo0lsv.vir
-
样本信息如下:
大小: 30001 bytes
修改时间: 2018年7月14日, 8:40:21
MD5: 512301C535C88255C9A252FDF70B7A03
SHA1: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870
CRC32: E334747C
6.手动清理机器
- 结束可疑进程 spo01sv.exe
- 删除查找到的可疑启动项
- 发现程序安装目录下被感染的exe变为了熊猫烧香图标,手工无法清除,当运行被感染程序时,病毒再次被激活,同时在当前文件夹下会生成一份原文件。
- 可以发现并不可以手工清除掉病毒,想要清除需要进一步分析。
行为分析
概述
- 获取样本之后,在虚拟机中,使用监控工具如火绒剑监控样本运行。待病毒运行差不多时,分开产看病毒的行为。
- 分析监控到的日志,主要观察的点有:
- 文件操作,主要看文件创建、修改、删除等操作
- 注册表操作,主要看注册表设置、创建等操作
- 进程操作,主要看网络链接地址、IP等信息
- 其他行为,以及人肉看样本运行后的反应
操作步骤
- 首先恢复虚拟机快照到刚才运行病毒之前的状态,然后进行行为分析。
- 将样本拖入监控工具(火绒剑)中,监控其运行,在运行程序之前可以设置监控的行为。
- 大致浏览监控到的日志进行初步分析,然后进行动作过滤分析监控到的日志。
1.文件操作
- 主要查看病毒的文件创建、修改、删除等操作,设置监控的行为(动作),只查看文件操作的关键行为。
- 分析发现样本创建了一些文件,观察文件,有一些文件与样本大小一致,猜测是副本
还有一些ini配置文件,打开后存储了修改时间
2.注册表操作
- 主要查看注册表设置、创建等操作,进行动作过滤后查看注册表日志:
- 重点关注以下操作:
3.进程操作
- 重点关注创建进程、写入内存等操作,设置动作过滤后,进行进程日志分析:
查看过滤结果发现有下述敏感操作:枚举进程、启动自己释放的文件、打开设备、查找窗口。
4.网络操作
- 主要查看网络链接地址、IP、端口等信息。设置动作过滤后查看到网络监控日志:
通过分析过滤结果,发现进行了一些局域网的链接,同时访问了一些在病毒当时比较常用的主页,因该是为了判断网络状态,还有进行了一些外网的链接。
5.人肉查看其它行为
- 对于样本的一些其它行为,需要人肉进行监控样本运行之后的反应:
- 可以发现样本完成了下述的一些操作:
- 创建了很多的Desktop_.ini文件,感染了很多exe,并且将exe的图标都变为了熊猫烧香图标。
- 创建了很多的Desktop_.ini文件,感染了很多exe,并且将exe的图标都变为了熊猫烧香图标。
- 设置执行监控后,发现有cmd进程的创建
6.行为分析总结
-
通过上述对样本的分析我们可以发现如下的一些恶意行为:
-
自我复制样本(spo0lsv.exe)到C盘 C:\Windows\System32\drivers目录下,且进行文件隐藏
-
在每一个目录下创建了Desktop_.ini文件,里面内容是当前日期
-
在C盘根目录下创建了autorun.inf文件,里面指定了自启动的文件为根目录下的setup.exe(即样本附件),且文件也被设置为隐藏
-
对程序目录下的exe进行了感染,图标变为了熊猫烧香图标,且做了替换,打开exe时,自动打开病毒
-
设置注册表启动项C:\Windows\System32\drivers\spo0lsv.exe
-
设置了键值,隐藏上面所说的几个文件
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue
-
自己创建了一个注册表项,在其中写入了很多信息
HKEY_LOCAL_MACHINE\Software\Microsoft\Tracing\spo0lsv_RASAPI32
-
枚举进程、查找窗口、打开设备
-
链接局域网的一些地址,访问外面的一些网址
-
使用cmd命令关闭网络共享
cmd.exe /c net share admin$ /del /y
-
详细分析
- 要想获取样本更加详细的行为,需要使用IDA和OD等工具进行样本分析。
- 重新恢复快照,然后进行详细的分析。
具体分析步骤
1.查壳、脱壳
-
首先使用PEID进行查壳,有壳的话要先脱壳。查找发现壳是FSG 2.0。
-
接下来进行脱壳,使用OD打开,找到OEP,这里区段信息被隐藏,所以不能直接判断编译器版本。
-
脱壳FSG:单步运行,找到LoadLibrary和GetProcessAddress中的jmp,然后下断点,F9运行起来,jmp就跳转到oep的位置。
-
之后跟随第一个call找到IAT表
-
之后在数据窗口进行IAT表的查看
发现每个模块中间不是以0分隔的,说明壳对IAT做了修改,因为改的不多,所以手动修改为0,之后就可以Dump了,Dump下来后使用ImportRec进行修复,然后就可以进行分析了。这里修复IAT时要注意因为ImportREC定位Delphi程序并不是很准,所以需要观察内存然后可以手动定位到IAT起点,大小需要指定大一些,防止不能完全获取,多余的无效函数剪切就好。 -
脱壳后进行PEID深度分析,为Delphi 6.0-7.0程序
-
预知后文如何,请跳转链接长文预警-超详细的熊猫烧香病毒分析_01