首页
论坛
课程
招聘
[原创]MEMZ彩虹病毒分析
2021-7-17 17:02 6754

[原创]MEMZ彩虹病毒分析

2021-7-17 17:02
6754

MEMZ彩虹病毒分析

    诚请大佬指教。谢谢

一;基本信息查看

    1.1;exeinfope查壳信息

二;静态分析

2.1;彩虹猫主代码框架分析

    首先使用IDA将病毒文件样本打开(该病毒样本是32bit程序),打开之后,我们转换为伪代码形式。我们先大题说明一下该程序的执行逻辑。

  1. 程序首先获取主屏幕的长宽度,并且获取指令参数。

  2. 判断是否存在指令参数,并且根据不同情景执行不同的代码。

    我们首先看如下图片中的代码,其中的操作即获取主屏幕长度,宽度,获取指令参数。

    接着,首先看无参数的情况如何处理。即“pNumArgs > 1”为假的情况。

    下面,我们再来看有参数的情况,即“pNumArgs > 1”为真的情况。紧接着就是判断参数是否为“/watchdog”如果是,则创建一个线程,并且设定消息循环代码。详细如下图:

    下面就是将恶意代码写入MBR扇区部分。具体操作如下:

  1. 使用CreateFileA函数打开磁盘,其中有一个判断,即打开失败则退出。

  2. 准备修改MBR的数据,即首先是304字节的引导程序。

  3. 引导程序准备完成之后偏移510字节,加上AA55,即512字节的间隙,后面就是彩虹猫动画的代码。(注释:“AA55”表示MBR结尾标志)

  4. 数据准备完成之后,调用WiteFile写入磁盘。

    恶意代码写入MBR扇区之后,下面就是弹框出现记事本,并且显示一些内容。


    记事本弹框之后,会自定义一个结构体,其中一个函数指针,所指向的函数,作用是得到一个随机数,然后随机启动一个程序或者网址。详细代码如下图:


    

    好的,知道现在,我们对彩虹猫这款病毒有了一个比较初步的了解,接下来。我们将眼光放到“29”行,即当参数为“/watchdog”的时候,新建了一个线程并且执行函数sub_40114A。

    双击sub_40114A函数,进入当中。由代码分析,我们知道函数sub_40114A的功能是监控进程数目,如果进程数目一旦减少则运行sub_401021()函数。

    双击sub_401021()函数,进入当中。观察发现这个是导致蓝屏的函数。

    下面,我们将眼光放在第“95”行,我们发现这是一个地址,双击进去之后,我们发现这是一个包含了十个函数地址的数组。

    这个里面的函数就是下面(第“99”行创建线程所使用的函数)

2.2;彩虹猫调用函数分析

    接下来,我们紧接着看看,彩虹猫随机调用的函数功能。

    sub_401A55产出随机值

    sub_4014FC 不知道写什么东西的东西

    sub_40156D 捣乱鼠标


    sub_4016A0播放系统音效


    sub_4015D4桌面负面效果展示

三;动态分析

    紧接着,我们通过火绒剑来捕获一下彩虹猫执行了什么动作:

    运行火绒剑,设定监控彩虹猫病毒,设定完成,开启监控,运行病毒文件。我们可以根据日志来分析病毒行为。

    病毒效果展示:


    火绒剑家监控展示:

    导出日志如下:



    

    



第五届安全开发者峰会(SDC 2021)10月23日上海召开!限时2.5折门票(含自助午餐1份)

最后于 2021-7-17 21:24 被天象独行编辑 ,原因:
上传的附件:
收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回