通过JS脚本进行攻击的GandCrab 5.0.4勒索病毒

2018-12-13   

威胁等级:★★★★
GandCrab 5.0.4勒索病毒近期大面积爆发,该病毒变种通过多种方式传播,有通过弱口令植入exe运行的,有通过js脚本最终释放exe执行的,还有直接通过JS脚本执行后,内存执行PowerShell代码的,依然主要针对弱口令和不打补丁用户。

背景介绍

2018年12月份以来,感染GandCrab 5.0.4版本的用户逐渐增多,5.0.5已经出现很久了,为什么5.0.4却迎来了爆发呢? 带着这个问题,我们详细分析了近期流行的样本,发现病毒变种通过多种方式传播,有通过弱口令植入exe运行的,有通过js脚本最终释放exe执行的,还有直接通过JS脚本执行后,内存执行PowerShell代码的。八仙过海,各显神通。可见此病毒除了作者之外,还有一批攻击者在想尽办法使用勒索进行攻击。尤其是JS脚本内存加载PowerShell的方式进行攻击的版本,如果JS脚本没有拦截住,后面病毒在内存中执行之后,就更难被查杀了。接下来我们详细分析一个典型的样本,揭示此病毒的攻击流程。希望广大用户能够了解到,并不是病毒在发动攻击,而是别有用心的人在想着办法使用病毒进行攻击。使用弱口令、不打补丁等方式就是在给攻击者敞开大门。因此除了使用杀毒软件之外,还要及时安装系统补丁,不使用弱口令密码,做好网络隔离,不断提高网络防御等级,才能够彻底避免遭受此类病毒的攻击。

样本MD5:E1CBE9209234518E6AD6D6050DCE67D1

威胁等级:★★★★

病毒攻击视频

查杀病毒视频

拦截病毒视频

技术分析

捕获到的样本最开始是一个JS脚本,前期可能通过钓鱼网站,或者弱口令的方式植入到受害者机器中,并运行。

1、JS脚本分析

脚本经过混淆

图:原始的JS脚本

经过排版后 我们可以看到病毒调用解密代码,会解密出JS 和PowerShell代码

图:排版整理后的JS脚本

2、JS脚本解密出的代码分析

JS脚本解密出的代码如下,主要分为两部分,一部分是使用JS代码将Powershell代码解密出并写入到 \%APPDATA%\iqcbrktw.log 文件下

图:JS解密释放出加密的Powershell脚本

另一部分就是使用Powershell 解密并调用释放的脚本

图:调用Powershell 解密执行脚本

3、释放出的加密的Powershell脚本

释放出的脚本\%APPDATA%\iqcbrktw.log 也是经过加密混淆,可以看出经过41秒的延时之后才会执行后面的恶意功能

图:JS脚本释放出的Powershell脚本

4、解密后的Powershell脚本

Powershell脚本解密后的内容如下,可以看到又解密并加载了一个被压缩编码的二进制内容,疑似加载DLL 并调用DoStuff函数,我们继续解密出了一个 .net的DLL

5、解密出的.net DLL

我们可以看到解密出的DLL,功能就是又解密并调用了另一个DLL

图:解密并调用病毒DLL

6、.net DLL解密出的DLL

我们发现此DLL加了一层Delphi开发壳,我们提取出了最终的病毒DLL

图:Delphi壳代码,解密出最终的病毒DLL

7、最终的GandCrab DLL

此DLL可以通过反射DLL注入的方式加载

图:导出函数

被加载之后创建线程,执行恶意功能

图:创建线程

病毒硬编码了进程列表,检测到列表中的进程之后,结束此进程,防止加密时文件被占用,无法加密。这些进程大部分都是数据库的进程和office办公软件的进程

图:检测的进程
图:遍历进程

发现存在以上进程,则结束进程

图:结束进程

判断语言,主要是为了排除使用俄语国家

图:判断语言

解密出RSA公钥

图:解密RSA公钥
图:解密的RSA公钥

遍历文件加密

图:遍历文件加密

被加密文件被修改为随机后缀

图:随机后缀名

被加密文件无法查看

图:被加密文件

桌面背景被修改为勒索信息

图:被加密后的桌面背景

病毒释放的勒索信如下

图:勒索信

防范措施

  1. 不使用弱口令密码,防止被暴力破解
  2. 及时修复系统漏洞,防止病毒通过漏洞植入
  3. 不打开可疑邮件,不打开运行可疑附件
  4. 安装杀毒软件,保持防御开启,必要时可将防御等级设置为专业模式、增强模式
  5. 安装勒索病毒防御软件

杀毒软件查杀

瑞星之剑拦截

[责任编辑:瑞瑞]