入侵不停,迭代不止……银狐再现新“招数”
The following article is from 微步在线研究响应中心 Author 微步在线
投递方式
根据微步OneSEC团队捕获到的样本,银狐团伙利用WPS安装文件进行伪装,利用互联网传播,诱导目标受害者下载;下载后的wps_Setup实际是一个压缩包文件,目标受害者双击后,后续恶意操作自动完成,背后执行逻辑如下图所示:
# “银狐”新增手法揭秘 #
01
避实击虚,利用Golang+AES组合实现静态免杀
母体样本和第二阶段加载器均使用Golang编写,这是因为目前主流杀软对Go语言程序的检测能力较为薄弱。并且,执行前的数据隐藏在程序内部,均使用AES加密,杀软难检测。相较于之前的样本,在本次攻击事件中,银狐团伙明显在文件免杀上做了不少功夫:
02
冒名顶替,伪装成C语言文件躲过杀软扫描
母体样本被双击执行后,首先从C2服务器上动态获取下一阶段程序(即图中的Loader.c),然后在内存中解密执行。执行后会将这一程序重命名为xxx.c,并保存在本地。
在文件落盘时,终端杀软的实时防护功能会对落盘文件进行扫描。但杀软通常会略过某些类型的文件(不扫描),以降低对终端性能的占用。这之中,C语言源代码文件就是不会被传统杀软扫描的文件类型之一。银狐通过将样本执行文件伪装成C语言文件,绕过了杀软扫描。
03
Loader执行后会将自身的两段数据解密并释放到两个文件中,即执行逻辑图中的storage.exe(经实测为酷狗音乐安装文件,具有合法签名,为白文件),和一个经加密的恶意dll文件(此为Payload文件)。然后将主程序设置为计划任务:
当终端重启或开机,系统计划任务会启动具有合法签名的storage.exe白文件,然后加载恶意dll文件。但值得注意的是,这个恶意dll文件与以往使用的“白加黑”攻击手法不同,其会主动更改主程序(即storage.exe)执行流,将入口点修改至自行设计的某个函数上。从逻辑上看,这意味着将原来的被动加载转变成了主动执行。
以往制作白加黑程序,为了保证能够稳定执行代码,通常需要刻意挑选白程序。但通过恶意dll这种“反客为主”的手法,就完全控制了主程序的走向,几乎不存在运行崩溃的情况。恶意dll文件中的部分代码如下:
# 总结 #
但是,不管在文件免杀方面做得有多高明,最终都需要在终端上执行。从程序执行的角度来看,几乎所有的恶意样本在内存中的活动都绕不开加密、解密:
并且,再高明的Golang Loader样本在内存中的痕迹也无法隐藏: