分析报告
样本名 |
熊猫烧香 |
版本 |
原版 |
时间 |
2018-03-18 |
平台 |
Windows 7-32位 |
信息安全研究(病毒分析报告)
目录
1.样本概况... 2
1.1 样本信息... 2
1.2 测试环境及工具... 3
1.3 分析目标... 3
1.4 提取样本... 3
1.4.1查壳... 3
1.4.2 具体提取步骤... 3
1.4.3 提取样本... 4
2.具体行为分析... 5
2.1 主要行为... 5
2.2 分析情况总结:... 10
2.3 详细分析... 11
3.解决方案... 25
3.1 手工查杀步骤或是工具查杀步骤或是查杀思路等。... 25
1.样本概况
1.1 样本信息
病毒名称: 熊猫烧香
所属家族: 感染性病毒(Virus) /蠕虫病毒(Worm)
大小: 30001 bytes
MD5值: 512301C535C88255C9A252FDF70B7A03
SHA1值: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870
CRC32: E334747C
病毒行为: 复制自身、感染PE文件、覆写PE文件、修改注册表自启动、枚举进程、结束杀软进程、删除安全软件相关启动项
1.2 测试环境及工具
Win7 32位、OD/IDA/x64DBG/火绒剑/ExeiofoPE/
1.3 分析目标
分析病毒永久驻留方式,感染的方式,网络连接,病毒的恶意行为
1.4 提取样本
1.4.1查壳
Exeinfo 可查是该程序是FSG壳,FSG是压缩壳,稍后对它进行手动脱壳
1.4.2 具体提取步骤
使用APK工具(PC-Hunter)查看可疑进程
查看启动项(注册表,计划任务等)
查看驱动模块,服务未发现可疑项
查看一下其他的杂项,网络连接等
使用抓包工具(WSExplorer)查看可疑流量
1.4.3 提取样本
从上面启动项可以看到,病毒自我复制了一个文件到C:\Windows\System32\drivers目录下
将它提取出来,重命名后缀为vir,以供下一步具体分析。
2.具体行为分析
这个环节的目标是分析样本的行为,尽可能全面发现恶意行为
方法概述:
获取样本后,使用监控工具(火绒剑)监控样本的运行。
分析监控到的日志,主要观察的点有:
1, 文件操作,主要看文件创建、修改、删除等操作
2, 注册表操作,主要看注册表设置、创建等操作
3, 进程操作,主要看创建进程,写入内存等操作
4, 网络操作,主要看网络连接地址,IP等信息
5, 其他行为,以及自己观察样本虚拟机内运行后的反应
2.1 主要行为
分析监控到的日志
1. 文件操作,主要看文件创建,修改,删除等操作,设置监控的行为(动作),只查看文件操作的关键行为:
将样本vir文件直接拖进火绒剑内:
可以发现样本创建了一些文件,观察文件,有一些文件与样本大小一致,猜测是复制的样本,感染了很多exe文件
2. 注册表过滤,主要看注册表设置,创建等:
3. 进程操作,主要看创建进程,写入内存操作,对监控工具进行过滤:
查看过滤后的结果:
4. 网络操作,主要看网络链接地址,IP等信息,首先对监控工具进行过滤设置:
5. 其他行为,人肉看样本运行后的反应,其他行为,人肉看样本运行后的反应
查看结果,发现样本擦混改建了许多Desktop_ini文件,感染了许多exe,而且exe 的图标已经变成了熊猫烧香
设置监控工具,只查看执行监控,可以发现cmd进程的创建:
2.2 分析情况总结:
分析监控的日志以及人肉之后,可以分析出样本的恶意行为:
- 自我复制样本到C盘:C:\Windows\System32目录下,
启动C:\Windows\System32\drivers\spo01.exe(即样本)
- 在每一个目录下创建了一个Dosktop_.ini,里面是当前日期
- 在C盘根目录下创建了autorun.inf文件,里面指定了自动启动的文件为根目录下的setup.exe(即样本)
- 对程序目录下的exe进行了感染,图标变为熊猫烧香,打开exe时,自动打开病毒
- 设置注册表启动项为:C:/Windows/driver/spo01sv.exe
- 设置注册表键值,隐藏文件不显示
- 自己创建了一个注册表的项,在其中写入了很多信息
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\spo01sv_RASAPI32
- 枚举进程,查找窗口,打开设备
- 连接局域网的一些地址,访问外面的一些网址
10. 使用cmd命令关闭了网络共享
2.3 详细分析
通过以上分析可以知道恶意代码的一些恶意行为,想要获取更加详细的行为需要使用IDA或是OD分析样本
详细分析过程:
上面用Exeinfo查看到此程序是FSG2.0的压缩壳,以下进行手动脱壳:
单步运行到0x00401D1,此处jmp 的就是OEP,F7单步步入,在此处dump程序,然后修复IAT即可。
脱过壳后的程序使用Peid深度扫描可以识别出程序是使用delphi编译的:
导入签名后,采用OD/Ida,动静结合的方法分析恶意代码;
先使用IDA的F5快捷键查看下伪c代码,先对此程序有一个大约的框架。
根据伪C代码,可以发现OEP函数一开始全是初始化变量,调用的第一个函数sub_405250,参数中有字符串“xboy”,而另一次调用中,参数有字符串“whboy”,在调用sub_405250函数后,有LStrCmp字符串比较函数的调用,之后就是判断返回值的代码,可以猜测函数sub_405250应该是解密字符串函数。
剩下的三个sub_xxx开头的函数应该是恶意代码函数,在这个代码的末尾有一个消息循环,猜测是等待恶意代码执行完毕后,函数才退出(稍后再OD中验证此推测)。
所以OEP函数可以分为四部分:
动态跟踪验证对sub_405250函数的猜测,发现堆栈中解密字符串,跟踪调用完函数之后,LStrCmp函数的参数是解密的字符串与全局变量字符串:
由此可以确定sub_405250函数确实是一个解密字符串函数:
在IDA中对sub_405250函数名进行修改:
然后分析剩下的几个执行恶意代码的函数:
sub_40819c函数分析:
复制了自己到系统驱动目录下,然后
sub_40D18C函数分析:
sub_40A5B0:
在回调函数内分析,此函数在遍历目录,并在感染后的文件夹内创建标记文件Desktop.ini
如果文件是GHO(备份),则将其删除:
Sub_40C374:
进入回调函数查看:
第三个函数sub_40D088:
这个函数中创建线程,进行网络连接:
调用了6个定时器:
第一个定时器(一秒触发一次):
设置了文件隐藏属性:
OpenProcessToken获取访问令牌;
利用LookupPrivilegeValueA可以获取本地唯一标识符(LUID)
OpenProcessToke和LookupPrivilegeValueA获取的信息被AdjustTokenPrivileges利用,进行提权:
发现是在检查是否有杀毒软件,如果有,则让其关闭
均采用此方法分析可知:
第二个定时器(20分钟触发一次):
从http://wangma.9966.org/down.txt网站读取到网页源代码并且运行代码
第三个定时器(10秒触发一次):
调用如下命令来删除共享:
cmd.exe /c net share C$ /del /y
cmd.exe /c net share A$ /del /y
cmd.exe /c net share admin$ /del /y
第四个定时器(6秒触发一次):
第五个定时器(10秒触发一次):
打开解密之后的网页:
第六个定时器(30分钟触发一次):
又是在下载恶意代码:
至此,分析基本结束。
3.解决方案
3.1 手工查杀步骤或是工具查杀步骤或是查杀思路等。
1、删除【C:\Windows\System32\drivers\spcolsv.exe】文件
2、删除【HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer
sion\Run】键项的svcshare
3、删除每个盘符根目录下生成两个文件【autorun.inf和setup.exe】文件
4、设置【HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
\Advanced\Folder\Hidden\SHOWALL】,CheckedValue的键值设置为1(显示隐藏文件)
原文地址:https://www.cnblogs.com/by-clark/p/9126850.html