
一、概述
此次分析的样本包含许多SystemBC病毒的特征,属于SystemBC家族的一员。兰眼下一代威胁检测系统对该文件的告警信息如下:
SystemBC 是一种Remote Access Trojan (RAT)病毒,可用于隐藏流量和避免恶意软件被反病毒软件检测,因此被网络犯罪分子广泛应用。本次分析的样本通过连接C&C实现释放其他恶意软件。
二、分析
2.1 基本信息
文件名 | VeeamUpdate.exe |
文件类型 | PE32 executable (GUI) Intel 80386, for MS Windows |
文件大小 | 13824 bytes |
MD5 | 43c63bf03cff27a4696d80b290eddd19 |
SHA1 | ee89b917d740fda0b87880c356df6867f4ec3706 |
编译器 | MASM32 |
编译时间 | 2021-03-18 15:16:23 |
所属家族 | SystemBC |
2.2 程序流程图
2.3 关键行为分析
2.3.1 持久性
样本通过创建计划任务保证持久性。
Com组件:Scheduled Task/Job :: Scheduled Task;
关键接口:CJob::Save。
计划任务是通过“C:\Windows\Tasks”目录下的job文件进行控制的,因此会生成文件:C:\Windows\Tasks\wow64.job。
2.3.2 com组件分析
通过兰眼检测系统,我们发现样本通过Com组件获取ITaskScheduler 接口,如下图所示:
创建计划任务的函数为FUN_004020a8( 假设Imagebase 为0x400000)。该函数初始化com库,并通过com组件获取计划任务相关的接口,而后依次调用接口创建计划任务,接口来自于mstask.dll,下面列出了部分关键接口。
设置参数
创建计划任务
执行计划任务
2.3.3 窃取信息
获取计算机名称, 判断系统是否为64位并获取卷序列号。
加密获取到的数据并上传至xx.xxx.29.50:443和xxx.xx.123.202:443。
2.3.4 释放文件
该样本根据C2的指令,会释放5种不同类型的文件。文件类型如下:
需要注意的是:①文件的内容由C&C传送至宿主。②文件名完全随机,只有文件后缀是确定的。③释放的文件存放在%temp%文件夹下。④文件释放后并不会直接执行,而是通过计划任务自动执行。
所释放的文件数据并不集成在该样本中,而是由C2传输过来。
文件名会随机生成,并在%temp%路径下释放。
所释放的文件会被添加至计划任务。
如果释放的是ps1文件,则会为计划任务设置参数: -WindowStyle Hidden -ep bypass -file "%temp%\xxx.ps1",作用是隐藏程序运行窗口。
2.4、IOCs
2.4.1 文件IOC
CJob::Save CreateFile “C:\Windows\Tasks\wow64.job”
2.4.2 网络IOC
HOST1: xx.xxx.29.50
HOST2: xxx.xx.123.202
三、处置建议
3.1 删除相关服务
样本除了将本身添加至计划任务,还会将释放的文件添加至计划任务,并且任务名随机。因此,需要删除wow64和可疑的任务。
删除计划任务后,位于“C:\Windows\Tasks”目录下job文件会被自动删除,无需我们手动处置。
3.2 删除残留文件
【注意】:只有连接上C2,样本才会释放文件。
删除%temp%路径下的可疑文件,其文件名随机,文件后缀为上述的五者之一。建议直接清空%temp%,以释放exe为例,下图显示了其随机的文件名:
四、总结
本次分析的样本通过计划任务实现自启动,和以往分析的文件,此方法较为少见。同时,该样本通过调用Com组件简单“隐藏”了所调用API的踪迹,提高了逆向分析的难度。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)