当前位置:首页 » 《资源分享》 » 正文

号称病毒之王的“熊猫烧香”详细分析_mozibai666的博客

9 人参与  2021年10月15日 10:03  分类 : 《资源分享》  评论

点击全文阅读


01-样本概况

1.1-样本信息

  • 基本信息

文件: C:\Users\15pb-win7\Desktop\xiongmao.exe
大小: 30001 bytes
修改时间: 2018年7月14日, 8:40:21
MD5: 512301C535C88255C9A252FDF70B7A03
SHA1: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870
CRC32: E334747C
  • 病毒行为:

     1.在系统目录下生成病毒程序并执行

     2.修改注册表

     3.添加启动项

     4.目录下产生Desktop_ini文件

     5.关闭网络共享

     6.存在网络连接

     7.有加密的流程传输

     8.感染文件

1.2-测试环境

系统环境:

  • Windows10-64位
  • Windows7-32位

工具:

  • 010Editor:查看感染标记
  • OllyDebug:动态调试
  • IDA:静态调试
  • PCHunter:进程查看及结束
  • 火绒剑:观察病毒行为
  • Hash工具:计算病毒文件哈希值
  • WSExplorer:查看病毒程序网络连接
  • VS 2017:编写专杀工具

1.3-分析目标

  1. 提取病毒样本

  2. 分析病毒行为

  3. 分析病毒代码细节,获取其执行流程

  4. 提取病毒特征、手动查杀及编写专杀工具

02-具体行为分析

2.1-文件操作

病毒创建了大量文件,并且会修改/感染正常的程序

image-20200113082906778

2.2-注册表操作

创建了新的注册表项,并且通过修改注册表,实现病毒的自启动

image-20200113082918792

img

2.3-进程操作

枚举进程来查看是否有杀毒软件,创建进程来运行自己产生的恶意程序spo、打开设备以便感染U盘等硬件设备

image-20200113082930916

2.4-网络操作

存在大量http请求可以实施DDos攻击,也可以发送数据包,以便上传私密信息到服务器,存在网络连接,以便用户从服务器下载木马等恶意程序

image-20200113082943094

2.5-行为监控

可以修改注册表来实现自启动项,会感染PE文件,进行自我删除和复制

img

img

2.6-执行监控

其通过cmd命令删除了网络共享

image-20200113083017929

03-恶意代码分析

3.1-脱壳

是否有壳:PEiD查看xiongmao.exe存在FSG 2.0的壳

img

x32Debug中打开xiongmao,单步跟踪直到jmp dword ptr [ebx + 0xc],其跳往真实OEP处,利用Scylla插件进行脱壳,最后保存为xiongmao_dump_SCY.exe

image-20200113083033910

PEiD深度扫描xiongmao_dump_SCY.exe显示没壳,再查看其输入表也正常,说明脱壳成功

3.2-整体流程

IDA:Shift+F5 签名窗口中,添加delphi特征库,应用后可识别大量库函数,根据伪代码推测功能

image-20200113083053799

动态调试,看sub_405250功能,call之前,eax中传参是一堆杂乱的中文字符,call之后,将局部变量ebp-0x14中的值赋值给edx,此时是正常的中文,随后进行字符串的比较,因此可判定其为字符串解密函数,暂记做DecodeString,并在IDA中修改(快捷键n)

image-20200113083120144

经过IDA和OD的结合分析,最终可得到整体流程图,如下:

image-20200113083132668

3.3-代码块sub-40819c

IDA:进入819c函数内部,某处出现了样本文件名,应该是敏感部分,要重点关注;此处有两个sub-xxx函数不知用途

image-20200113083146999

IDA:进入sub-4053ac内部,有一个获取系统目录的库函数,因此可初步判定其功能

image-20200113083159177

OD:验证上述推测是否成立,ctrl+g到4053a4处,内部下断运行至此,从堆栈中找到调用位置,取消内部断点调用位置下断重新运行,单步测试;运行后,将局部变量压栈,可见其就是系统目录,再与后面的子目录和文件名拼接,得到最终地址;推测正确,因此IDA中将其命名为GetSysDir以作标示

image-20200113083212322

综上,本函数功能:复制自身xiongmao.exe到系统目录下并重命名为spo0lsv.exe,然后执行

image-20200113083224716

3.4-代码块sub-40d18c

  • 双击进入,内部有三个函数:40a5b0、40c374、40bacc

  • 进入40a5b0:创建线程,其线程回调函数为40a48c

image-20191126141107618

再进入40a48c:while循环执行409448

image-20191126142958236

再进入409448,发现'desktop_.ini'字符串,也有获取本地时间的行为,联想病毒在每个目录下创建ini且内容为日期的行为,推测此处便是代码执行处

image-20191126143227261

进入40c374,设置一个定时器

image-20191126143539809

进入timerfunc定时器回调函数,应该就是创建setup.exe文件

image-20191126145205001

进入40bacc,创建一个线程执行40ba8c

进入40ba8c,后再进入40b864,发现是网络连接相关

image-20191126145556993

综上,根据病毒行为以及代码中出现的敏感字符串、关键函数等,大致可了解sub-40d18c内部有三个函数,功能分别是:新建线程来创建desktop_.ini配置文件、设置计时器来创建setup.exe文件、创建线程进行网络连接

3.5-代码块sub-40d088

进入函数,有6个计时器,分别执行6个函数,依次查看

image-20191126150054902

40cee4,添加启动项、修改注册表

image-20191126154346012

40d040,访问网站并获取系统目录,推测是从服务器下载恶意程序

image-20191126163600580

40d048,内部有两个函数,第一个同40d040,第二个执行cmd命令关闭网络共享

image-20191126160004664

407430,关闭杀毒软件服务、删除杀毒软件启动项(从字符串可见为常见的杀软)

image-20191126160530506

image-20191126160445800

image-20191126160729078

40cc4c,打开URL,访问网站获取内容

image-20191126162911158

  • 40c728,类似40d040,都是下载恶意代码

  • 综上,sub-40d088内部这几个函数分别实现了:添加启动项、修改注册表、下载恶意代码、访问网站获取内容、关闭杀软服务、删除杀软启动项、关闭网络共享

3.6-启动过程分析

ini配置文件的操作:获取当前路径,并将“Desktop_.ini”拼接到当前路径中,同时检查此文件是否存在,若文件存在,则删除

image-20200113083258560

ini配置文件操作完成后,进入新的流程:为了复制病毒信息以感染其他文件,故将病毒文件信息读取到内存中;同时也设置了标记信息

image-20191128091045656

随后跳往4082DB处:进行了标记检查工作,来判断病毒程序是否被多次运行

image-20191128090924847

随后代码中出现“spo0lcv.exe”字符串:找到运行的进程“spo0lsv.exe”并终止;病毒第一次执行时,需要将自身复制一份到系统目录下,并伪装成“spo0lsv.exe”启动;

image-20200113083320628

字符串比较后,若当前病毒文件已经复制到了系统目录下且被伪造成了“spo0lsv.exe”,则会跳转到40845E处:释放之前申请存放病毒文件信息的内存(OD调试时,可手动修改JZ条件,使之完成跳转)

image-20191128101017016

随之跳往 408741:获取标记并进行检查,当标记==1时,会进入 408477来进行进一步检查(此代码块只有被感染的程序才会执行,OD打开被感染文件进行调试

image-20191128101935542

3.7-感染过程分析

内部三个子模块:前二本地感染,第三通过网络

image-20191127145219156

创建感染线程:找到线程回调函数

image-20191127145152729

感染线程的线程回调函数:遍历驱动器盘符的数目,进入到驱动器中,遍历所有可感染文件以进行病毒复制

image-20191127151719814

_FindAndInfectFile:遍历驱动器下的文件信息,将文件与文件夹进行了分类,排除了特殊文件夹;在判断是否为特殊文件夹的过程中,都是以大写形式进行对比的,以防止因大小写不同而造成错误;在这可跳到处理文件的地方

image-20191127170811439

_FindAndInfectFile:感染前的检查工作,ini中保存的时间与刚刚获取的时间进行比较,来判断是否已经被感染

image-20200113083345505

如4中,若当前获取到的是文件时,开始处理文件:对文件进行检查,只要后缀为“GHO”,就判定为ghost备份文件,直接删除,防止用户还原系统(真tm的坏)

image-20191127172133510

一旦删除了系统的备份文件,病毒就开始肆意感染:大致分为两种,一种是本地可执行文件(如exe为后缀的),另一种是Web网页文件(如html为后缀的)

image-20191127193508763

image-20191127193912691

感染exe等本地执行文件,_InfectFile:首先将目标文件读取到内存中并获取文件名及其大小、然后将自身文件复制到目标文件前并追加目标程序的原始文件、最后添加感染标记,结束感染过程

image-20191127214435254

image-20191127214817563

 被感染文件 : 病毒文件 + 原文件 + 感染标识,标识如下

image-20200113083407839

3.8-自我保护行为

  • 若找到标记字符,则会跳转到408477,此代码块只有被感染的程序才会执行,现IDA中打开原病毒静态分析(也可OD中打开被感染程序动态分析

  • 代码段408477:从被感染文件中分离提取出原始文件(由于感染文件时写入了标记信息,根据标记可得到原始文件),执行后,在被感染文件所在目录下释放出其原始文件

image-20200113083433875

 代码段 408584:被感染文件的主要工作是维护进程中伪造的病毒程序spo0lsv. exe,若spo被删除,则会由被感染的程序再次生成(春风吹又生,除非删除所有被感染程序)

image-20191128113200558

04-解决方案

4.1-病毒特征

病毒文件的哈希值如下:

MD5: 512301C535C88255C9A252FDF70B7A03
SHA1: CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870
CRC32: E334747C

被感染文件中,文件最后有感染表示标识:WhBoy + 原文件名 + exe + + ascii码为1的字符 + 随机数+ ascii码为2的字符

image-20200113083415753

4.2-手工查杀

  1. cmd命令行下taskkill杀掉进程,或者直接利用PCHunter等工具结束进程

  2. 在系统目录下删除病毒文件:C:\WINDOWS\system32\drivers\spo0lsv.exe

  3. 删除启动项:Windows+R,键入msconfig打开服务配置窗口,切换启动窗口,取消启动项,并且记录下注册表位置

img

img

4.修改注册表:Windows+R,键入regedit打开注册表窗口,找到相应位置,并删除记录

image-20200113083516026

4.3-专杀工具

效果图

image-20200113083529845

image-20200113083541900

GitHub地址:https://github.com/Ry1ynn/AntiPanda


点击全文阅读


本文链接:http://zhangshiyu.com/post/29894.html

文件  感染  病毒  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1