[病毒分析]熊猫烧香(下)核心函数部分分析(二)

简介: [病毒分析]熊猫烧香(下)核心函数部分分析

第五步,分析函数sub_4054BC。

在IDA中双击查看该函数的内容。可以发现它主要是调用了GetSystemDirectory函数,从而获取系统的路径。

image.png

总结,重命名及对应功能如下:

  • sub_4054BC -> GetSystemDir
  • 功能:获取系统路径

image.png

2、sub_403F8C子函数

image.png

第一步,我们让OD跳转到0x004081AB的位置。

直接按F8执行下来,在这里可以看到PUSH是将刚才利用GetSystemDirectory函数所获取的系统路径字符串进行压栈。


压栈内容为system32这个目录。


  • C:\Windows\system32

image.png

第二步,按下F8继续分析,发现它又将drivers压栈,将spoclsv.exe字符串压榨。

  • drivers
  • spoclsv.exe

image.png

注意,上图仅显示了setup.00408658,没有将具体的值显示出来。


思考:OD中如何查看堆栈中的值?

选中ESP堆栈指针寄存器(主要用于存放堆栈内存储单元的偏移量),在“堆栈窗口中跟随”。然后依次选择值“0x00408644”和“0x00408658”,右键在“数据窗口中跟随”,即可查看堆栈中的值。

1.png

发现对应的值为“drivers”和“spoclsv.exe”,如下图所示。

1.png

写到这里,我们可以推测:下面这个函数的功能是将压入堆栈的字符串进行拼接,成为一个新的路径。

第三步,按下F8执行到这个Call函数进行分析。

按下F8执行过来后,选中EAX在数据窗口中跟随。

EAX是累加器(accumulator),它是很多加法乘法指令的缺省寄存器。
EBX是基地址(base)寄存器, 在内存寻址时存放基地址。
ECX是计数器(counter),是重复(REP)前缀指令和LOOP指令的内定计数器。
EDX则总是被用来放整数除法产生的余数。

image.png

在数据窗口中右键“转到”->“表达式”,然后输入值:

  • 01C67E28

image.png

接着再CALL函数处按下F8,我们需要关注数据窗口中的前后变化情况。我们可以看到它新生成了一个路径字符串。

  • C:\Windows\system32\drivers\spoclsv.exe

1.png

总结,重命名及对应功能如下:

  • sub_403F8C -> TwoStringCat
  • 功能:将两个字符串进行连接

image.png

3、sub_4060D4子函数

事实上,这段程序的功能如下:

  • 首先通过这个函数将字符串连接;
  • 再将路径字符串转换为大写字母;
  • 然后将这个字符串与这里进行对比。

image.png

第一步,我们通过OD来分析下比较功能,在OD中执行到4081E3位置,然后按F9执行过去。

  • 0x004081E3 call sub_404018

image.png

第二步,分析sub_404018函数。

我们在这里看下它比对的是什么字符串,在数据窗口中跟随值,可以看到两个字符串分别是拼接的字符串和当前OD分析程序的字符串。

C:\USERS\14551\DESKTOP\SETUP.EXE
C:\WINDOWS\SYSTEM32\DRIVERS\SPOCLSV.EXE

很明显,我们分析的熊猫烧香病毒程序在桌面上,而比对的是DRIVERS路径下。

image.png

sub_404018函数的目的是分析当前这个程序是不是drivers目录下的这个程序,如果是的话执行一段代码,否则执行另一段代码。

image.png

因为目前不是在drivers路径下,因此它执行另一段代码,我们按下F8继续执行。JE跳转不成立,继续出现一个新的CALL。

  • 0x004081F3 CALL setup.004060D4
相关文章
|
7月前
|
算法 安全 数据可视化
开题报告-基于嵌入式的数字水印叠加系统与实现
开题报告-基于嵌入式的数字水印叠加系统与实现
|
人工智能 运维 监控
|
安全 API Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
[病毒分析]熊猫烧香(下)核心函数部分分析
321 0
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
|
安全 API
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
[病毒分析]熊猫烧香(下)核心函数部分分析
175 0
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
|
安全
[病毒分析]熊猫烧香(下)核心函数部分分析(四)
[病毒分析]熊猫烧香(下)核心函数部分分析
149 0
 [病毒分析]熊猫烧香(下)核心函数部分分析(四)
|
安全 编译器 API
[病毒分析]熊猫烧香(上)初始分析(一)
[病毒分析]熊猫烧香(上)初始分析
600 0
[病毒分析]熊猫烧香(上)初始分析(一)
|
安全
[病毒分析]熊猫烧香(上)初始分析(三)
[病毒分析]熊猫烧香(上)初始分析
188 0
 [病毒分析]熊猫烧香(上)初始分析(三)
|
存储 安全 编译器
[病毒分析]熊猫烧香(上)初始分析(二)
[病毒分析]熊猫烧香(上)初始分析
239 0
[病毒分析]熊猫烧香(上)初始分析(二)
|
运维 分布式计算 资源调度
走近华佗,解析自动化故障处理系统背后的秘密
集群医生华佗是集群自动化故障监测和处理系统,是平台和运维对接的关键系统,它承担了飞天平台自动化故障处理系统的任务。如何能又快又好地发现和解决线上故障呢?本文为您解析自动化故障处理系统背后的秘密。一起来了解华佗是如何提升集群的故障发现、处理的效率和准确性,解放运维人员,提高飞天稳定性和可靠性的 。
5686 0