[病毒分析]熊猫烧香(中)病毒释放机理(一)

简介: [病毒分析]熊猫烧香(中)病毒释放机理

熊猫烧香(中)病毒释放机理

1、sub_40277C子函数

2、sub_405684子函数

3、sub_403ED4子函数

4、sub_4057A4子函数

5.分析sub_4057A4后续删除功能

6.sub_4078E0子函数

7.sub_403C44子函数

8.sub_403ECC子函数

9.总结

1、sub_40277C子函数

第一步打开IDA pro加载我们的病毒样本

image.png

第二步,定位到loc_40CBE6的位置

image.png

这里我们看到了3个函数,这3个call是熊猫烧香病毒最重要的功能


第三步,查看cub_408024neirong

image.png

这个函数最开始的位置我没看到了,将84h的值赋值给ecx,84h表示循环次数。循环的主体是下面的两个push,其中每一个push能开辟8个字节(32位)的空间,两个字节能获得16个字节的空间。这样的空间一共申请了ecx(84h)次。


第四步 我们主要分析call函数,往下看第一个函数40277c

image.png

第五步,接着用OD载入exe程序,进行动态的分析,直接跳转到该地址

0040804D


基本流程为右键“转到”->输入“0040804D”,然后下断点,然后将程序执行到此处

image.png

我们在IDA中双击查看,会发现该函数首先调用了GetModuleFileNameA。

image.png

该函数功能主要是获取当前进程已加载模块文件的完整路径


第六步,回到OD中,F7进入该函数

image.png

接着选中PathBuffer值,右键点击“数据窗口中跟随”。

image.png

注意:按下F8,大家可以在数据窗口中留意该值的前后变化。发现它成功获取了该样本的本地路径。

C:\Users\14551\Desktop\setup.exe

image.png

第7步,我们打开IDA给sub_40277C函数重命名

选中函数重命名,快捷键为N


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


  • sub_40277C -> GetFilePathAndName
  • 功能:获取文件的完整路径及文件名称


image.png

2、sub_405684子函数

接着往下看函数

image.png

第一步,继续在OD中跟进

首先我们调转到00408052位置,然后下断点,然后执行过来

我们首先可以看看它压入的参数是什么?

image.png

第二步,在数据窗口中跟随EAX


单步执行,在寄存器中选中EAX,右键“数据窗口中跟随”,结果如下,我们可以看到EAX中保存的是刚刚获取的病毒文件的完整路径。

image.png

第三步,在数据窗口中跟随EDX,EDX是个空值

image.png

第四步,进入后面的00405684

先选中EAX右键“数据窗口中跟随”。

1.png

进入函数后我们发现了粗线条,说明它是一个循环

image.png

我们在循环处F7步入,也就是上图

mov eax, [local.1]


注意这里简单介绍下局部变量的概念。

小技巧
[LOCAL]是局部变量的意思,例如[LOCAL.1]就是第一个局部变量,存放在栈里的[EBP-4]位置,[LOCAL.2]就是[EBP-8],图片上的命令其实就是MOV EAX, [EBP-4]。
方法一:可以在OD的选项->调试设置->分析里面有个选项把勾去掉设置
方法二:选中该命令右键“汇编”即可,但修改后会显示灰色

第五步,接着循环分析

分析语句“mov eax, dword ptr ss:[ebp-0x4]”,首先将EBP-4赋值给EAX,而当前的EBP-4就是所获取的病毒的完整路径。

mov eax, dword ptr ss:[ebp-0x4]

image.png

然后再按F8,这里是将EAX加上EBX再减1,其中EAX是病毒完整路径的首地址,EBX是20,它又是什么呢?

mov al, byte ptr ds:[eax+ebx-0x1]

我们查看EBX,如下图所示。凡是由Delphi编写的程序,它会在字符串减4的位置保存一个数值。这个数值就是字符串的长度,我们可以看到当前路径长度是0x20。

[eax+ebx-0x1]:计算字符串最后一个字母的位置,即“e”,下图中也显示出来了“ds:[02140127]=65(e)”

image.png

第六步,继续按F8执行,这里结合IDA分析0x5C、0x2F、0x3A对应的值。选中按下“R”

image.png

5C代表斜杠(\),2F代表反斜杠(/),3A代表冒号(:)。

小结,该循环是将病毒所在完整的路径从后向前检索,直到遇到斜杠(\)、反斜杠(/)、冒号(:)结束。结合病毒来看,它找斜杠的位置,其实这段程序要么是想不包含病毒文件名的路径,要么想获取病毒的文件名(setup.exe)。

第7步,在OD中F8调试 ,注意观察数据窗口的变化

image.png

接着发现程序在调用完call函数之后,会出现一个新的字符串。事实上很明显,它是想获取去除病毒文件名后的路径。可见,程序将去除了文件名的路径拷贝到了之前申请的空间中,于是可以将sub_405684重命名。

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

  • sub_405684 -> GetFilePath
  • 功能:获取去除病毒文件名后的路径
  • IDA位置:0x0040805Eimage.png

相关文章
|
Web App开发 开发框架 安全
网络安全实验四 熊猫烧香病毒剖析
网络安全实验四 熊猫烧香病毒剖析
250 0
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(三)
[病毒分析]熊猫烧香(中)病毒释放机理
168 0
 [病毒分析]熊猫烧香(中)病毒释放机理(三)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(四)
[病毒分析]熊猫烧香(中)病毒释放机理
142 0
[病毒分析]熊猫烧香(中)病毒释放机理(四)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(二)
[病毒分析]熊猫烧香(中)病毒释放机理
144 0
[病毒分析]熊猫烧香(中)病毒释放机理(二)
|
机器学习/深度学习 云安全 人工智能
勒索病毒的彻底终结 主动式防御的剑与魔法
勒索病毒的彻底终结 主动式防御的剑与魔法
勒索病毒的彻底终结 主动式防御的剑与魔法
病毒肆虐、实验室关闭,科学研究会受到何种影响?
不得不关闭的实验室让科学界无法继续做研究
|
人工智能 安全
如果细菌病毒人人可以看得见
武汉新型病毒为什么那么可怕?首先,传播速度快,飞沫传播和接触传播,气溶胶和粪口等传播。其次,短期类没有预防的药物以及治疗药物,只能靠行为预防(勤洗手、戴口罩、不聚集、宅在家)。因此,给百姓带来恐慌,引发一系列的社会问题:防疫物资紧张,全民封闭在家,经济损失更是带数以亿万计。我就在想,人工智能能否让细菌病毒看得见,大家也就不那么恐慌,毕竟看得见的敌人比看不见的敌人要好得多。
616 0
|
安全
McAfee:僵尸网新威胁远甚Conficker
相对于日益增长的僵尸网络、病毒和蠕虫感染网络来说,已经引发数次安全事件的Conficker蠕虫只是小虾米罢了。据安全厂商McAfee周二发布的一份报告显示,自一月份起网络犯罪分子通过一系列新的恶意软件已经劫持了1200万新的电脑,相对于2008年来说该数字增长了50%。
916 0