观成科技:Play勒索软件组织加密流量分析

news2024/11/19 3:19:10
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.工具分析
    1. 信息收集: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

    1. 代理: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

  1. 代理实现过程

样本会收集计算机名和卷序列号,加密后发送给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 反向代理实现过程

  1. 通信数据解密

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字节。

  1. 上线包解密

上线包共100字节,包含系统版本、用户名和卷序列号。

图 3‑11 上线包

图 3‑12 上线包结构

图 3‑13 上线包解密

  1. 控制指令解密

C&C服务器下发给SystemBC的数据格式如下图所示,数据长度是数据部分的长度,地址类型包括“1”、“3”和“4”,1代表地址是域名,2代表地址是IP,3代表地址是IPv6。

图 3‑14 控制指令

图 3‑15 控制指令格式

图 3‑16 地址类型

头部数据和其余数据是分开加密的,解密时需要先解密4字节的头部数据,再解密剩余的数据部分。

图 3‑17 头部单独解密

图 3‑18 数据单独解密

  1. SOCKS5通信解密

SystemBC接收到指令后,加密SOCKS5协议的数据发送给C&C服务器,建立SOCKS5代理。

图 3‑19 加密的SOCKS5协议数据

图 3‑20 代理数据解密

  1. 字符串解密

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.参考链接
  1. 《从八个方面认识勒索攻击和危害》之二:勒索攻击的两种典型模式

https://www.antiy.cn/About/news/20211103.html

  1. An In-Depth Look at Play Ransomware

https://explore.avertium.com/resource/an-in-depth-look-at-play-ransomware

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s部署calico遇到的问题

kubernetes安装calico calico官网 环境:centos7.9,calico 3.23,kuberadm 1.26 问题1:执行kubectl create -f calico.yml后报错如下 error: resource mapping not found for name: “tigera-operator” namespace: “” from “…

【旧文更新】武汉光迅科技22校招笔试Python题改进(增加GUI) 基于Python的125温度传感器模块数据处理

【旧文更新】武汉光迅科技22校招笔试Python题改进(增加GUI) 基于Python的125温度传感器模块数据处理 文章目录 关于旧文新发题目分析附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 附录:关于旧文新发 关于…

HCIA--DHCP: 动态主机配置协议 (复习)

DHCP: 动态主机配置协议 -- 同一分发管理ip地址 基于UDP 67/68端口工作 网络中存在DHCP的服务器为需要自动生成ip地址的设备分配ip地址;--C/S模型 成为DHCP服务器的条件: 该设备存在接口或网卡连接到所要分发ip地址的广播域内该接口或网卡必须已经配置…

在Windows安装Flutter

一、安装 Android Studio 官网: 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 教程:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客 Flutter 官网:Windows | Flutter 中文文档 - Flutter 中文开发…

乡村振兴的乡村产业创新发展:培育乡村新兴产业,打造乡村产业新名片,促进乡村经济多元化发展

目录 一、引言 二、乡村产业创新发展的必要性 (一)适应新时代发展要求 (二)满足消费升级需求 (三)促进农民增收致富 三、培育乡村新兴产业策略 (一)加强科技创新引领 &#…

阿里云物联网平台python ADK 发布/订阅

基础知识学习参考: 1、使用消息通讯Topic 2、python link SDK 一、环境变量配置 1、python3.6:下载安装 2、安装paho-mqtt 1.4.0版本 pip install paho-mqtt1.4.03、安装安装Link SDK最新版本 pip install aliyun-iot-linkkit 4、下载python ADK…

ES报错1

ES在kibana的JSON如图: 提交后错误信息如下 所以是什么错误呢: 原来是:json的格式有误改成 这里的错误其实是我在文件传输时,为了节约空间,没有以json格式传递,而是一串字符就传过来了,需要使用josn的格式化工具格式化才行,结果格式化的不正确,才遇到此坑

Echarts正负条形图将x轴都设置成正数

1、先修改x轴上面显示为负数的刻度标签&#xff0c;找到xAxis[i].axisLabel&#xff0c;重写他的formatter xAxis: [{type: value,axisLabel: {formatter: (value) > {// 负数取反 显示的就是正数了if (value < 0) return -valueelse return value}}} ] 2、在修改柱状图…

vue中计算属性computed和watch的区别是什么?

watch : 监测的是属性值&#xff0c;只要属性值发生变化&#xff0c;其都会触发执行回调函数来执行一系列操作&#xff1b; computed : 监测的是依赖值&#xff0c;依赖值不变的情况下其会直接读取缓存进行复用&#xff0c;变化的情况下才会重新计算&#xff1b; 它们之间最…

zynq/zynqMP启动模式总结:FLASH+emmc启动/petalinux烧写速度最快的启动方式

因客户要求zynq开发板只有FLASH和emmc&#xff0c;然而还得在petalinux进行开发系统&#xff0c;因FLASH大小有限&#xff0c;所以没办法把内核和根文件地址全部存储到FLASH中&#xff0c;于是想配合emmc进行启动&#xff0c;但是在网上搜索的大多都是只把根文件系统放到了emmc…

制造企业如何通过PLM系统实现BOM管理的飞跃

摘要 在当今快速变化的制造行业中&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;系统的应用已成为企业提升效率、降低成本和增强竞争力的关键。本文将探讨PLM系统如何通过其先进的BOM&#xff08;物料清单&#xff09;管理功能&#xff0c;帮助制造企业在整个产品生…

100T微机控制电液伺服卧式拉力试验机

一、产品概述 微机控制卧式拉力试验机适用于额定试验力下的拉伸试验及恒负荷拉伸&#xff0c;可用于钢丝绳、锚链、钩环、电瓷瓶、电缆、光缆、钢铰线、棒材、绳类等制品或材料的拉伸强度测试。 二、性能特点 本机采用计算机控制&#xff0c;具有力、位移自动跟踪测量加荷速…

视频监控业务平台LntonCVS国标GB28181视频平台智慧城市应用方案

随着科技的不断进步&#xff0c;尤其是人工智能技术的飞速发展&#xff0c;视频应用已经超越了传统的视频监控、视频会议、视频通话和视频指挥调度等基本功能。它们正在向更加多元化、灵活化、融合化和智能化的方向发展。因此&#xff0c;建立一个视频AI中台变得至关重要。 通过…

RTPS协议之Messages Module

目录 Messages ModuleType定义RTPS消息结构RTPS消息头子消息结构 RTPS消息接收者SubmessageElementsRTPS HeaderRTPS Submessages Messages Module RTPS Writer和RTPS Reader之间的交换数据的消息。 Type定义 TypePurposeProtocolId_tSubmessageFlagsub msg flagSubmessageK…

【YashanDB知识库】OCI驱动类问题定位方法

【标题】OCI驱动类问题定位方法 【需求分类】故障分析 【关键字】OCI 【需求描述】由于我们的OCI接口目前尚不完善&#xff0c;经常会遇见OCI接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管理员…

揭秘智慧校园:可视化技术引领教育新篇章

随着科技的飞速发展&#xff0c;我们的生活方式正在经历一场前所未有的变革。而在这场变革中&#xff0c;学校作为培养未来人才的重要基地&#xff0c;也在不断地探索与创新。 一、什么是校园可视化&#xff1f; 校园可视化&#xff0c;就是通过先进的信息技术&#xff0c;将学…

Nocobase快速上手 - 常见block的使用

在上一篇文章 Nocobase快速上手 -第一个collection 中&#xff0c;我们新建了一个collection ,并且通过在页面中配置block实现了数据的展示&#xff0c;本文继续探索block的使用。 Block类型 Block(区块)的整体架构如下图: 我们可以看到&#xff0c;block分为三个大类&#…

【C++】二维前缀和

1.题目 2.算法思路 和一维前缀和的方法类似&#xff0c;我们需要预处理一个求和矩阵&#xff0c;然后再求和。 下面是模板&#xff1a; 上面两张图片总结出来了两个公式&#xff0c;这是解决此类问题的关键。 3.代码 #include <iostream> using namespace std; #incl…

Java Apache Jexl规则引擎初体验

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、模板引擎的选择&#xff1f;二、什么是JEXL规则引擎&#xff1f;优点缺点 三、其他规则引擎四、示例1.引入依赖2.方法示例3、代码解释4、效果![import java…

ssm校园疫情防控管理系统-计算机毕业设计源码30796

目 录 摘要 1 绪论 1.1目的及意义 1.2开发现状 1.3ssm框架介绍 1.3论文结构与章节安排 2 校园疫情防控管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分…