作者:360观星实验室

勒索事件概述

从2018年9月底开始,360企业安全安服团队连续接到多起客户求助,客户业务系统遭受GandCrab 勒索攻击。分析团队发现,近期GandCrab勒索成大规模爆发趋势,且版本更新频繁。

在国内GandCrab目前仍以弱口令爆破、伪装正常软件诱导用户运行及漏洞利用这三种方式进行传播;将导致用户系统被加密,文件后缀被修改为随机字母;并勒索交付数字货币赎金。

本文将对勒索事件应急中的一些经验与大家分享。

GandCrab作者曾向被加密的叙利亚受害者道歉公布了5.0.3以前版本的密钥,随后更新了5.0.4版本并将叙利亚排除在加密区域之外,但是在10月最新的5.0.5版本又将这个设定删除。

样本勒索执行流程

勒索样本分析

虽然GandCrab勒索病毒更新比较频繁,但代码框架变动不大,这里对勒索的流程和细节进行梳理,以10月最新的5.0.5版本分析为主:

MD5:C805528F6844D7CAF5793C025B56F67D

入口为call loc_4061B3,作者在GandCrabV4版本之后,对函数入口做了处理,增大静态分析难度

遍历进程,结束占用特定文件的进程,为能正常加密文件做准备

结束的进程如下:

检测特定的互斥量

这里的互斥量对应了样本中嵌入的DLL,决定是否开启利用两个提权漏洞进行提权DLL通过xor 0x18解密后,内存执行并通过管道与主进程通信

通过VerifyVersionInfoW判断操作系统MajorVersion是否为6以上

判断当前进程权限及安全身份RID,判断是否大于1000,这是确认当前进程是否为system组启动

判断是否为俄语系键盘语言及输入法

5.0.4版本中作者将叙利亚列入未加密区域,在5.0.5中又将其删除

5.0.5如下图所示,5.0.4版本如上图所示

将系统盘磁盘卷区的序号与特定字符串拼接加密后计算hash值,以此创建Mutex变量

创建出互斥量,避免重复运行

随后使用内置的密钥解密出RSA公钥

RSA公钥如下

查找是否存在相关杀软进程

从处理器取相关信息拼接成字符串计算CRC32值

随后获取机器相关信息

并将勒索版本信息等其它字符串拼接,最新版本已经到了5.0.5

然后通过RC4对该部分数据加密,RC4密钥为”jopochlen”

加密后的数据如下

随后产生要加密文件的后缀

提取出要加密文件的后缀

使用CryptGenKey及CryptExportKey生出并导出公私密钥对,并查找注册表HKCUSOFTWAREkeys_datadata及HKLMSOFTWAREkeys_datadata两项,作者检查HKCU及HKLM是确保样本在非管理员权限以上启动也可正常写入注册表

若都不存在则创建HKLM(HKCU)SOFTWAREex_datadata项,并在ext子项中存储了前面随机生成的字符串,也是被加密文件的后缀

若这些注册表项已经存在则会使用HKLM(HKCU)SOFTWAREkeys_datadata项中原有的密钥继续加密。

生成RSA公钥加密后的密钥

创建HKLMSOFTWAREkeys_datadata的public和private子项并将密钥数据写入

随后将加密提示写入到txt文件中,

并将加密后的密钥Base64保存

随后创建线程准备开始全盘加密

加密会分别枚举网络资源和本地文件,枚举网络资源如下

以下目录不进行加密

以下文件不加密

存在随机生成的字符串后缀则在目录下生成XXXX-DECRYPT.txt勒索信息文件,否则生成KRAB-DECRYPT.txt文件

使用随机生成的字符串为后缀,若不存在则使用KRAB后缀

递归遍历所有磁盘目录,加密流程如下

加密函数如下,其加密方式与老版本相同

最后在末尾写入0x21C大小的加密数据

并将获取的机器信息Base64编码后发送到某些域名

域名如下

通过执行cmd.exe /c vssadmin delete shadows /all /quiet删除巻影镜像

加密勒索结束调用后自删除

在GandCrab V5之后的版本,作者会在%TEMP%下创建壁纸,并展示勒索信息

在GandCrab 5版本后,作者增加了多个提权漏洞的利用,其中影响Win7、WinServer 2008及WinServer 2008 R2提权漏洞CVE-2018-8120

影响Win7以上Windows操作系统的提权漏洞CVE-2018-8440

Win10提权漏洞CVE-2018-0896

至此勒索样本分析完成

事件溯源分析

在2018年10月17日,360观星实验室团队在处理用户应急时,发现内网遭遇勒索,文件后缀被加密为PWFKPFCP,在磁盘目录下发现PWFKPFCP-DECRYPT.txt文件

根据特征判断用户感染了GandCrab勒索软件。

对于被感染的用户,使用观星实验室应急响应分析平台,对用户相关系统提取关键日志等信息,通过关联分析,大致得出黑客攻击的路径,具体如下:

无论是前段时间爆发的GlobeImposter勒索、Crysis勒索还是近期的GandCrab勒索,以弱口令爆破的攻击手法的黑客团伙已经拥有非常成熟的流程和工具。

在对收集上来的日志进行关联分析时,对KProcessHacker服务的加载时间来统计其时间轴:

从数据看出在2018年10月16日22点57分,KProcessHacker服务已被加载,其登录分析行为图如下

在暴力检测中发现在2018年10月14日,用户机器已经遭受大量爆破

在登录事件中发现有两条可疑RDP登录记录

一条是X.X.X.60这台机器,在2018年10月18日凌晨2点29分通过Administrator RDP登录,这台60机器显然也是受害机器,但时间已经晚于KProcessHacker加载时间

另一条是X.X.X.171这台机器,在2018年10月16日22点56分通过Administrator RDP登录,这台机器的登录时间与KProcessHacker服务的加载时间相近且在其之前

在171这台机器上也发现了大量的爆破记录

在2018年10月17日凌晨4点05分Administrator被重置密码

并且在2018年10月17日凌晨4点13分恶意的ip 119.129.75.111登录

并且在2018年10月17日 17点27分将Administrator添加为Oracle超级管理员

再继续向下挖时发现164这台机器被更多的ip登录

针对乌克兰193.238.46.96等ip分析,发现存在明显的扫描和爆破行为

对所有登录事件关联分析图如下

通过以上分析,确认出此次攻击发起点

处置建议

1. 对于已经感染的服务器立即下线隔离

2. 对于尚未感染的服务器

a) 在网络边界防火墙上全局关闭3389端口或3389端口只对特定IP开放

b) 开启Windows防火墙,尽量关闭3389、445、139、135等不用的高危端口

c) 每台服务器设置唯一口令,且复杂度要求采用大小写字母、数字、特殊符号混合的组合结构,口令位数足够长(15位、两种组合以上)

d) 及时修复系统漏洞

安全建议

1. 系统、应用相关的用户杜绝使用弱口令,应使用高复杂强度的密码,尽量包含大小写字母、数字、特殊符号等的混合密码,加强管理员安全意识,禁止密码重用的情况出现。

2.     禁止服务器主动发起外部连接请求,对于需要向外部服务器推送共享数据的,应使用白名单的方式,在出口防火墙加入相关策略,对主动连接IP范围进行限制。

3. 有效加强访问控制ACL策略,细化策略粒度,按区域按业务严格限制各个网络区域以及服务器之间的访问,采用白名单机制只允许开放特定的业务必要端口,其他端口一律禁止访问,仅管理员IP可对管理端口进行访问,如FTP、数据库服务、远程桌面等管理端口。

4. 配置并开启相关关键系统、应用日志,对系统日志进行定期异地归档、备份,避免在攻击行为发生时,导致无法对攻击途径、行为进行溯源等,加强安全溯源能力。

5. 建议在服务器上部署安全加固软件,通过限制异常登录行为、开启防爆破功能、禁用或限用危险端口、防范漏洞利用等方式,提高系统安全基线,防范黑客入侵。

6. 建议在服务器上安装相应的防病毒软件或部署防病毒网关,及时对病毒库进行更新,并且定期进行全面扫描,加强服务器上的病毒清除能力。

参考链接及IOC

IOC

c805528f6844d7caf5793c025b56f67d

f8853def4c82a9075ff0434c13ceca23

c805528f6844d7caf5793c025b56f67d

GandCrab勒索病毒最新疫情”- 360安全卫士

(https://www.anquanke.com/post/id/161080)

“Rapidly Evolving Ransomware GandCrab Version 5 Partners With Crypter Service for Obfuscation”- Mcafee

(https://securingtomorrow.mcafee.com/mcafee-labs/rapidly-evolving-ransomware-gandcrab-version-5-partners-with-crypter-service-for-obfuscation/)

声明:本文来自360观星实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。