0x00 样本信息
名称:panda.exe
文件大小:60.50 KB (61952 bytes)
修改时间:2007.01.09
MD5:3520D3565273E41C9EEB04675D05DCA8
SHA-1:BB1D8FA7EE4E59844C1FEB7B27A73F9B47D36A0A
编写语言:Borland Delphi
壳:未加壳
0x01 分析工具和环境
CFF、PEiD、IDA Pro、OllyDbg、Process Moniter、PCHunter
Windows7 32位
0x02 病毒行为
1.修改.exe后缀文件图片为panda
2.禁止打开任务管理器等窗口
3.修改键值自启动,并隐藏。
4.删除杀毒软件的自启动键值
5.将自身拷贝到根目录,并命名为setup.exe,同时创建autorun.inf用于病毒的启动,这两个文件的属性都是“隐藏”。
病毒文件在“C:WINDOWSsystem32drivers”中创建了“spoclsv.exe”这个文件,在C盘根目录下创 建了“setup.exe”与“autorun.inf”,并且在一些目录中创建了“Desktop_.ini”这个文件。创建这些文件之后就对注册 表的SHOWALL项进行了设置,使得隐藏文件无法显示。
0x03 详细分析
查壳,无壳,编写语言为Borland Delphi。
程序最开始进行一些字符串拷贝的初始化行为。
对下面这三个字符串进行拷贝到新内存。
自校验
进IDA Pro,上来是一个俩层自校验,病毒在启动之后,会经过两次加密字符串的解密,只有两次都成功才会真正进入核心功能。
第一次校验“xboy”,如果失败,退出进程。
校验成功,第二次校验“whboy”,不成功如第一步,成功则继续执行。
第一步:利用“xboy”解密乱码字符串
第二步:利用“whboy”解密字符串
俩次校验都正确之后进入功能代码执行:
下面三个是实现核心功能的函数。
Sub_4082F8:复制自身,感染文件并运行。
Sub_40CFB4:感染其他文件
Sub_40CED4:自启动并隐藏,设置注册表信息,并停止杀毒软件,连接网络下载文件执行,关闭共享文件夹。
复制自身,感染文件并运行。
检测当前目录是否存在Desktop_.ini文件,如果存在则删除。
这里病毒的代码目的是,找到进程中运行的spcolsv.exe,并且终止,再将自身程序伪装到:系统目录+dirvers目录下,并更名为spcolsv.exe,用winexec启动伪装程序,然后在退出这个程序。如果是spcolsv.exe运行,会执行004084BC:jz loc_4085BA进行跳转。不会执行伪装操作。
(FindAndTerminateProcess主要是调用APi函数来实现的)
查到病毒文件已经在系统目录后,释放之前申请存放的病毒文件信息的内存。
这段代码的主要功能:主要功能是将被感染的文件进行分离,提取出原始文件信息。由于感染文件时预留了相关的标记信息,根据标记信息可以得到原始文件,感染后的文件可分为三部分:
病毒文件 | 原始程序 | 标记信息 |
---|
这段代码目的是将被感染的文件进行分离,感染时添加的标记信息可以帮助提取出原始文件。执行过这段代码,程序所在目录会释放原始文件。
第二个的功能函数sub_40CFB4;
有三个主要的函数。
第一个函数:创建线程,遍历目录创建Desktop_.ini,进行感染。
删除GHO备份。这段代码的目的就是对文件进行检查,只要后缀名为“GHO”,就会判定其为ghost文件,直接删除,防止用户还原系统。
文件感染:
如果是可感染的文件夹,在感染之前,病毒还会在驱动器C盘下生成一份记录文件的test.txt文件被感染后,会修改目录中的desktop_.ini配置文件,并写入法感染文件。若文件已是被感染,则跳转。
InfectFile的感染过程就是首先将目标文件读取到内存中,并获得文件名及其大小;将自身文件复制到目标文件前,并追加目标程序原始数据,最后添加标记。
感染web文件
InfectWeb只需要将字符串写入符合感染的尾部,就是用一个标签打开www.krvkr.com/worm.htm的网页
第二个函数:磁盘传播
设置定时器,每间隔6s复制自身所有磁盘的根目录,重命名为setup.exe。然后写入autorun.inf,注意这两个文件都是隐藏了。
第三个函数:局域网传播
目的是通过局域网对同一局域网的其他电脑进行感染。
过程是创建TLS线程,判断有哪些局域网主机可以通过139和445端口利用弱口令连接。在将病毒文件拷贝到网络共享文件夹中。
第三个功能函数:Sub_40CED4
设置了四个计时器。
第一个计时器:
(1)、每隔一s设置自启动并隐藏。
(2)、遍历进程和窗口,关闭疑似杀毒软件的窗口和关闭特定杀毒软件或系统工具
**第二个计时器:**从网络下载文件,关闭网络连接,并运行下载的程序。
**第三个计时器:**创建俩个线程。
第一个线程回调和第二计时器相同,不做介绍。
第二个线程回调是关闭共享文件夹。
第四个计时器:每隔6s关闭杀毒软件的服务并修改其键值关闭自启动行为。
0x04 防范手段
1.利用cmd命令或PCHunter等工具杀死进程(因为病毒会关闭杀软和任务管理器等可以杀死进程的手段)
2.打开查看隐藏文件选项,把磁盘根目录的隐藏文件autorun.inf 和 setup.exe和Desktop_.ini文件删除。
3. 清除启动项,关闭svcshare启动项
0x05 总结
“熊猫烧香”虽然是一个很老的病毒,并且里面的手段也比较简单,但是对于初学者像我这样的小白来说,还是挺适合练手的,毕竟也是一个名气很大的传统病毒。
样本来源:
https://www.52pojie.cn/forum.php?mod=misc&action=attachcredit&aid=1082475&formhash=a6a7f959
分析报告资源:https://download.****.net/download/weixin_43742894/12393342