带宏的恶意样本分析

分析一个带宏的恶意样本,通过宏代码释放恶意文件至本机执行,释放的恶意样本可实现多条远控功能

0x01 网络行为

122.216.201.108

0x02 持久化

将自身写入SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run实现自启动

0x03 详细分析/功能介绍

3.1 宏代码分析

Auto_Open()子过程调用useraddeeLoadr 和 open_pp两个子过程,useraddeeLoadr用于释放恶意文件wardhmrias.exe并执行,open_pp打开ppt文件

image.png

useraddeeLoadr首先生成文件的释放路径

image.png
然后根据不同操作系统版本,向Zip文件写入不同数据

image.png

之后,在再将Zip中的文件解压出来,并执行

image.png

Unaddeeip子过程,将Zip中的文件复制出来,完成解压操作

image.png

3.2 wardhmrias.exe分析

接下来分析宏代码释放的恶意程序wardhmrias.exe。

首先观察入口点,判断为C#编写的WinForm程序

image.png

进入 Form1() ,首先进行组件初始化,并添加表单关闭和加载事件

image.png

分析Form1_FormClosing,该函数先判断wardhmrias.exe是否存在,不存在则创建一个新的wardhmrias.exe

image.png

image.png

然后将wardhmrias.exe写入注册表"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run,实现自启动

image.png

Form1_Load,设置窗体不可见

image.png

wardhmriasdo_stadrt(),数据初始化,设置Timer

image.png

通过计时器回调函数执行连接C2的操作

image.png

计时器回调函数为this.wardhmriasIPSrFI(); 创建socket,连接远程服务器

image.png

image.png

image.png

wardhmriassee_spyo() ,循环接收主控端命令,执行相应的操作。

先获取NetworkStream,再从中读取主控端发送的命令

image.png

image.png

image.png

创建命令字典

image.png

根据读取到的命令数据进行相应操作:

"wardhmrias-puatsrt",1 将自己写入注册表

SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

image.png

image.png

"wardhmrias-gedatavs",3 遍历进程,并将进程信息写入NetworkStream,发送主控端

image.png

image.png

用于发送数据的函数如下

image.png

"wardhmrias-thdaumb",5 获取指定路径的图像文件及其名称、创建时间

image.png

image.png

"wardhmrias-praocl",7 遍历进程

image.png

"wardhmrias-fialsz",9 获取指定路径的文件信息

image.png

image.png

"wardhmrias-dodawf",11 读取数据并写入指定文件

image.png

image.png

image.png

"wardhmrias-enadpo",13 结束指定进程

image.png

"wardhmrias-scarsz",17 设置wardgmriasscrfSize

image.png

image.png

"wardhmrias-diars",19 获取驱动信息

image.png

image.png

image.png

"wardhmrias-staops",21 设置标志位

image.png

"wardhmrias-csdacreen",23 捕获屏幕

image.png

image.png

image.png

"wardhmrias-cnals",25 设置标志位

image.png

"wardhmrias-doawr",27 同11 读数据写入文件

image.png

"wardhmrias-scaren",29 创建线程捕获屏幕

image.png

"wardhmrias-fladr",31 遍历指定路径的子目录(如果存在)

image.png

image.png

"wardhmrias-udalt",33 读取NetStream数据写入debdrivca.exe文件并执行

image.png

image.png

"wardhmrias-inafo",35 获取用户相关信息

image.png

image.png

image.png

image.png

"wardhmrias-ruanf",37 启动指定进程

image.png

image.png

"wardhmrias-fiale",39 获取指文件内容

image.png

image.png

"wardhmrias-dealt",41 删除文件

image.png

image.png

"wardhmrias-flaes",43 获取指定路径下的文件

image.png

image.png

"wardhmrias-afaile",45 获取指定文件内容及相关信息

image.png

image.png

"wardhmrias-liastf",47 获取指定扩展名的文件

image.png

检查命令是否完整: 扩展名+文件名

image.png

检查文件扩展名 符合则获取相关文件信息发送服务器

image.png

  • 发表于 2022-05-25 09:33:24
  • 阅读 ( 5616 )
  • 分类:其他

0 条评论

请先 登录 后评论
莫一
莫一

1 篇文章

站长统计