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

观成科技:活跃窃密木马TriStealer加密通信分析

1.概述

观成安全研究团队近期在现网监测到多起TriStealer窃密木马攻击事件,TriStealer窃密木马从2024年4月开始活跃,通过Bunny CDN进行载荷下发。TriStealer会收集系统信息、屏幕截图、浏览器中存储的账号密码以及设备中所有的“txt”后缀文件、桌面文件等,加密后通过HTTP协议上传到服务器。4月份的TriStealer使用“ZIP+RC4”对数据进行加密,7月份,TriStealer对加密方式进行了升级,开始采用“ZIP+Base64+RC4”的方式进行加密。TriStealer的RC4密钥设计较为独特,由6字节样本硬编码字符串和随机生成的字符串组成,随机部分存储在流量的filename字段中。

观成瞰云(ENS)-加密威胁智能检测系统能够对TriStealer窃密木马进行有效检出。

2.文件信息

根据下载链接“https://matozip1.b-cdn[.]net/K1.zip”可以得到最新版本的窃密木马TriStealer。通过特征可以在VT上关联到大量TriStealer木马,目前共发现两个不同的RC4密钥“oSabnN”和“LkgwUi”。

3.通信分析

TriStealer窃密木马会跟服务器进行三次通信,每次通信上传不同的窃密信息。

图 3‑1 窃密木马通信流程

3.1加密通信分析

4月份的TriStealer窃密木马上传信息前,会先对数据进行ZIP压缩,再使用RC4加密。此版本中,RC4加密密钥由固定字符串“oSabnN”与样本随机生成的字符串拼接而成。而7月份的版本中,RC4加密密钥使用的固定字符串为“LkgwUi”。

图 3‑2 通信流量截图

3.2第一次通信

样本第一次通信上传了设备标识符。

图 3-3 第一次通信流量

图 3‑4 第一次通信流量解密

3.3第二次通信

第二次通信上传了设备标识符(与第一次通信一致)、系统基本信息、系统部署软件信息等。在窃密木马最新的版本中会同时上传屏幕截图。

图 3‑5 第二次通信流量

图 3-6 第二次通信流量解密

3.4第三次通信

第三次通信上传系统桌面的文件、浏览器隐私文件等。

图 3-7 第三次通信流量

图 3-8 第三次通信流量解密

4.产品检测

观成瞰云(ENS)-加密威胁智能检测系统能够对TriStealer窃密木马有效检出,检测结果见下图。

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

5.总结

TriStealer窃密木马在加密通信方面展现出明显的演进趋势。从2024年4月起,它采用了ZIP和RC4结合的方式对数据进行加密,这一加密方案在7月份进行了升级,引入了Base64编码作为额外的步骤,形成了ZIP+Base64+RC4的复合加密流程。TriStealer的RC4加密密钥设计独特,由固定的6字节样本硬编码字符串和随机生成的字符串组成,为加密通信提供了安全性和混淆性。TriStealer使用Bunny CDN进行载荷存储的方式与白象组织尤为相似,但结合受害者分布情况和VT存在大量样本这两点,我们排除了TriSteal属于白象组织的可能性。TriStealer窃密木马的迭代周期较短,未来可能会采用更复杂的加密算法或增强的流量混淆技术。观成科技安全研究团队将持续关注并更新其检测策略,以有效应对这一网络威胁。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • setsockopt选项对tcp速度
  • HTTP 协议浅析
  • k8s 公共服务
  • 问题处理--No such file or directory
  • Springboot+Maven多模块项目开发
  • 构建稳固与安全的网络环境:从微软蓝屏事件看软件更新流程与应急响应
  • vue3中Composition API写法 <script setup>标签中哪些可以不用导入即可使用?
  • js箭头函数与普通函数的this指向问题
  • node和npm安装;electron、 electron-builder安装
  • React中引入使用本地图片
  • 配置单区域OSPF
  • 集成学习在数学建模中的应用
  • 开发日志:windows修复SSL漏洞CVE-2016-2183(3389端口)
  • 基于 Gunicorn、Flask 和 Docker 的 Web 应用开发
  • 简单走近ChatGPT
  • HTTP中的ETag在移动客户端的应用
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript的使用你知道几种?(上)
  • SQLServer之创建显式事务
  • Vue 动态创建 component
  • 分享几个不错的工具
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 回顾 Swift 多平台移植进度 #2
  • 近期前端发展计划
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 阿里云服务器如何修改远程端口?
  • ​TypeScript都不会用,也敢说会前端?
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (void) (_x == _y)的作用
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (一)、python程序--模拟电脑鼠走迷宫
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net framework 4.8 开发windows系统服务
  • .Net 执行Linux下多行shell命令方法
  • .Net 中Partitioner static与dynamic的性能对比
  • .Net7 环境安装配置
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • :O)修改linux硬件时间
  • @JoinTable会自动删除关联表的数据
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子