彩虹猫IDA分析记录

彩虹猫分析

彩虹猫分析过程,今天分析了一整天了,结果最后还是疏漏一两个路径,明天再继续吧

概述

程序分为三种启动方式

  • 一种是不带任何参数的启动

  • 第二种是带 /main 参数启动

  • 第三种是带/watchdog参数启动

image-20200301011629363

这部分是每个启动方式都会执行的代码

  1. 通过GetSystemMetrics()获取屏幕的宽高 但之后似乎并没有用到这部分?
  2. 然后通过GetCommandLineW()获取命令行参数
  3. 最后再通过CommandLineToArgvW()函数解析参数得到参数数组(可以按照数组方式使用)
  4. 根据参数确定两种带参执行行为

无参启动

首先用户在运行MEMZ.exe文件之后 是不带参数的执行, 我猜我得到的样本应该是被大佬修改过的,会进行两次提醒,然后病毒代码才会真的开始执行

image-20200301011052554

上图是不带参数执行的代码

  1. 首先申请一段内存,之后通过GetModuleFileNameW函数获取到自己的可执行文件文件名
  2. 然后使用循环启动5个带/watchdog参数的副本
  3. 接下来构造SHELLEXECUTEINFOW 结构体 用于创建一个副本,并且带/main参数,与本身不同的是,会提高CPU的优先级,占用更多CPU时间,位后面占用系统资源做铺垫
  4. 然后退出进程

/main参数启动

image-20200301012557618

image-20200301012650842

该启动方式主要作用是为了将MBR扇区引导部分覆盖掉,并且写入重启之后的彩虹猫动画代码

/watchdog参数启动

image-20200301012205830

该启动方式如同他的名字一般 (看门狗) ,是用来检测用户是否主动结束自身进程的,若结束了,则开始破坏用户电脑(其实/main 参数已经)

  1. 创建一个新的线程,经过进入分析,得知该进程会监控进程列表,

写入的程序分为两段

第一段 长度是304 这个应该是引导代码

image-20200229163753462

第二段 长度是 1952 这个应该是彩虹猫动画程序本体

image-20200229163706028

这个地址开始 往下很长一段都是内容 要注意 那个 AA55 是MBR扇区的结束标志

这里据我了解,MBR扇区总共512字节

image-20200229163817418

image-20200229163913155

猜你喜欢

转载自www.cnblogs.com/cjdty/p/12387772.html
IDA