观成科技:海莲花“PerfSpyRAT”木马加密通信分析

1.概述

在2024年9月中旬至10月,东南亚APT组织“海莲花”通过GitHub发布开源安全工具项目,针对网络安全人员发起了定向攻击。通过对相关攻击活动进行分析,可以将其与一些海莲花的样本关联起来。这些样本的通信数据结构与海莲花此前使用的攻击工具有所不同。本文将详细剖析其中一个样本(命名为“PerfSpyRAT”)的通信过程。该样本通过TLS协议与C&C服务器进行通信,通信数据采用LZMA与AES加密。AES密钥随流量传输,且加密数据中插入不定长度的随机数据,以规避长度检测。这种规避检测的策略曾在海莲花近期使用的攻击工具中出现过,例如“KSRAT”木马。

2.样本信息

表 1 样本信息

文件名

perftd.exe

文件Hash

2b8353fe5862c88fdefb79f016d611d7

时间戳

2024-11-04

C&C服务器

https[:]//45[.]41[.]204[.]15/extensions/a586bc8a-728c-4d06-8180-befb9e20c408

样本类型

远控

3.加密通信分析

“PerfSpyRAT”木马使用TLS与服务器进行通信,TLS解密后通信流程如下:

  • 木马发起GET请求,用于获取后续通信“Cookie”值,该请求本身不包含“Cookie”字段;
  • 服务器接收到首次GET请求后,响应头字段“set-cookie”为后续通信“Cookie”值,响应头状态无意义,可以为“404 Not Found”;
  • 木马再次发起GET请求,请求头包含“Cookie”值,用于获取控制指令;
  • 服务器首次建立连接默认下发获取系统信息的控制指令,通信内容使用LZMA压缩+AES加密;
  • 木马通过POST请求上传系统信息,通信内容使用LZMA压缩+AES加密;
  • 服务器响应“200 OK”;
  • 每2~3秒重复步骤③,等待服务器下发新的控制指令。

通信流程如下图:

图 1 TLS解密后HTTP通信流程示例

TLS通信流量解密后为HTTP协议,通信载荷仍然是加密内容,加密使用了LZMA压缩+AES_CBC_256加密,AES加密密钥每次随着流量传输,IV为16个0,HTTP载荷包含“加密数据+AES密钥+随机数据+AES密钥偏移数据”,AES密钥偏移与最后一字节值相关,具体计算公式为:偏移=载荷总长度-0x28-1-载荷最后一字节的值。

图 2 HTTP载荷数据结构以及加密过程

以图3流量为例,偏移=载荷总长度(0x13C)-0x28-1-载荷最后一字节的值(0x63)=0xB0,即图3中黄色数据部分为AES密钥,黄色之前的蓝色部分为加密数据,AES密钥后的数据为随机数据。

图 3 HTTP示例流量结构解析

系统信息解密过程如下图所示。

图 4 系统信息流量解密示例截图

4.产品检测

观成瞰云(ENS)-加密威胁智能检测系统能够对海莲花“PerfSpyRAT”进行有效检出。

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

5.总结

“PerfSpyRAT”是一种使用TLS协议进行通信的木马。木马的载荷数据采用LZMA压缩和AES加密,且加密采用动态AES密钥,密钥随流量传输。此外,数据中插入了不定长的随机数据,进一步规避了网络流量的长度检测。该木马的通信过程与“海莲花”组织以前使用的武器有所不同。尽管通信协议结构有些许变化,但依然延续了该组织惯用的加密手段和流量伪装技术,可以看出海莲花APT组织在隐匿自身行为方面的高度策略性。观成科技安全研究团队将持续关注并更新其检测策略,以有效应对这一网络威胁。

  1. 参考链接
  • 警惕境外APT组织在GitHub投毒,攻击国内安全从业者、指定大企业

https://mp.weixin.qq.com/s/ih36z93y6BazatjeoGjp1A

  • 【涨知识】海莲花活跃木马KSRAT加密通信分析

https://mp.weixin.qq.com/s/UK-2R4ALy0p1pswiF06RmA

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

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

相关文章

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一) 第一部分:网络平台搭建与设备安全防护任务书DCRS:DCFW:DCWS:WAF: 第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1&…

2月25(信息差)

🌍四川省人民医院接入DeepSeek 将AI技术应用于看病全流程 🎄机器人新风口!OpenAI押注公司 采用这种新材料 更轻盈耐磨!尼龙概念股名单 ✨小米15 Ultra、小米SU7 Ultra定档2月27日 雷军宣布:向超高端进发 1.深夜王炸&…

全面汇总windows进程通信(三)

在Windows操作系统下,实现进程间通信(IPC, Inter-Process Communication)有几种常见的方法,包括使用管道(Pipe)、共享内存(Shared Memory)、消息队列(Message Queue)、命名管道(Named Pipe)、套接字(Socket)等。本文介绍如下几种: RPC(远程过程调用,Remote Pr…

【栈与队列】二叉树最大宽度

文章目录 662. 二叉树最大宽度解题思路:队列 广度搜索 662. 二叉树最大宽度 662. 二叉树最大宽度 ​ 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 ​ 树的 最大宽度 是所有层中最大的 宽度 。 ​ 每一层的 宽度 被定义为该层最左和最右的非…

大语言模型安全测试:WDTA 标准下的全面解读与实践展望

1.前言 在人工智能(AI)飞速发展的时代,大语言模型(LLM)凭借其强大的语言理解和生成能力,广泛应用于智能客服、智能写作、智能翻译等众多领域,深刻改变着人们的生活和工作方式。然而&#xff0c…

在WINDOWS系统使用CMake gui编译NLopt配合VSCode使用

1. 准备工作 安装CMake:从CMake官网下载并安装CMake。下载Nlopt源码:从Nlopt官网或GitHub仓库下载Nlopt源码。安装编译器:确保已安装Visual Studio或其他支持的编译器(如MinGW)。 2. 配置CMake 方式1 打开CMake GU…

【DeepSeek开源:会带来多大的影响】

DeepSeek 开源,震撼登场对云计算行业的冲击 巨头云厂商的新机遇 DeepSeek 开源后,为云计算行业带来了巨大的变革,尤其是为巨头云厂商创造了新的发展机遇。以阿里云为例,它作为云计算行业的领军者,与 DeepSeek 的合作…

C++ QT 6.6.1 QCustomPlot的导入及使用注意事项和示例 | 关于高版本QT使用QCustomPlot报错问题解决的办法

C QT 6.6.1 QCustomPlot的导入及使用注意事项和示例 | 关于高版本QT使用QCustomPlot报错问题解决的办法 记录一下 qmake .pro文件的配置 QT core gui printsupportgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compil…

深入理解 `Sinks.Empty<Void>` 和 `Mono<Void>`:如何触发完成信号并结合 WebSocket 示例

在响应式编程中&#xff0c;Sinks 是 Project Reactor 提供的一个强大工具&#xff0c;用于手动控制数据流的信号发射。Sinks.Empty<Void> 是一种特殊的 Sinks&#xff0c;它不发射任何数据&#xff0c;仅用于表示完成或错误信号。结合 Mono<Void>&#xff0c;它可…

LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践

文章目录 引言理解 Flows&#xff08;工作流&#xff09;与 Crews&#xff08;协作组&#xff09;一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库&#xff08;crewai、litellm&#xff09; 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…

Deepseek开源周,第二天:Deep EP

DeepSeek 开源的 DeepEP 项目是一个专为 MoE&#xff08;混合专家&#xff09;模型设计的开源通信库&#xff0c;旨在优化训练和推理效率。其对开发者的核心价值体现在以下方面&#xff1a; 1. 显著提升训练与推理性能 全连接通信优化 通过高效优化的 All-to-All 通信机制&…

分布式深度学习:探索无限可能

分布式深度学习:探索无限可能 大家好,我是Echo_Wish,一名专注于人工智能和Python的自媒体创作者。今天,我们将深入探讨分布式深度学习,这个技术不仅是AI发展的前沿,更是应对大规模数据和复杂模型的关键解决方案。随着数据量和模型复杂度的不断增加,传统的单机深度学习已…

window下kafka安装

kafka下载 下载好,直接解压即可 默认是带有zookeeper(注册中心) 需要先启动zookeeper zookeeper配置 先配置下zookeeper 这个data文件夹是自定建的 随意建在哪里 注意 这里斜杠用和linux一样 启动zookeeper 进入bin/windows目录 启动zookeeper zookeeper-server-start.ba…

浅谈 Redis 主从复制原理(二)

大家好&#xff0c;我是此林。 【浅谈 Redis 主从集群原理&#xff08;一&#xff09; 】 上一篇文章中&#xff0c;说到了 Redis 主从复制的全量同步和增量同步&#xff0c;repl_baklog 复制缓冲区&#xff0c;以及 slave 挂掉之后数据同步的措施。 下面介绍的上一篇遗留问…

Vue 中单向数据流原则

做一个 ElementUI 弹框组件的二次封装 效果如下: 点击取消按钮发现弹出如下报错信息 : [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the …

网页版的俄罗斯方块

1、新建一个txt文件 2、打开后将代码复制进去保存 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>俄…

计算机毕业设计SpringBoot+Vue.js足球青训俱乐部管理系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

element ui的select选择框

我们首先先试一下&#xff0c;这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…

DeepSeek引领目标检测新趋势:如何通过知识蒸馏优化模型性能

目录 一、知识蒸馏是什么&#xff1f; 二、知识蒸馏在目标检测中的重要性 提升实时性 跨任务迁移学习 三、如何使用知识蒸馏优化目标检测&#xff1f; 训练教师模型 生成软标签 训练学生模型 调节温度参数 多教师蒸馏&#xff08;可选&#xff09; 四、案例分享 定…

C++与Python实现LiDAR点云投影对比:关键差异与易错点详解

问题背景 在多传感器融合任务中&#xff0c;常需将LiDAR点云投影到相机图像。然而&#xff0c;不同语言&#xff08;如C和Python&#xff09;的实现可能存在细微差异&#xff0c;导致投影结果不一致。本文通过对比两段功能相近的代码&#xff08;C和Python&#xff09;&#x…