窃密病毒伪装Windows激活程序 盗取用户资金
近期,火绒威胁情报系统发现一款伪装成Windows非法激活程序的窃密病毒正在传播。该病毒以Windows_Loader.zip包形式诱导用户,内含病毒程序,可以获取用户电脑和程序信息并且盗取资金,对用户构成较大安全威胁。
查杀图
火绒工程师对样本进行分析发现,该病毒与CryptBot家族有关。CryptBot是一个窃密软件,最早出现在2019年,主要在Windows系统中通过钓鱼邮件和破解软件进行传播。它能窃取受害者浏览器的敏感信息,获取电脑和已安装程序信息,拍摄上传屏幕截图。
与以往不同的是,此次分析中发现新增了"clipboard hijacker"模块,通过劫持受害者的剪贴板数据,将其中的加密货币地址替换成自己的钱包地址,来盗取资金。该样本病毒流程图,如下所示:
病毒执行流程图
一、样本分析:
第一阶段:
样本是一个名为 Windows_Loader 的文件夹,其内包含多个文件,伪装成 windows 激活程序来欺骗用户:
文件集合
以 "Windows Loader.exe" 为执行主体,这是一个自解压的可执行文件,内部包含用于激活 windows 用的 Windows Loader1.exe,Keys.ini 文件是激活用的序列号,这里最高只支持到 Windows7:
Keys.ini 和 sfx 自解压
双击启动 "Windows Loader.exe" 后,其会先后执行同目录下的 activate.exe 和释放的 Windows Loader1.exe,其中恶意行为集中在 activate.exe 中:
进程启动
第二阶段:
activate.exe 是一个近 700M 的大文件,逻辑代码包含大量混淆、 SMC、动态加载等操作及近乎全局的内存校验反调(反软件断点):
SMC
内存校验计算 hash 的过程中,如果遇到内存修改或调试用的软件断点,则校验失败,从而跳转到报错弹框中并结束程序:
报错弹框
样本在运行过程中会在 rdata 区解压出通用的数据,数据的内容展现出其要窃取的信息以及要上传的格式:
解压 rdata 段数据
通过配置字符串及调试验证可以发现,其窃取信息包括主流的浏览器相关的配置、钱包、关键插件、用户数据等:
窃取 chrome 示例
窃取的浏览器列表如下:
浏览器列表
对于浏览器数据的获取方式,样本会根据配置数据遍历并复制指定的配置文件到内存中,用于后续打包上传:
获取 Chrome 配置文件示例
除了窃取浏览器相关数据外,样本还会获取受害者电脑的相关信息,包括“用户名、时间、操作系统、键盘语言、CPU、RAM、GPU”等。此外,样本还会遍历注册表 "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" 和 "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" 获取 32 位和 64 位已安装的用户程序:
已窃取的信息列表
在窃取受害者相关信息后,样本会新开辟一个内存空间用于存放数据,并解密出后续操作需要的字符串,包括前面 .rdata 区未出现的 information.txt,screen.jpg,以及 fAyc127FnH9rd0NqvpI7 等。其中 Information.txt 用于存放前面提到的受害者用户信息,screen.jpg 用于后续拍摄屏幕截图,fAyc127FnH9rd0NqvpI7 则是将所有窃密数据以文件为单位存放后,对文件夹进行压缩时的压缩密码:
窃密压缩包
在整理好窃密信息到内存压缩文件,样本会解密出要连接的 C2:"gjseven7vs.top" 作为回传域名,发送的目录及其它 http 字段都在前面 .rdata 段中有定义:
域名连接
流量包截获
随后样本会解密嵌在自身中的 Sukibas.exe 和 Sukibas.jpg 文件,释放在 "C:\Users\Administrator\AppData\Roaming\ServiceData\" 目录下,以供下一阶段使用:
文件释放
样本继续解密出关联的命令参数,并调用 ShellExecuteW 函数来执行 cmd 命令以注册计划任务,执行的命令如下所示:
"/c schtasks /create /tn \Service\Data /tr """"C:\Users\Administrator\AppData\Roaming\ServiceData\Sukibas.exe""" """C:\Users\Administrator\AppData\Roaming\ServiceData\Sukibas.jpg"""" /st 00:01 /du 9800:59 /sc once /ri 1 /f"
注册计划任务
计划任务截图
第三阶段:
第三阶段属于写在计划任务中的 Sukibas.exe 和 Sukibas.jpg 中的执行过程,Sukibas.exe 是 Autoit 官方的脚本加载器:
信息查看
Sukibas.jpg 则是一个经过混淆的 Autoit 语言编写的脚本,经过对比,可以确认利用的混淆工具是 "Autoit Obfuscator" 这款工具:
混淆工具
由于该脚本没有使用任何 Autoit 的导入库,所以可以把调用的函数范围限制在标准函数列表中。且该混淆工具对函数的混淆策略是将函数分配给变量来隐藏调用的函数信息,所以仔细搜寻就能发现 3 个关键的标准函数,Run、ClipGet、ClipPut。
Autoit Obfuscator
由于没有外联类函数的调用,结合相关威胁情报及该组织的 TTP,可以猜测出其是使用了一种叫 "clipboard hijacker" 的模块。该模块曾在 2019 年由研究人员在 MyKings僵尸网络中发现,其原理是通过劫持用户剪贴板数据,对受害者复制的数据进行正则匹配,筛选出类似于加密货币地址的文本字符串,最后将其替换为自己的钱包地址,以吸走资金。
相关报告截图
该手法在 Sukibas.jpg 上得以验证,样本在获取剪粘板数据中不断循环,直到匹配出类似于加密货币地址的文本字符串:
获取剪粘板数据
获取匹配的剪粘板数据后,样本会用自己内置的钱包地址进行替换。替换地址随加密货币的种类不同而不同,有比特币、以太坊、Tron等:
比特币地址替换
额外的,在替换钱包地址后,样本会执行一个自删除操作,为了防止由于 Sukibas.exe 正在执行而无法删除,样本还特定延迟两秒后才进行相关操作。
执行的命令如下:
"C:\Windows\system32\cmd.exe /c timeout /t 2 & del /f /q "C:\Users\Administrator\AppData\Roaming\ServiceData\Sukibas.exe" & del /f /q "C:\Users\Administrator\AppData\Roaming\ServiceData\Sukibas.jpg""
文件删除
二、附录:
HASH:
C&C: