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

观成科技:海莲花活跃木马KSRAT加密通信分析

概述

自2023年8月至今,海莲花组织多次利用KSRAT远控木马对我国发起攻击。KSRAT通过HTTP协议与C&C服务器进行通信,每个样本都使用了不同的URL。其心跳包采用XOR算法进行加密,而控制指令包和数据回传包则使用了XOR以及“XOR+AES-128-CBC”组合的加密方法。这种对不同类型的数据采用不同加密方式的策略,使得心跳包的解密方法无法完全应用于其他数据,从而有效延缓了安全人员对其具体攻击操作的分析。为了隐藏通信特征,KSRAT在心跳包中填充了随机生成的数据,使得载荷长度随机变化,但其并未更改XOR密钥和数据结构,导致心跳包请求体中的特征仍然显著,可直接通过特征值进行检测。

2.执行过程

样本执行后,会先在内存中XOR解密出shellcode和dll文件,shellcode负责调用dll的导出函数,函数参数为加密的配置文件,配置文件中包含了C2地址、请求头信息、心跳时间间隔等信息。样本使用HTTP协议与服务器进行通信,通信URL为“http://38.180.94.8/public/home/images/2024/yawwjs.jpg”。

图 2‑1 KSRAT执行过程

  1. 图 2‑2 解密后的参数信息
  2. 3.通信分析

心跳包

样本执行后,使用HTTP协议与服务器进行通信,每隔30秒左右向服务器发送心跳包,心跳包构造为“8字节通信标识符+13字节固定数据+8字节随机数据长度+随机数据+9字节固定数据”。心跳包中的数据通过XOR算法进行加密,密钥为“p@sswor!kS@mk$y”。

图 3‑1 KSRAT心跳包

图 3‑2 心跳包数据结构

图 3‑3 解密后的心跳包

控制指令包

当攻击者想要对受害机进行操作时,会通过心跳包的响应体向样本下发控制指令。控制指令按照加密方式可以分为两种,一种使用XOR算法进行加密,另一种使用“XOR+AES”组合算法进行加密。

攻击者下发“上传系统信息”、“上传进程ID”等指令时使用XOR算法加密,密钥为“p@sswor!kS@mk$y”。XOR算法加密的指令包由“8字节通信标识符+8字节固定数据+4字节控制指令+1字节数据+8字节随机数据长度+随机数据+9字节固定数据”组成。

图 3‑4 控制指令-上传系统信息

图 3‑5 xor加密控制指令包数据结构

图 3‑6 上传系统信息指令0x03


图 3‑7 上传进程ID指令0x14

攻击者下发“执行CMD命令”指令时,使用“XOR+AES”组合算法对控制指令包进行加密,XOR密钥“p@sswor!kS@mk$y”,AES密钥和IV为“AF744438F8996F07543623C6E426E29C”。该指令包由“8字节通信标识符+4字节控制指令+8字节参数长度+参数+8字节随机数据长度+随机数据+9字节固定数据”组成。

图 3‑8 下发指令

图 3‑9 “XOR+AES”加密的控制指令包结构

图 3‑10 解密后的CMD指令“tasklist”

数据回传包

回传给服务器的数据也使用了两种方式进行加密。接收到控制指令0x3后,样本会XOR加密回传系统信息。接收到控制指令0x14和0x4后,样本会使用“XOR+AES”组合算法加密回传数据。

图 3‑11 上传系统信息

图 3‑12 XOR解密后的系统信息

接收到控制指令0x14,样本使用“XOR+AES”组合算法加密回传进程ID。

图 3‑13 上传的加密数据

图 3‑14 解密后的进程ID 0x0B40

接收到控制指令0x4后,样本提取出参数“tasklist”,执行后将进程列表使用“XOR+AES”组合算法加密后回传给服务器。

图 3‑15 加密的上传数据与解密后的进程列表

4.产品检测

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

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

5.总结

近年来,越来越多的APT组织开始使用Go、Rust、Nim和DLang等编程语言开发攻击工具,这些语言本身具有一定的混淆效果,能够有效规避杀软检测并阻碍安全分析工作。海莲花组织采用Rust语言实现KSRAT远控木马,并去除了样本中AES加密算法的特征,显著降低了研究人员的分析速度。KSRAT在通信上别具匠心,每个样本使用了不同的URL,并且在URL中掺杂了随机字符,以避免流量检测系统通过URL识别其恶意流量。然而,自2023年至今,KSRAT并未改变其心跳包的XOR密钥和数据结构。尽管心跳包长度因随机数据填充而变化,但由于固定数据和固定密钥的存在,使得心跳包请求体中的特征依然明显,可通过特征值直接检测。未来,海莲花可能会更新其XOR密钥来隐藏其心跳包特征,规避流量检测。观成科技安全研究团队将持续关注并更新其检测策略,以有效应对这一网络威胁。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 建筑幕墙题库+解析《建筑幕墙保温性能检测方法》GB/T 29043-2023
  • vue3 组件传参
  • python3.10安装geopandans实战笔记
  • [nohup, ] Linux后台进程运行
  • 数学规划模型|线性规划|整数规划
  • 四、GPIO的8种工作模式
  • 高防服务器的防御功能如何?
  • 搜维尔科技:2024上半年,我们用manus VR数据手套制作的一些经典案例
  • 浅析中国蚁剑的木马加密流量
  • C++ STL与string类
  • 基于sklearn的机器学习 — 支持向量机(SVM)
  • 使用C#(winform)调用STK并展示其3D/2D控件
  • 【前缀异或和】力扣2588. 统计美丽子数组数目
  • 【脚本说明撰写markdown】如何基于VScode 撰写使用说明文档,及格式转换.md、.html、.pdf格式
  • LVS--DR模式
  • #Java异常处理
  • [译]如何构建服务器端web组件,为何要构建?
  • IP路由与转发
  • Java 多线程编程之:notify 和 wait 用法
  • Java教程_软件开发基础
  • js 实现textarea输入字数提示
  • Logstash 参考指南(目录)
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Phpstorm怎样批量删除空行?
  • React Native移动开发实战-3-实现页面间的数据传递
  • React-redux的原理以及使用
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 大整数乘法-表格法
  • 硬币翻转问题,区间操作
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • MyCAT水平分库
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ###C语言程序设计-----C语言学习(6)#
  • #QT项目实战(天气预报)
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (02)Unity使用在线AI大模型(调用Python)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (二十三)Flask之高频面试点
  • (二十四)Flask之flask-session组件
  • (面试必看!)锁策略
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)c52学习之旅-点亮LED灯
  • (四)Linux Shell编程——输入输出重定向
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Linux下编译安装log4cxx
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET CLR Hosting 简介
  • .NET Core 通过 Ef Core 操作 Mysql