当前位置: 首页 > news >正文

观成科技:海莲花“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.lryc.cn/news/543581.html

相关文章:

  • Spring Boot @Async 注解深度指南
  • windows设置暂停更新时长
  • Orange 开源项目 - 集成百度智能云-千帆大模型
  • 特斯拉 FSD 算法深度剖析:软件层面全解读
  • 2025/2/17--2/23学习笔记(week1)_C语言
  • 数据结构:二叉树的数组结构以及堆的实现详解
  • AWS S3 如何设置公开访问权限?
  • 使用TortoiseGit配合BeyondCompare实现在Git仓库中比对二进制文件
  • 8、HTTP/1.0和HTTP/1.1的区别【高频】
  • Rk3568驱动开发_开发环境的搭建_1
  • Solr中得Core和Collection的作用和关系
  • Visual Studio Code 远程开发方法
  • 如何看到 git 上打 tag 的时间
  • 【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
  • 如何设置HTTPOnly和Secure Cookie标志?
  • 几个api
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 基于 DeepSeek+AutoGen 的智能体协作系统
  • 博客系统笔记总结 2( Linux 相关)
  • 计算机毕业设计SpringBoot+Vue.js电影评论网站系统(源码+文档+PPT+讲解)
  • 精美登录注册UI,登录页面设计模板
  • 《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
  • 【EB-03】 AUTOSAR builder与EB RTE集成
  • HTML——前端基础1
  • AI回答:Linux C/C++编程学习路线
  • 螺旋数字矩阵
  • Jupyter Notebook切换虚拟环境(Kernel管理)
  • linux下软件安装、查找、卸载
  • vuetify项目添加代理跨域请求
  • H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞