IDA分析-熊猫烧香

转载自CSDN博主「九阳道人」大神。

版权声明:本文为CSDN博主「九阳道人」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_31507523/article/details/89154454

熊猫烧香病毒分析报告

1.样本概况

1.1 样本信息

病毒名称: spo0lsv.exe(熊猫烧香)

大小: 30001 bytes

所属家族:Worm(蠕虫)

修改时间: 2018年7月14日, 8:40:21

MD5: 512301C535C88255C9A252FDF70B7A03

SHA1: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870

CRC32: E334747C

病毒行为:

将自身拷贝到其他目录下 修改注册表实现开机自启动 感染可执行文件并改变其图标为熊猫烧香 将文件属性设置为隐藏 检测杀毒软件,关闭杀毒软件 设置定时器,每隔一段时间执行恶意行为 发起了HTTP请求

1.2 测试环境及工具

环境:Win7 x86虚拟机

主要分析工具:OD、IDA、火绒剑、PCHunter 辅助工具:PEID、exeinfo PE

1.3 分析目标

病毒的主要行为

病毒的传播原理

病毒的查杀方法

2.具体行为分析

2.1 主要行为

1565423296850

2.1.1 恶意程序对用户造成的危害 恶意程序关闭了安全服务,关闭了所有杀毒软件和防火墙。

1565423313068

后缀名为exe,scr,pif,com,htm,html,asp,php,jsp,aspx的文件替换上熊猫烧香的图标并感染为病毒文件。

1565423327909

除此之外,该病毒还行进了很多恶意行为,明面上看不出什么,但它会占用网络流量,占用内存资源,让宿主机变成裸机,文件可被他人随意共享,大大滴降低了电脑的性能,而且由于关闭了很多服务和篡改了很多文件会导致电脑运行时会遇见诸多意外问题,如卡死机、分辨率调节出错、某些程序无法正常运行等问题。

2.2 恶意程序分析 (1)使用火绒剑打开病毒程序,在动作过滤中先查看执行监控,可以观察到病毒创建了自己到驱动文件目录下、销毁了本进程、加载了模块、创建cmd、net等。

1565423349363

(2)接着查看文件监控可以看到除了创建病毒外,还在很多文件中都写入了Desktop_.ini系统配置文件。

1565423367155

(3)再进行注册表监控可知病毒设置了自启动项,修改了显示隐藏文件的键值等。

1565423384717

(4)再对进程进行监控观察到了枚举进程和查找窗口,猜测这可能是病毒常做的行为,对抗杀毒软件等。

1565423399760

(5)进行网络监控可观察到该病毒进行了网络连接一些IP地址,访问了一些正常网站。

1565423417070

(6)进行行为监控可得出结论,病毒实现了自我复制、隐藏文件、实现开机自启动等功能。

1565423434015

到此已经可以观察出此病毒的大致恶意行为了可将其归类为蠕虫病毒。下面就开始对代码进行详细分析了。

3.恶意代码分析

3.1 初闻三大函数 通过OD与IDA动静结合分析得出该病毒主要有三大关键函数,我称之为三大将军,该病毒的恶意功能基本都被这三大将军所掌控,皆是厉害无比,每一个又都不可或缺,整个国家的命脉,哦不,是病毒程序的命脉就靠三大将军来维持了,接下来会慢慢分析每一个关键函数。

1565423450688

3.2 第一个关键函数 第一个关键函数CopyRunVirus主要执行的功能是拷贝自身到驱动文件目录并将其运行那么进入内部观察,用IDA结合OD调试查看内存和寄存器变化之后可以知道大概功能。

首先获取本程序自身的目录,和一个在驱动文件下的目录,然后都将其转换为大写对比是否相同。

1565423468612

路径不同则首先关闭两次名为spo0lsv.exe的程序,复制自己到驱动文件目录中再将其运行然后关闭本程序。

1565423486367

若对比的路径相同只执行第二个关键函数。

1565423511602

通过IDA的快捷F5把汇编转为伪C代码,观察到第一个关键函数的主要逻辑如上图。

3.3 第二个关键函数 第二个首先观察内部其伪C代码,观察到有3个函数,功能如图所示。

1565423529765

3.3.1 感染文件 接下来分析第一个函数InfectFile。进入之后就创建了一个线程,那么直接看线程回调函数,经过一些代码过后调用了一个重要的感染函数,他的里面执行关键的感染文件的代码,如下图。

1565423596531

在其中它先遍历文件,判断文件是否已经没有下一层目录了,还有是否是系统重要的文件夹,如windows、winnt、system32等等,如果是,则不对该文件夹进行处理。这是为了防止系统崩溃!

1565423612050

如果都不是则要进行恶意行为了,在每个文件夹中创建了一个名为Desktop_.ini的系统配置文件,里面保存了创建日期,并且都设置为,隐藏、只读、系统的属性。

1565423645087

接下来就是遍历文件了,首先遍历是否是gho,exe,scr,pif,com,htm,html,asp,php,jsp,aspx的文件如果是则进行感染操作。

1565423661620

进入感染函数内部查看其原理,可以得知病毒如果找到要感染的文件,病毒先把原文件进行一个备份,计算出他的名称和文件长度,不修改其名称,但直接把它替换成了病毒文件,然后把原文件追加在病毒文件末尾,再在后面追加以+(原文件名称).exe.exe+(该文件大小)是字符串,这样就感染了一个文件,之后接着遍历感染各个文件。

1565423681062

3.3.2 设置病毒为自启动 接下分析第2个函数CopyAutoVirus,这个函数里面设置了一个定时器。

1565423697685

进入定时器调用的函数中观察,首先获取了驱动设备类型,获取2,4,7的信息猜测可能是要感染的设备。

1565423709733

接着判断C盘目录下是否存在setub.exe程序,这个程序其实就是一个病毒副本。

1565423723282

若C目录下不存在该目录创建这个文件,并且设置为隐藏,只读的属性。

1565423740015

相同做法再创建autorun.inf文件,这个文件内部写入一串的数据,就是让setub.exe程序可以设置为一个开机自启动的程序,这样病毒就可以实现开机自动危害电脑了。

1565423755699

3.3.3 创建线程操作网络 第3个函数了首先用for循环创建了10个线程。

1565423769514

可以进入线程回调函数里观察,创建了网络链接资源,使宿主机的文件被远程共享。

1565423784191

3.4 第三个关键函数 第三个关键函数VirusSelfProtect他主要执行自我防御等功能在内部创建了6个计时器分别执行相应的功能。

1565423799427

进入其中第一个计时器里查看病毒先干掉了杀毒软件然后修改了注册的Run实现开机启动病毒的功能,并且还修改了CheckedValue的值是的用户不能使用显示隐藏文件的功能了,这样病毒就实现了完美隐藏的功能。

1565423813506

在进入图3.18中的KillProctectSoftware函数内部发现病毒创建了一个线程,进入线程回调函数中,发现最开始调用了一函数进入观察得知是打开令牌进行特权等级操作,从图中可知把特权等级提升到了1。

1565423828851

下面则是遍历当前桌面程序是否存在当时流行的杀毒软件的窗口程序,是则发送WM_QUIT关闭的消息把它关闭掉。

1565423857117

关闭杀软窗口了不等于就能为所欲为了,很多杀毒软件还在后台运行着,所以病毒接着遍历进程关掉了当时流行的杀软的进程,这样病毒就能进行它为所欲为的大计了!

1565423873956

然后查看第2个计时器,为每20分钟执行一次主要实现的就是在网络上下载了一个.dtd文件并运行它。

1565423889517

第3个计时器函数里创建了2个线程,第一个线程是重复调用第2个计时器的功能(因为第2个计时器的计时时间太长了),接着第二个线程实现的了创建cmd执行了2条指令删除共享文件和删除隐藏共享文件。

1565423906485

第4个计时器先关闭和删除很多对病毒不利的服务,修改了影响病毒运行的注册表键值。

1565423921924

第5个计时器实现了访问了当时著名某些网页,检测是否处于联网状态。

1565423941587

第6个计时器则是下载恶意文件

1565423961528

4.解决方案

4.1 提取病毒的特征,利用杀毒软件查杀 字符串特征:

1.spo0lsv.exe

2.cmd.exe /c net share

3.whboy

4.2 手工查杀 此病毒手工只能阻止自启动,无法彻底清除,因为被感染的文件多不胜数,只要电脑上还存在一个感染文件该病毒就有可能满血复活,所以推荐使用杀毒软件或专杀工具查杀。

致 谢

向15PB信息安全研究院致谢,感谢各位传授我知识的老师,感谢百度,感谢google,感谢各大论坛。

猜你喜欢

转载自www.cnblogs.com/ltyandy/p/11331991.html