1 熊猫烧香病毒分析

1. 样本概况

熊猫烧香,会自动感染系统中的EXE文件,修改文件图标不能再次打开。典型的FSG2.0加密文件,使用的Borland Delphi 6.0 - 7.0进行编写

1.1样本信息

病毒名称:哈希值

所属家族:Virus

MD5值:512301C535C88255C9A252FDF70B7A03

SHA1值:CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870

CRC32:E334747C

病毒行为:

概述:

29.2KB(30,001字节)的exe文件,标准的PE文件格式如图,使用FSG2.0进行文件压缩加密。能够自我复制,关闭共享文件,隐藏自身,遍历磁盘感染文件,连接网络。

使用010editor可知:

病毒运行会对磁盘进行文件遍历并进行exe感染、修改图标,不能打开应用。感染前与感染后的对比。

使用Pchunter32通过进程分析可知病毒是先将自己复制到系统目录,再进行遍历感染。

提取病毒样本,使用火绒剑进行病毒行为分析,主要通过日志信息来判定

  1. 对病毒的文件行为分析:

病毒对文件的主要操作是进行磁盘遍历,用来寻找被感染的目标文件;写入文件,对目标文件进行修改。

复制体采用windows系统配置文件的格式进行保存,具有很强的隐蔽性。

  1. 注册表行为分析:

图1-7注册表

如图1-7,病毒进行注册表的注册和启动项的设置

  1. 进程操作分析:

进程进行了设备的打开,枚举,释放,写入等系列操作

  1. 网络行为的分析:

病毒进行了相关的网络操作,可以通过网络进行传播

  1. 其他行为的分析:

1.2测试环境及工具

测试环境:Vmware虚拟机上运行的Windows32位操作系统,

使用工具:IDA静态病毒分析;OD动态的病毒分析。

1.3分析目标

1.“熊猫烧香”的启动过程

2.“熊猫烧香”的自我保护

3.“熊猫烧香”的文件感染

2.具体行为分析

2.1主要行为

病毒开始的流程判断

病毒运行时主要功能实现的函数

1.“熊猫烧香”的启动过程

对CreateAndRunPanda函数内部的分析

从函数的外调用和内平衡,判断是无参函数

通过对函数数据的调用判定函数实现的功能作用

在“字符串”判断已存在后的程序跳到此处,略过跳转处之后的代码直接运行此代码。

完成向内存中进行写入的操作。

完成内存写入后直接跳转到此处进行文件是否感染判断

这是一个分支,如果文件已被感染则不需要一下的指令

对未被感染的文件进行感染,并设置感染标记位

在进程中不断的查找进程“spcolv.exe”结束,将自身代码写入达到伪装替换,实现免杀。

如果病毒不是第一次执行,则可以直接跳过此操作。

如果病毒已经在系统文件目录下,释放之前存放病毒的内存,并获取标记信息。

2.“熊猫烧香”的自我保护

对已经感染的文件进行010editor分析,被感染的exe均被进行加壳操作

进行OD分析,被感染的文件前半部分都是一样的,下图标出了文件被感染时的标志特征,也是病毒判断是否继续感染的标志位。

在CreateAndRunPanda函数中进行“熊猫烧香”的自我保护的指令

上述指令完成将感染文件和原始文件分离,而被感染的文件由:病毒代码+原始程序+标记信息构成。

被感染文件的主要作用是维护进程中伪造的病毒“spcolsv.exe”,如果病毒被杀就再次生成,只能全面彻底杀出所有病毒才能清除病毒。所以“熊猫烧香”病毒的生命力很强悍。

3.“熊猫烧香”的文件感染

“熊猫烧香”使用的是三种方式进行感染,两种本地,一种网络

  1. 线程感染

线程感染的主要指令在线程回调函数中

线程感染主要通过磁盘遍历进行,FindFileAndInfect进行查找感染

对文件进行了简单分类,转换成大写比较是为减少大小写造成的误差

设置了“Desktop_.ini”的文件属性,将其修改为READONLY、HIDDEN、SYSTEM,这里只进行了文件遍历,没有进行感染。

删除系统备份,感染文件两种类型:

  1. exe、scr、pif、com

  2. htm、html、asp、php、jsp、aspx

病毒的进行文件判断感染的指令

每次进行后缀判断都是这种跳转,可以判断此处使用的if—else进行的判断。

文件感染的函数分析

感染流程先将目标文件读取到内存,获取文件相关信息;将自身文件复制到目标文件,并添加原始文件,标记感染标志,结束整个感染过程。

  1. .inf文件感染

定时器进行感染,会在磁盘创建.inf文件。

  1. 网络感染

2.1.1恶意程序对用户造成的危害(图)

造成用户文件,除去系统目录下的文件exe不会被感染,其他目录下的文件exe均会被感染。另外因为“熊猫烧香”是感染型病毒,所以即使手动删除感染文件,如果不小心运行其他感染文件一样会造成文件感染。病毒会自动侵入注册表,设置开机运行,因为是系统型文件所以用户很难发现。

“熊猫烧香”在感染过程中会自动遍历磁盘并清除“.GHO”文件,如果用户的信息及数据在病毒感染后就意味着丢失。造成不必要的损失。

2.解决方案(或总结)

2.1提取病毒的特征,利用杀毒软件查杀

通过PEID对病毒检查可知

“熊猫烧香”是典型的FSG 2.0的压缩壳

“熊猫烧香”的特征信息:

也是病毒判断是否继续进行文件感染的标志。

2.2 脱壳和杀毒思路。

1.脱壳:

载入OD进行单步跟踪发现ESP没有发生改变,尝试ESP脱壳发现失效,改用单步跟踪

程序在此处进行循环,跟进CALL进行深入分析

根据脱壳的三大步骤,寻找原始OEP、转存文件、修复文件

此病毒的壳以被脱去三分之二。将IAT表解密完运行到OEP处,进行规律性dump即可

使用ImpRec进行IAT地址表的修复,壳就完美脱掉。

2.杀毒思路。

根据以上分析,可知此病毒的三大特性:1.自我复制、2.文件感染、3.网络传播。所以在进行杀毒时,首先要做的是断网。再分析中得知病毒运行时会先判断当前所在目录文件是否是系统目录,不是则将自身复制到系统目录再进行感染操作。而它的文件感染方式是对目标文件进行FSG2.0加壳处理,并且具备病毒的自我复制功能,也就是当运行病毒后会产生二次感染的效果。同时因为病毒的自动启动效果,清理注册表变的很有必要。

所以杀毒思路是1.断网,2.删除在系统盘的病毒主体,3.循环遍历磁盘文件进行病毒标志位的匹对查杀,4检查注册表删除病毒创建的注册表信息。

以上是杀毒思路。

代码交流 2021