熊猫烧香恶意代码分析


样本介绍

在这里插入图片描述

行为介绍

1.创建spo0lsv.exe并运行

在这里插入图片描述

2.创建Desktop_.ini

在这里插入图片描述

3.感染文件

在这里插入图片描述

4.修改注册表

在这里插入图片描述

5.在磁盘根目录创建自启动脚本

在这里插入图片描述

6.关闭杀毒程序,关闭杀毒服务,并取消杀毒软件的开机启动
7.禁用任务管理器、注册表管理器等系统软件
8.局域网密码爆破,尝试传播

整体介绍

整个程序的执行流程是先执行两次判断,判断通过后执行三个功能函数

在这里插入图片描述

用思维导图的形式进行提炼

在这里插入图片描述

逆向分析

拿到程序后应该先进行查壳,发现使用了FSG2.0的壳

在这里插入图片描述

由于脱壳后涉及到IAT表的修复,这里采用脱壳工具进行脱壳,脱壳后可以看到程序是使用Delphi编写的

在这里插入图片描述

程序初始化

在这个部分中,程序主要进行了两次的字符串解密,并对解密后的字符串进行比对,如果比对通过,则往后继续执行,先介绍第一次解密,可以看到密钥为xboy,密文位于数据窗口中

在这里插入图片描述

解密的方式是简单的异或

在这里插入图片描述

解密后进行字符串比对,如果不一致则退出程序

在这里插入图片描述

对于第二个字符串解密也是类似的操作,不过密钥变成了whboy

在这里插入图片描述

功能模块一

当两次解密验证都通过后,首先进入功能模块一,而功能模块一的主要功能是释放恶意文件到系统目录,整体流程图如下

在这里插入图片描述

首先会获得当前文件的一个绝对路径,再拼接得到Desktop_.ini的路径

在这里插入图片描述

接着判断Desktop_.ini是否存在,根据文件的时间信息判断文件状态是否正常

在这里插入图片描述

如果不正常则将文件删除

在这里插入图片描述

接着会将当前的恶意文件读入内存(具体作用后面会说)

在这里插入图片描述

然后判断当前的文件是否为C:\WINDOWS\system32\drivers\spo0lsv.exe

在这里插入图片描述
如果是的话,程序继续往下运行功能模块二;如果不是,则会在C:\WINDOWS\system32\drivers\目录下创建一个spo0lsv.exe 并运行

在这里插入图片描述

功能模块二

对于功能模块二,它又有三个小功能

在这里插入图片描述

感染文件

对于感染文件,大致流程如下

在这里插入图片描述

首先它采用的方式是递归遍历,会先获得由所有磁盘名组成的字符串

在这里插入图片描述

对于每一个磁盘,拼接上通配符,进行递归遍历

在这里插入图片描述

对于文件夹,它有一个白名单,下面的这些文件夹以及文件夹里面的文件不会被感染,应该是作者并不想影响系统正常的运行

在这里插入图片描述

而对于白名单外的文件夹,恶意程序首先会判断文件夹中是否含有Desktop_.ini,如果存在则根据时间信息判断文件状态是否正常,如果不正常则删除。
恶意程序会创建Desktop_.ini,其中存放的内容为被感染的年月日,如2023-11-12,并将文件属性设置为隐藏

在这里插入图片描述

而对于文件,主要分为两种类型:可执行文件和脚本文件,不过还会删除GHO(系统备份文件),对setup.exe(程序安装文件)和NTDETECT.COM(系统引导文件)不进行感染

在这里插入图片描述

对于可执行文件的感染,大致流程如下图

在这里插入图片描述

首先会判断当前文件是否在运行

在这里插入图片描述

具体的做法是先拍摄进程快照

在这里插入图片描述

获取第一个进程的信息,判断是否为当前遍历的文件

在这里插入图片描述

如果不是,则获取下一个进程的信息

在这里插入图片描述

如果当前文件不在运行,则先将文件的内容读入内存

在这里插入图片描述

判断目标文件中是否含有感染标识WhBoy,如果有则不感染

在这里插入图片描述

如果没有,则先将内存中的恶意文件的内容覆盖目标文件

在这里插入图片描述

然后拼接得到感染标识字符串,然后将内存中目标文件的内容写到复制后的恶意文件内容末尾,最后在关闭前再将感染标识字符串写入目标文件内容末尾

在这里插入图片描述

即被感染后的可执行文件如下图所示,类似加了个壳

在这里插入图片描述

而对于脚本文件,感染流程大致如下图

在这里插入图片描述

首先会将文件的内容读入内存,然后解密得到恶意的iframe标签,也是简单的异或解密

在这里插入图片描述

然后判断当前是否含有恶意的iframe标签,如果有则不感染,如果没有,先会判断当前的脚本文件是否存在,以及检查时间信息是否正常

在这里插入图片描述
如果不存在,会创建文件,将内存中当前文件的内容写入文件

在这里插入图片描述
然后再将恶意iframe标签写入到文件末尾

在这里插入图片描述

感染后的脚本文件内容如下

在这里插入图片描述

创建脚本

创建脚本的大概流程如下

在这里插入图片描述

首先会判断是否存在A盘或B盘,如果存在则跳到函数末尾,可能是因为A、B盘属于软盘,大小只有1.44M,没有太大的感染价值

在这里插入图片描述

然后拼接得到路径,首先判断setup.exe是否存在

在这里插入图片描述

如果不存在则将内存中当前恶意文件的内容复制到setup.exe

在这里插入图片描述

如果存在setup.exe则判断他的内容是否是正确的,如果不正确则删除,再将内存中当前恶意文件的内容复制到setup.exe

在这里插入图片描述

接着判断autorun.inf是否存在,如果不存在则直接创建文件

在这里插入图片描述

如果存在则先将文件的内容读入内存

在这里插入图片描述

再判断内容是否正确,不正确则删除

在这里插入图片描述

删除后再创建新的autorun.inf

在这里插入图片描述

并将文件的属性设置为隐藏

在这里插入图片描述

尝试局域网传播

局域网传播的大致流程如下

在这里插入图片描述

首先会测试当前的网络状态

在这里插入图片描述

然后会先获得当前的ip地址

在这里插入图片描述

根据ip地址生成当前局域网的ip地址

在这里插入图片描述

生成ip地址后测试139端口和445端口

在这里插入图片描述

如果能够连接,则尝试传播

在这里插入图片描述

会先建立一个连接

在这里插入图片描述

将恶意文件复制为GameSetup.exe

在这里插入图片描述

获取远程主机的时间信息

在这里插入图片描述

为远程主机添加计划任务

在这里插入图片描述

尝试通过密码爆破登陆

在这里插入图片描述
在这里插入图片描述

功能模块三

功能模块三开启了六个定时器

定时器1

定时器1的流程图大致如下

在这里插入图片描述

首先他会进行提权,提升当前进程的访问权限,为的是能够修改注册表
在这里插入图片描述

然后它会关闭杀毒软件

在这里插入图片描述

具体是根据窗口的标题信息

在这里插入图片描述

退出一些系统软件,其中就包括任务管理器,注册表管理器

在这里插入图片描述
具体是根据进程信息

在这里插入图片描述

还对冰刃(杀毒软件)进行了退出,采用模拟按键的方式(可能是比较难退)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接着是对注册表的修改

在这里插入图片描述

首先会创建注册表项,将spolsv.exe添加到开启启动

在这里插入图片描述

接着会关闭隐藏文件的显示

在这里插入图片描述
在这里插入图片描述

定时器2

定时器2的流程图大致如下

在这里插入图片描述

首先是解密得到网址

在这里插入图片描述

读取网站的内容

在这里插入图片描述

对文件的格式进行处理

在这里插入图片描述

网站的内容应该是另一个网址,再远程下载文件

在这里插入图片描述

定时器3

定时器3的大致流程如下

在这里插入图片描述

首先是重复定时器2的功能,然后会关闭网络共享(为什么要关闭网络共享,我个人的理解是当前的机器可能已经被感染了,就不需要作为被感染的目标了)

在这里插入图片描述

定时器4

定时器4的大致流程如下

在这里插入图片描述

首先会暂停杀软相关服务

在这里插入图片描述

接着会删除杀软相关服务

在这里插入图片描述

最后会修改注册表,关闭杀软的开机启动

在这里插入图片描述

定时器5

定时器5的大致流程如下
在这里插入图片描述

解密得到网址,然后访问网址内容,应该是用来判断当前的网络状态

在这里插入图片描述

定时器6

定时器6的大致流程如下

在这里插入图片描述

同样是先解密得到网址,然后访问网址

在这里插入图片描述

远程下载文件并执行

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值