首页
社区
课程
招聘
[原创]伪造微软等企业签名 恶性病毒偷比特币+挖矿
发表于: 2018-5-8 19:06 5158

[原创]伪造微软等企业签名 恶性病毒偷比特币+挖矿

2018-5-8 19:06
5158


一、 概述

5月8日,火绒实验室截获新型后门病毒。该病毒破坏性极强,入侵用户电脑后会执行多种病毒模块,以窃取用户比特币、门罗币等主流虚拟货币的数据信息,同时利用用户电脑疯狂挖矿(生产“门罗币”),并且还会通过远程操控伺机对用户进行勒索。

另外,病毒团伙非常狡猾,不仅使用了隐蔽性很强的“无文件加载”技术,令普通用户难以察觉,而且还伪造了亚马逊、微软以及火绒的数字签名,成功躲过了国内绝大多数安全软件的查杀。目前“火绒安全软件”最新版可对该后门病毒进行拦截和查杀。

火绒查杀截图

二、 详细分析

近期,火绒截获到病毒样本,该病毒会通过访问C&C服务器下载执行多种病毒模块,病毒模块功能包括:挖矿、勒索、信息窃取。该病毒运行之后首先会执行3个远程脚本,分别下载勒索病毒,挖矿病毒,并且还可能会下载间谍病毒。勒索病毒会常驻后台,等待勒索时机。挖矿病毒会首先由evil.js直接下载下来,然后伪装成为explorer.exe加参数运行。ps5.sct实现核心功能,负责后续的主机信息收集,服务端指令的执行,从目前服务器返回的数据来看,只是用于挖矿命令的下发。

病毒恶意行为流程图,如下图所示:

 

病毒恶意行为流程图

进程树粗略概览,如下图所示:

进程树截图

该病毒执行后,会执行远程恶意VBScript脚本和SCT脚本。相关代码,如下图所示:

 

病毒代码

该病毒执行远程脚本相关数据,如下图所示:

相关数据

被执行的远程脚本及其主要功能,如下图所示:

 

脚本名称及其主要功能

下文针对病毒所下载执行的多个脚本文件进行详细分析。

ps5.sct:

ps5.sct是一个混淆过的SCT脚本,作为payload,由regsvr32远程执行,利用powershell结合dotnet的静态方法来创建子线程执行shellcode,该shellcode会向ssl2.blockbitcoin.com请求数据,下载一个pe结构异常的恶意dll,该dll会从远程服务器获取命令然后执行,在我们分析的时候,服务器派发命令是挖矿命令。

解密后的ps5.sct相关代码,如下图所示:

解密后的脚本代码

以上shellcode下载的恶意dll的GetCommand_and_run函数实现联网获取服务器指令。相关代码逻辑,如下图所示:

 

病毒代码

通过动态调试发现恶意dll偏移0x305252E处调用网络操作相关API,连接网站ssl2.blockbitcoin.com。压栈的内容,如下图所示:

动态调试截图

向该网站请求数据,压栈的内容,如下图所示:

动态调试截图

通过InternetReadFile  API函数,从网站读取命令数据,如下图所示: 

病毒代码

网站返回了命令数据,如下图所示:


动态调试获取网页返回数据

调用sub_3063D37的函数,循环执行每条网站返回的命令数据,如下图所示:

病毒代码

reg99.sct:

reg99.sct也是一个混淆过的SCT脚本,作为payload,由regsvr32远程执行,会根据系统的架构决定执行var_func(32bit) 还是 va_func2(64bit),这两个函数会释放出不同版本的evil.js,从而下载对应的挖矿病毒,相关代码逻辑,如下图所示:

 

解密后的脚本代码

挖矿病毒(文件名:explorer.exe,与资源管理器进程名一致)相关关键数据,如下图所示:

 相关数据

 

 相关数据

截至2018年5月8日,根据钱包地址查询到结果,如下图所示:

钱包收益截图

并且通过行为分析可以看出:

1. 每5分钟执行一次 reg9.sct 中的恶意代码,用以保证挖矿行为正常运行。命令如下图所示:

恶意命令

2. 利用wmi执行下载并运行挖矿病毒与勒索病毒。命令如下图所示:

 

恶意命令

sp.txt

sp.txt是一个经过混淆的VBScript病毒脚本,脚本会下载执行勒索病毒(文件名:core.scr)。解密后的脚本代码,如下图所示: 

解密后的脚本代码

勒索病毒相关关键数据,如下图所示:

相关数据

勒索病毒加密使用用RSA非对称加密。公钥数据,如下图所示:

相关数据

尝试终止如下exe程序,如下图所示:

相关数据

该程序初始化了字符串表,保存了常见数据库主程序名,通过循环调用结束进程函数,将这些程序进程结束,从而取消文件占用。相关逻辑如下图所示:

 

初始化字符串列表

 

进程结束逻辑

加密如下文件后缀,如下图所示:

相关数据

其他:

在我们的测试过程中发现,由于远程脚本会发生改变,还有可能下载该间谍病毒, 该病毒让浏览器安装adblockplus插件,通过向js文件写入片段代码,实现过滤用户比特币钱包信息,用于窃取用户信息。

间谍病毒(文件名:SVTHOST.EXE)相关关键数据,如下图所示:

 相关数据

 

相关数据

相关数据

相关数据

经过我们多次下载发现,该病毒功能总体不变,但是签名信息等频繁发生变化,可能是为了实现免杀,其证书签名都是同属于一家CA,签名者通常被伪造成其他知名软件厂商名字,如:微软、亚马逊、火绒。如下图所示:

第一次下载得到的程序的签名信息

第二次下载得到的程序的签名信息

第三次下载得到的程序的签名信息

三、 溯源分析

我们在病毒样本资源的版本信息中发现,其语言版本是简体中文,如下图所示:

资源信息

病毒还在文件信息中将自己伪装为“金山安装工具”,如下图所示:

文件属性中的“文件说明”翻译为:“金山安装工具”

从病毒远程下载的某个样本中,我们发现伪造的数字签名包含有中国厂商,如下图所示:

伪造的“火绒”签名

通过上述信息,我们不排除该病毒的编写作者为中国人的可能性。

四、 附录



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-5-8 19:18 被火绒实验室编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
2
有个问题..这个伪造签名并没有用吧..就是把签名数据copy了一下.并不能过掉吧  -  -  文件数据跟签名对不上  无效签名..感觉  也就掩耳盗铃下...没做过相关操作..问下.单纯copy  杀毒也会放行?
最后于 2018-5-8 21:29 被bambooqj编辑 ,原因:
2018-5-8 21:28
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
3
bambooqj 有个问题..这个伪造签名并没有用吧..就是把签名数据copy了一下.并不能过掉吧  -  -  文件数据跟签名对不上  无效签名 ...
了解一下https://bbs.pediy.com/thread-221970.htm
主要是为了忽悠扫描引擎
2018-5-8 21:44
0
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
4
cvcvxk 了解一下https://bbs.pediy.com/thread-221970.htm 主要是为了忽悠扫描引擎
感谢V校解惑.
2018-5-8 21:58
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
5
签名是自动+随机偷的吧,SigTheif了解一下?
2018-5-9 13:22
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
6
hzqst 签名是自动+随机偷的吧,SigTheif了解一下?
sigtheif+注册表修改
2018-5-9 21:25
0
游客
登录 | 注册 方可回帖
返回
//