1.概述
近年来,勒索软件组织的作业链条逐渐从“加密数据->收取赎金”转变到“数据窃取->加密数据->暗网披露窃取数据大小和内容描述->收取赎金”[1]。勒索软件组织在获取到受害者的访问权限后,不会立刻进行勒索,而是进行横向移动、数据窃取等操作,从受害环境中窃取大量敏感、机密信息,用于二次勒索。当受害者不愿意支付赎金时,攻击者会在网络上进行数据泄露来威胁受害者支付赎金。这种攻击模式被称为“双重勒索”。为了达到数据窃取这一目的,多数勒索软件组织采用商业工具或开源工具,少数勒索软件组织选择自研工具。通过对这些商业工具和开源工具进行检测,我们可以提前在窃密阶段拦截勒索软件组织的攻击,而对自研工具进行检测,还可以识别具体的勒索软件组织。
Play勒索软件组织是现今非常活跃的勒索软件组织之一,该组织采用双重勒索模式进行攻击,在窃取受害者敏感数据后才对受害者系统进行加密。Play勒索软件组织从2022年6月至今,对包括美国、加拿大、英国、德国、葡萄牙、丹麦、瑞典、以色列、韩国、中国台湾、新西兰在内多个国家和地区的约300多个企业及关键基础设施进行了攻击。2023年11月,安全公司Adlumin称Play勒索软件疑似出售勒索服务,开始向勒索软件即服务(RaaS)模式转型。
Play勒索软件组织在窃密过程中,使用了自研武器Grixba、免费工具NetScan进行信息收集,使用商业工具SystemBC实现SOCKS5反向代理功能进行内网攻击,使用商业工具CobaltStrike实现命令与控制功能。观成科技瞰云加密威胁智能检测系统能够对Play勒索软件组织使用的自研工具Grixba、商业工具SystemBC和CobaltStrike进行有效检测。
2.技战术总结
Play勒索软件组织常见攻击过程如下图所示。
图 2‑1 勒索软件组织攻击示意图
攻击者通过漏洞利用获取到受害单位对外服务器的访问权限,通过该服务器进行信息收集,得到域控服务器地址,完成权限提升。随后在内网中进行横向移动,拿到内网其他主机的访问权限,部署远控木马和窃密木马,收集内网主机上的机密数据发送给C&C服务器,最后加密内网中主机与服务器的文件。
表 1: Play勒索软件组织技战术总结
攻击意图 | 攻击方式 | 通信方式 | 攻击工具 | 影响范围 |
窃密、勒索、赎金 | 漏洞利用、有效账户、钓鱼邮件 | 加密通信 | 自研、开源、商业 | Windows平台 |
通过公开窃密数据和加密数据这两种方式向受害者勒索赎金。 | 通过VPN漏洞、Microsoft Exchange漏洞和ProxyNotShell漏洞获取访问权限。 | 1.通过TCP加密隧道与服务器进行通信; 2.通过SSH加密协议向服务器传输窃密数据。 | 1.Play勒索软件通过自研工具Grixba进行信息收集; 2.使用商业木马SystemBC和CobaltStrike; 3.使用大量开源工具如WinSCP、Plink进行窃密活动; | 目前只针对Windows平台进行勒索 |
Play勒索软件组织在不同攻击阶段使用的工具如下图所示。
图 2‑2 攻击过程中使用的工具
Play勒索软件组织常利用漏洞(如CVE-2018-13379、CVE-2020-12812、CVE-2022-41040、CVE-2022-41082等)、钓鱼邮件和有效账户获取初始访问权限,然后通过AdFind 工具获取活动目录,使用NetScan、Grixba进行网络扫描,收集信息,配合使用 GMER、IOBit和PowerTool等工具禁用杀毒软件并且删除日志记录。Play勒索软件组织使用CobaltStrike进行命令与控制操作,通过SystemBC、Empire、PsExec和RDP进行内网横向移动,并使用WinRAR压缩内网中敏感数据,利用WinSCP和Plink将数据窃取到远程服务器,最终通过AES和RSA算法加密文件,并将文件后缀修改为“.play”,完成窃密+勒索的攻击过程。[2]
3.工具分析
-
- 信息收集:Grixba
表2:Grixba样本信息
SHA256 | 453257c3494addafb39cb6815862403e827947a1e7737eb8168cd10522465deb |
Grixba是Play勒索软件组织自主研发的一种网络扫描工具,用于枚举域中所有用户和计算机。Grixba通过WMI、WinRM、远程注册表和远程服务来枚举软件和服务器。Grixba会检查安全软件、备份软件、远程管理工具等是否存在并将收集到的信息保存到CSV文件中,压缩为ZIP文件。
图 3‑1 Grixba支持的操作
图 3‑2 Grixba的扫描过程
Grixba的操作共分为两个阶段,扫描阶段和信息收集阶段。扫描阶段通过ping操作判断主机是否存活,用GetHostEntry函数来获取主机名。信息收集阶段通过远程注册表、远程服务和WMI等进行操作。
图 3‑3 ICMP数据0x20
图 3‑4 获取主机名
图 3‑5 访问远程注册表
图 3‑6 通过WMI收集信息
Grixba进行网络扫描时产生的流量具有较为明显的特征,正常Windows ping操作中ICMP的载荷为“abcdefghijklmnopqrstuvwabcdefghi”,长度为32字节,而Grixba的ping操作中数据长度为2字节,值为16进制的“20 20”,该值硬编码在样本中。
图 3‑7 ICMP包中的数据
Grixba的扫描操作会依次生成如下协议的流量。
协议 | 操作 |
ICMP | ping |
NBNS | 查询主机名 |
SMB | 查询远程注册表 |
DCERPC | WMI操作 |
图 3‑8 ICMP和NBNS
图 3‑9 SMB和DCERPC
-
- 代理:SystemBC
SystemBC是一种使用C语言编写的恶意软件,完整版SystemBC具有三种功能,一是将受害主机转变为SOCKS5代理,二是下载VBS、BAT、EXE等文件并执行,三是加载shellcode并执行。Play勒索软件在攻击活动中使用的SystemBC删减了功能二和三,只保留了SOCKS5代理功能。
表3: SystemBC样本信息
SHA256 | 86e4e23f9686b129bfb2f452acb16a4c0fda73cf2bf5e93751dcf58860c6598c |
C2 | 137.220.49.66 |
通信加密算法 | RC4 |
字符串加密算法 | XOR |
通信加密密钥 | D4 AC DA CB 2D 35 AB 3B 0D C4 C4 48 FE B7 C8 42 C9 4D AE D5 35 9C 73 E7 F3 5E 79 8E 4D 06 B8 EF 43 8E D6 39 90 93 1A 61 9B 00 00 00 00 00 00 00 00 00 |
字符串加密密钥 | D4 AC DA CB 2D 35 AB 3B 0D C4 C4 48 FE B7 C8 42 C9 4D AE D5 35 9C 73 E7 F3 5E 79 8E 4D 06 B8 EF 43 8E D6 39 90 93 1A 61 9B |
- 代理实现过程
样本会收集计算机名和卷序列号,加密后发送给C&C服务器。C&C服务器会下发开启代理的指令,样本接收到指令后与C&C服务器建立加密的SOCKS5隧道。C&C服务器默认开启443端口与受害机进行加密SOCKS5通信,开启4001~49151端口与攻击者进行SOCKS5通信。攻击者会连接C&C服务器上的SOCKS5代理,并发起数据请求,该请求由C&C服务器通过加密的SOCKS5通道发送给受害机,受害机获取到数据响应后通过加密的SOCKS5通道返回给C&C服务器,服务器解密后再发送给攻击者。
图 3‑10 反向代理实现过程
- 通信数据解密
SystemBC使用RC4算法加密与C&C服务器通信的数据。密钥为“D4 AC DA CB 2D 35 AB 3B 0D C4 C4 48 FE B7 C8 42 C9 4D AE D5 35 9C 73 E7 F3 5E 79 8E 4D 06 B8 EF 43 8E D6 39 90 93 1A 61 9B 00 00 00 00 00 00 00 00 00”,共50字节。
- 上线包解密
上线包共100字节,包含系统版本、用户名和卷序列号。
图 3‑11 上线包
图 3‑12 上线包结构
图 3‑13 上线包解密
- 控制指令解密
C&C服务器下发给SystemBC的数据格式如下图所示,数据长度是数据部分的长度,地址类型包括“1”、“3”和“4”,1代表地址是域名,2代表地址是IP,3代表地址是IPv6。
图 3‑14 控制指令
图 3‑15 控制指令格式
图 3‑16 地址类型
头部数据和其余数据是分开加密的,解密时需要先解密4字节的头部数据,再解密剩余的数据部分。
图 3‑17 头部单独解密
图 3‑18 数据单独解密
- SOCKS5通信解密
SystemBC接收到指令后,加密SOCKS5协议的数据发送给C&C服务器,建立SOCKS5代理。
图 3‑19 加密的SOCKS5协议数据
图 3‑20 代理数据解密
- 字符串解密
SystemBC使用XOR算法对字符串进行解密,密钥为“D4 AC DA CB 2D 35 AB 3B 0D C4 C4 48 FE B7 C8 42 C9 4D AE D5 35 9C 73 E7 F3 5E 79 8E 4D 06 B8 EF 43 8E D6 39 90 93 1A 61 9B”。在对字符串进行解密时,密钥起始数据偏移通过“(要解密的数据地址-0x404000)%0x28”得到。
图 3‑21 字符串XOR解密
4.产品检测
观成科技瞰云加密威胁智能检测系统可成功对Play勒索软件组织使用的自研工具Grixba、商业工具SystemBC和CobaltStrike进行检测。
图 4‑1 Play勒索软件自研工具Grixba告警截图
图 4‑2 商业木马SystemBC告警截图
图 4‑3 商业木马CobaltStrike告警截图
5.总结
Play勒索软件组织在攻击过程中多以开源工具和商业工具为主,少量使用自研工具。自研工具如Grixba流量特征明显,商业工具如CobaltStrike、SystemBC具有时间和空间侧的可检测特征,在流量侧对这些工具进行检测,有助于在攻击初期提前发现攻击活动,防止机密数据被加密勒索,有效减少数据和财产损失。而开源SSH工具如WinSCP和Putty本身无恶意行为,利用它们进行数据窃取,会加大检测难度。观成科技安全研究团队会在SSH窃密流量检测方面持续发力,不断强化检测能力,覆盖勒索软件组织产生的更多加密流量。
6.参考链接
- 《从八个方面认识勒索攻击和危害》之二:勒索攻击的两种典型模式
https://www.antiy.cn/About/news/20211103.html
- An In-Depth Look at Play Ransomware
https://explore.avertium.com/resource/an-in-depth-look-at-play-ransomware