病毒专题丨 plugx病毒

该文章详细分析了一个RAR文件中的病毒,描述了其在Win7x86系统上的行为,包括创建文件夹、设置注册表自启动、网络活动以及使用shellcode进行DLL注入和提权等恶意操作。通过对病毒本体、wsc.dll及shellcode的静态和动态分析,揭示了病毒的复制、自启动设置、权限提升、进程控制及网络通信等功能。
摘要由CSDN通过智能技术生成

一、病毒简述

之前分析了一下,分析的较为简单,这次又详细分析了一下。
文件名称
00fbfaf36114d3ff9e2c43885341f1c02fade82b49d1cf451bc756d992c84b06
文件格式
RAR
文件类型(Magic)
RAR archive data, v5
文件大小
157.74KB
SHA256
00fbfaf36114d3ff9e2c43885341f1c02fade82b49d1cf451bc756d992c84b06
SHA1
1c251974b2e6f110d96af5b23ad036954ba15e4e
MD5
c1c9624b21f71e4565b941a37db3815a
CRC32
59832D3D
SSDEEP
3072:c8BHz/pBz9AycS0lEm2DchuhmE62duNkKa2W75u57cXehC9v:cgz/pnUS5chuHfu/aTI4Xeha
TLSH
T1A8F323A63B4FFB50C74C35A6EC2B4D09068B929D14CBB6093F14C7722F5A0667D1BB92
Tags
rar,contains_pe

二、环境准备

系统版本

Win7x86

三、行为分析

打开火绒剑监控:

 

转存失败重新上传取消

可以看到这里创建了文件夹,文件夹中创建了三个文件。最后有设置了注册表自启动,并退出当前进行,启动了拷贝入新目录的进程。

 

转存失败重新上传取消

之后就是很多的网络链接。

 

转存失败重新上传取消

这里又对文件进行了创建写入移动等操作,然后一直有网络链接的操作。

四、静态分析

1、病毒本体

病毒本体拖入Ida,打开start,F5

 

转存失败重新上传取消

可以看到这里很纯洁,加载了wsc.dll,并调用run函数,我们继续调试wsc.dll中run函数。

2、wsc.dll

跟进run函数,到达后到最下面:

 

转存失败重新上传取消

这里主要是一个LocalAlloc,申请了一段空间,然后进行for循环解密赋值,随后进入100015D0函数。

转存失败重新上传取消

这是函数VirtualProtect函数,修改了内存属性,随后开始调用这段Shellcode。我们动态附加病毒,跟进run函数,记录LocalAlloc函数申请空间地址,等for循环结束之后,二进制复制拷出这段内存,在010Editor中进行保存为文件,拖到Ida中,可以发现是一个dll。

3.shellcode分析

跟进dllmain函数,到了这里:

 

转存失败重新上传取消

通过进程参数,进行不同的函数功能,首先分析case1:

3.1、case1

进入sub_100090E0:
图1:

转存失败重新上传取消

图2:

 

转存失败重新上传取消

图3:

 

转存失败重新上传取消

可以看到这里是对exe,dll,dat三个文件在系统目录中的一个拷贝过程。

转存失败重新上传取消

之后在这里设置了程序自启动,结合病毒行为分析,这里的createProcess函数是启动了拷贝之后的exe,case1第二个函数是ExitProcess函数,这里很简单很简单,就到这里。

3.2、case2


 

转存失败重新上传取消

第一个函数是创建互斥体,完事后面进行参数比较,首先看函数sub_10014580:

 

转存失败重新上传取消

这里是设置了出册表network/version为1,返回去。
函数sub_100090E0和case1中一样,继续看函数sub_100153A0:

 

转存失败重新上传取消

先看第一个函数:

 

转存失败重新上传取消

看addtoken:

 

转存失败重新上传取消

可以看到这里是一个提权操作,接下来返回去看第二个函数:

 

转存失败重新上传取消

这里有四个函数,第一个是找到传入进程名,完事通过KillProcess函数杀掉。先看第一个函数:

 

转存失败重新上传取消

退出来,返回上一层看第三个函数:

转存失败重新上传取消


 

转存失败重新上传取消进入MyFileDeleandDir:

 

转存失败重新上传取消

可以看到这里就是删除文件,删除目录等操作。返回上层,看第四个函数sub_100119A0:

 

转存失败重新上传取消

删掉注册表自启动。
返回到case2,看函数sub_100019B0:

 

转存失败重新上传取消

分析函数sub_100164D0:

 

转存失败重新上传取消

简单的创建一个窗口。看函数sub_100165A0:

 

转存失败重新上传取消

这里是获取消息并处理。DestroyWindow是销毁窗口。最后看79行MySub_0,里面是创建了一个线程,跟进去回调:

 

转存失败重新上传取消

这里简单看了一下,都是网络连接之类的和获取本机信息的操作。

3.3、case3

 

 

 

这里是文件拷贝,查找窗口发送消息,打开了shell的操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极安御信安全研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值