MEMZ病毒详细分析

病毒分析的准备工作

环境:我采用的是吾爱破解的xp系统,里面有很多现成的工具,ida,xdbg都有,只不过ida版本有点低,但是对于本病毒的分析也没太大影响,百度网盘链接:https://pan.baidu.com/s/1YvO264J-atvRUZew8AlS9g 提取码:abcd。(如果有大佬知道怎么在xp系统中使用更高版本的ida,或者有更好的分析病毒的虚拟机,可以在评论区给点资源,谢谢啦)

分析步骤,一般的病毒分析步骤,如下

  • 查壳,常见的有upx,ASpack,等等,可以用来实现简单免杀。
  • 行为分析,是否修改注册表,联网,等等,可以在虚拟机中跑一遍看看效果(但是不要直接连网),或者用vt直接跑跑看,有个大致的判断。
  • 导入的dll以及API,使用StudyPE+去查看。
  • 关键字符串,ida中shift+f12就可以直接查看。
  • 放到ida静态分析,或者动调。

但是,对于彩虹猫病毒这个样本,里面的函数和逻辑都比较清晰,先在虚拟机里面跑几遍,看看行为,就直接开始分析了。

分析过程

分析过程大致分为3部分,启动部分,检测部分,彩虹部分,MBR部分。

启动部分

首先判断该进程的传参,类似于标准 C 运行时argv和argc值。从而走不同的流程。

 然后看下面干了什么。

大概就是以不同参数开了6个MEMZ.exe进程。对于里面出现的函数可以到MSDN官方文档去查,举个例子,对于SetPriorityClass(),推荐在谷歌用必应上直接搜索该函数,然后进官方文档看函数参数意义,比如说,我要看0x80代表什么。
 

检测部分

这一部分就是用来判断用户是否主动关机,是否主动关闭MEMZ.exe,从而来用函数进行相应措施。

最外层。

然后来看看创建的线程函数check干了什么。

可以看出check函数用来判断是否主动关闭MEMZ.exe。

shutdown()函数中的StartAddress无法直接反编译,先用一位师傅谁的狗哥处理一下函数,然后来看看shutdown()函数。

然后看看创建的20个线程,就是用SetWindowsHookExW()实现了20个随机位置的messagebox弹窗,要理解这一部分,去查阅官方文档的函数。

然后我们跳出来,回到最外层,来看看消息处理函数干了什么。

WM_QUERYENDSESSION,WM_QUERYENDSESSION与WM_ENDSESSION_jessicaiu的博客-CSDN博客所以这个就是用来防用户关机的。

到这里检测部分就分析完了。

彩虹部分

这部分是参数为/main的MEZE.exe进程执行的。主要表现在电脑桌面的花里胡哨。

 这里v9类似于下面的结构

typedef struct {
    int time;
    int (*func)();
}functable;
 
functable a[10];

下面来分析这10个函数,里面很多api就不多讲了。

func1(),实现乱打开程序和网站。<

  • 48
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 37
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值