观成科技:蔓灵花组织加密通信研究分析总结

1.概述

蔓灵花,又名"Bitter",常对南亚周边及孟加拉湾海域的相关国家发起网络攻击,主要针对巴基斯坦和中国两国。其攻击目标主要包括政府部门、核工业、能源、国防、军工、船舶工业、航空工业以及海运等行业,其主要意图是窃取敏感资料。

迄今为止,蔓灵花组织使用的攻击武器呈现出开源化、组件化和重复使用的趋势,在通信上多使用HTTP和TCP协议,数据传输仍然采用简单的加密算法,如移位加密和XOR加密等。观成安全研究团队对其近两年使用频率最高的5款工具的各个版本进行了详细分析,包括xorRAT、sessionRAT、plaintextRAT、wmRAT和文件窃密组件,梳理样本通信的流量特征,进行了对检测方案的探索和总结。

2.流量特征分析

2.1 xorRAT

2.1.1 加密算法

xorRAT与wmRAT在通信上存在共性,均使用自定义TCP加密协议进行通信,通信端口采用随机大端口和80端口。样本使用逐字节XOR对数据进行加密,目前发现使用过的通信加密密钥有0xf6、0x9d、0xca,其中最常使用的加密密钥为0xca。

2.1.1 数据格式

数据格式为2字节的数据长度,后面拼接加密后(Unicode格式转化+XOR加密)的数据。见下图。

图 1 数据格式

2.1.3 上线包

xorRAT各版本样本的上线包数据均包含计算机名、用户名、操作系统版本、MAC地址和程序版本等信息。

图 2 上线包数据

对上线包数据进行解密,数据多包含DESKTOP、Admin、Windows等常见字符。见下图。

图 3 数据解密

2.1.4 心跳包

xorRAT各版本样本发送的心跳数据均为样本硬编码数据,为单字节的22或1。心跳包间隔时间区间为61-91秒。见下图。

图 4 心跳时间间隔、

图 5 心跳包流量

2.1.5 控制指令

各个版本的样本在控制指令上存在一些变化,但是差异不大,共包含10余种控制指令,包括敏感信息获取,文件传输,执行cmd指令等。服务器下发控制指令的数据格式均没有变化,下图以指令18为例。

模拟服务器下发指令18(获取磁盘信息),获取磁盘名称、卷标、类型等信息。

图 6 控制指令流量

图 7 数据解密

2.2 sessionRAT

2.2.1 加密算法

sessionRAT各版本样本均使用TCP协议传输数据,其通信流程具有一定的特殊性:sessionRAT是由服务器先下发控制指令,通信流程包括三步:①样本运行后,会主动向C2服务端发起TCP请求;TCP连接建立成功后,C2服务端会率先向客户端下发指令;客户端接收指令执行后会将执行结果发送到服务端。并且该攻击武器在通信中会对部分通信数据进行加密,加密方式较老版本的样本发生了变化,从多字节XOR更改为了移位算法,下面我们将用密钥0x67的样本作为例子进行说明。

2.2.2 数据格式

从2019到2024年,通信格式均未曾发生改变,其中通信的上下行数据格式有略微差异,见下图。

上行数据其中前5个字节为会话标识数据,样本会将5字节数据解密后在响应包中发送给服务端;6-7字节TCP载荷大小,表示整个C2下发指令包的长度;8-9字节为控制指令,样本会根据指令执行命令;10-11字节为后续传输数据的载荷大小;11字节为后续传输数据,样本会将该部分数据解密,并在执行控制指令时使用。

图 8 上行数据格式

下行数据其中前5个字节为会话标识数据,该数据根据C2下发指令包中的会话表示数据解密得到,并作为明文放在客户端响应包中;6-7字节为控制指令,该指令和C2下发指令包中的控制指令相同,在客户端响应包中传输时会经过加密;7字节后的数据为加密后的传输数据,该部分数据内容为控制指令执行后的返回结果。

图 9 下行数据格式

2.2.3 控制指令

sessionRAT各版本样本均支持多种远程控制功能,其中包括获取主机信息、获取文件目录、文件的读写功能、利用匿名管道实现shell等。

样本的C2服务器会先下发控制指令5026,客户端接收该指令会上传填充数据,见下图。

图 10 控制指令5026流量

收到客户端回传的数据后,样本的C2服务器会再次下发控制指令5000,客户端接收该指令会上传系统信息,见下图。

图 11 控制指令流量

图 12 数据解密

2.3 plaintextRAT

最早出现于2021年,于2023年12月开始活跃。与xorRAT功能一致,是明文版本的xorRAT。

2.3.1 上线包

各版本样本的上线包同样包含计算机名、用户名、操作系统版本、MAC地址和程序版本等信息。

图 13上线包流量

2.3.2 心跳包

心跳包由4字节的长度和1字节的样本硬编码数据构成。

图 14 心跳包流量

2.4 窃密木马

该攻击武器是一种窃密木马,该木马会窃取文件信息,获取文件路径。其url参数部分携带计算机名、MachineGuid、时间戳等内容。相关示例流量如下。

图 15 窃密木马流量

2.5 wmRAT

具体分析请查看历史文章《蔓灵花组织wmRAT攻击武器对比分析》,与之前相比,最新发现该武器的使用了新的加密密钥为0x16。需要注意的是,目前观察到加密密钥的使用呈逐渐增大的趋势。

3. 检测方案

总结蔓灵花组织使用的5种攻击武器的流量特征后,我们综合利用规则检测、行为检测和人工智能检测等手段,针对Bitter攻击武器的流量达到有效检出的效果。

3.1 规则检测

首先,我们采用基于规则的检测方法 ,在面对简单的明文通信和已知密钥加密的工具时,对其流量中的关键字符串,比如url、固定密钥加密的16进制字符进行匹配。在面对较为复杂的攻击武器通信加密的流量时,针对已知密钥的情况,可以利用已掌握的密钥规律进行解密尝试。通过成功解密的流量,我们可以进行第二轮的关键字符串匹配,例如识别上线包中常见的字符串及其连接符。通过规则匹配的手段检测出明文通信的工具;对加密工具的检测做初步的筛选工作,为后续的检测奠定了基础。

3.2 行为检测

对于未知密钥的加密流量,我们可以通过统计流量数据在时间、空间上的分布情况,对蔓灵花组织的每款工具制定行为模型,例如统计流量中的心跳时间间隔,载荷的数据格式,以及流量中上下行数据的关系,来判断是否符合蔓灵花组织某一攻击武器的流量通信行为特征。

4. 检测结果

观成瞰云(ENS)-加密威胁智能检测系统能够对以上所有攻击武器进行检出,用sessionRAT举例,检测结果见下图。

图 16 观成瞰云(ENS)-加密威胁智能检测系统检测结果

5. 总结

我们致力于捕捉蔓灵花组织使用过的攻击武器各版本之间的共性特征,综合规则检测、行为检测技术手段,以此为基础总结出一套高效的检测方案。面对APT组织通信流量的隐蔽、定制和多样性,我们将不断深入探索APT组织流量检测领域,并扩大研究范围至更多APT组织。我们计划持续深入研究APT组织的攻击行为模式,利用行为检测和规则检测提升系统的检测能力,及时发现并应对新型威胁。

6. 参考样本hash

2eca2f7a1fb4654dd73bf4a999ce155b2303e47340b26a49623f5b32948060c3

579f0eb06da53adf551da7b5dfd45ae73e1a74185a7f74e42952cc3c2c66d487

7bda85911c5d2d51655f20d0362d87d114465974852dd1add423dfd2cef3fc53

32005ebee5daadaa5ea96ae9891632b68184c29e92908080dcfcef7f3c0c4f83

cce9aa67c53f7152e2963b5ae4b13136b56187c6db0d49f0cf6b27fea78c17cf

813c67414723ea162e789b1fc4b269839351863050f27a2f906426dac3a86f39

552ec2ce24113e3f46b4e0cf6bc91eea483ad2eaf351eb92ee77f882b96d4006

dfea2ff5d91e4097d9cfd4676d3e9544a1e230c69ad02b6b4d778dd93d83ec66

14e43110cc3c40bf56d95df0079cc744055b1568dbceac05b50a2c0159bef872

fc9f84bad598c057b595efbca7ae0ae9a1678de7f2185275953424b3ec47a00e

132098213b5923463611e6fc77bfce0cfad3d727566ce0e87e9723456c698ae6

b7a9407b47baf7442e0baf94a3b4cc8b7420cb01364fc8e6a3c622b7ae39301f

caf871247b7256945598816e9c5461d64b6bdb68a15ff9f8742ca31dc00865f8

5ab76cf85ade810b7ae449e3dff8a19a018174ced45d37062c86568d9b7633f9

2b25469b0e23fc024f5ca147948292cd4175a18625cb8a5b67ab04300082866f

66a73b1b3b51a1c6a56db2d20cff9af3d1362b989989b5d9543d2e9b92ac9a3d

c24efc7c4dafd4f0b39e7ae7e84627fbd0fb766019b820cb11edbb8dda54de66

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】Python 使用 matplotlib 画图

文章目录 安装中文显示折线图、点线图柱状图、堆积柱状图坐标轴断点参考资料 本文将介绍如何使用 Python 的 matplotlib 库画图,记录一些常用的画图 demo 代码 安装 # 建议先切换到虚拟环境中 pip install matplotlib中文显示 新版的 matplotlib 已经支持字体回退…

Django框架之python后端框架介绍

一、网络框架及MVC、MTV模型 1、网络框架 网络框架(Web framework)是一种软件框架,用于帮助开发人员构建Web应用程序和Web服务。它提供了一系列预先编写好的代码和工具,以简化开发过程并提高开发效率。网络框架通常包括以下功能…

go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件

前言 在上一篇文章中,我们实现了通过etcd来同时指定多个不同的有关分区与日志文件的路径,但是锁着一次读取配置的增多,不可避免的出现了一个问题:我们如何来监控多个日志文件,这样原来的tailFile模块相对于当下场景就…

【JavaScript】内置对象 ④ ( Math 内置对象常用方法 | 取绝对值 | 向下取整 | 向上取整 | 四舍五入取整 | 取随机数 )

文章目录 一、Math 内置对象常用方法1、计算绝对值 - Math.abs2、取整计算 - Math.floor 向下取整 / Math.ceil 向上取整 / Math.round 四舍五入3、随机数 - Math.random4、代码示例 - 猜随机数 一、Math 内置对象常用方法 1、计算绝对值 - Math.abs 向 Math.abs() 方法中 传入…

简单的jmeter脚本自动化

1、创建线程组,定义自定义变量,保存请求默认值 2、用csv编写测试用例 备注:如果单元格内本身就有引号,则格式会有点小问题,不能直接修改为csv 用txt打开后 有引号的需要在最外层多包一层引号,每个引号前…

LM1875L-TB5-T 音频功率放大器 PDF中文资料_参数_引脚图

LM1875L-TB5-T 规格信息: 商品类型音频功率放大器 音频功率放大器的类型- 输出类型1-Channel (Mono) 作业电压16V ~ 60V 输出功率25W x 1 4Ω 额外特性过流保护,热保护 UTC LM1875是一款单片功率放大器,可为消费类音频应 用提供极低失真和高品质的…

外星人电脑丢失文件怎么找回?六大方法助你重获希望

对于许多依赖电脑进行日常工作和娱乐活动的用户来说,电脑中存储的文件无疑是宝贵的财富。然而,意外总是难以避免,外星人电脑也不例外。文件丢失、误删、硬盘故障等问题都可能给用户带来不小的困扰。那么,当外星人电脑遭遇文件丢失…

南京邮电大学计算机组成与结构四次实验报告

文章目录 资源链接预览实验一:算术逻辑运算实验实验二:存储器和总线实验实验三:通用寄存器实验实验四:综合实验的调试 资源链接 资源链接 预览 实验一:算术逻辑运算实验 实验二:存储器和总线实验 实验三&…

07 流量回放实现自动化回归测试

在本模块的前四讲里,我向你介绍了可以直接落地的、能够支撑百万并发的读服务的系统架构,包含懒加载缓存、全量缓存,以及数据同步等方案的技术细节。 基于上述方案及细节,你可以直接对你所负责的读服务进行架构升级,将…

pytorch-激活函数与GPU加速

目录 1. sigmod和tanh2. relu3. Leaky Relu4. selu5. softplus6. GPU加速7. 使用GPU加速手写数据训练 1. sigmod和tanh sigmod梯度区间是0~1,当梯度趋近0或者1时会出现梯度弥散的问题。 tanh区间时-1~1,是sigmod经过平移和缩放而…

第 3 篇 : Netty离线消息处理(可跳过)

说明 仅是个人的不成熟想法, 未深入研究验证 1. 修改 NettyServerHandler类 package com.hahashou.netty.server.config;import com.alibaba.fastjson.JSON; import io.netty.channel.Channel; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHan…

云计算时代:SFP、SFP+、SFP28、QSFP+和QSFP28光纤模块详解

随着数据中心的快速发展和云计算的广泛应用,高速、高效率的光纤网络传输成为关键需求。在众多光纤模块中,SFP、SFP、SFP28、QSFP和QSFP28是最常见的几种类型。本文将为您详细解析这几种光纤模块之间的区别,帮助您更好地了解和选择适合自己需求…

【产品经理修炼之道】- B端产品用户层级与需求优先级

B端的需求和C端有比较大的差异:C端的用户画像,在B端更多是以角色、权力和义务的划分。在这种情况下,我们的需求处理方式也会有所不同。 交互设计其实就是用户的行为设计,既然是围绕用户的行为,那么我们首先得清楚我们的…

flutter 微信输入框 (第二版)

微信的聊天输入框之前实现了一个版本(flutter 微信聊天输入框_flutter 聊天输入框-CSDN博客), 但是之前实现的不太优雅。这两天重写了一遍。效果如下: 1.页面拆分 这里我们把 聊天的页面进行 拆分:Scaffold &#xff0…

免费预约即将截止,5月7日上海TCT亚洲3D打印展参观指南,收藏!

进入TCT亚洲展官网(网页搜索TCT亚洲展),免费登记预约 2024年TCT亚洲展作为推动增材制造在亚洲市场的业务交流的重要平台,将于2024年5月7日至9日在国家会展中心(上海)7.1&8.1馆举办,与海内外…

二 SSM整合实操

SSM整合实操 一 依赖管理 数据库准备 mysql8.0.33 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUE…

短视频素材有哪些?短视频素材哪一类最吸引人?

随着视频内容在全球各种媒体和平台上的普及,寻找能够让你的项目脱颖而出的视频素材变得尤为重要。以下视频素材网站各具特色,提供从自然风景到都市快照,从简单背景到复杂动画的多样选择。 1. 蛙学府(中国) 提供4K高解…

全志ARM-蜂鸣器

操作准备: 1.使Tab键的缩进和批量对齐为4格 在/etc/vim/vimrc 中添加一项配置 set tabstop 4; 也可以再加一行 set nu显示代码的行数 vim的设置,修改/etc/vim/vimrc文件,需要用超级用户权限 /etc/vim/vimrc set shiftwidth4 设置批量对…

VsCode一直连接不上 timed out

前言 前段时间用VsCode连接远程服务器,正常操作后总是连接不上,折磨了半个多小时,后面才知道原来是服务器设置的问题,故记录一下,防止后面的小伙伴也踩坑。 我使用的是阿里云服务器,如果是使用其他平台服务…

web(微博发布案例)

示例&#xff1a; 1、检测空白内容 2、发布内容 html: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta …
最新文章