探幽寻秘,一网打尽—多版本银狐木马加密要素揭秘

news2024/10/6 10:27:32
  1. 概述

“银狐”木马,自2023年起在国内肆虐,其攻击范围广泛,波及众多企业。在黑产团伙中应用广泛,并且不同团伙采用的攻击手段各异,加载“银狐”的方式层出不穷,最终呈现的“银狐”木马版本也各有差异。观成安全研究团队收集分析了2023年以来披露的“银狐”样本,按照通信加密方式来分类,共发现了5个版本的“银狐”木马:

  • XOR加密:加密密钥通过提取通信载荷中部分数据计算后得到;
  • XOR+减法加密:加密密钥在样本中固定编码;
  • Zlib压缩:只使用了Zlib对数据进行压缩;
  • 加法加密+异或+Zlib压缩加密:加密密钥在样本中固定编码;
  • AES加密:加密密钥在样本中固定编码。

在这些加密算法的基础上,攻击者还会更改通信端口、加密密钥、通信标识符、通信格式等,来规避特征检测。

  1. 加密方式
    1. XOR加密

“银狐”木马使用XOR加密的样本共发现两种,其中XOR密钥均由载荷中的部分数据经过加法运算后所得,主要区别在于加法运算的值不同。两种样本的通信载荷数据格式一致,前4字节是数据长度,后面跟10字节密钥数据,密钥数据与0x36、0x3d(两个样本中硬编码记录)进行加法运算后得到XOR密钥,后面1字节在服务器发送给客户端的数据中存储着控制指令,最后一部分是XOR加密的数据。加密数据构造如下图所示:

图 1 通信数据解密过程

以加密密钥0x36的流量为例,通信流量如下图所示:

图 2 加密的通信数据

从加密数据的固定偏移0x05-0x14处可以获取到密钥数据,与0x36进行加法运算后得到密钥。

图 3 获取XOR密钥

将加密数据进行XOR解密后得到如下系统信息。

图 4 解密数据

    1. XOR+加减法

使用XOR+加减法加密的样本共发现四种,分别使用四个不同的加密密钥,解密后的上线包数据为计算机名、当前时间等系统信息,数据格式一致,均由0xF字节长度的数据头+实际上传数据构成,数据头包含3字节的特征字符+整体数据长度+实际上传数据长度+固定字符。四种样本数据头的前3字节有些许不同,具体含义不明,可能代表“银狐”木马的小版本变化。其中一种样本不仅对数据进行多次加密,还会将数据的前0xF字节头部信息进行单独加密,试图隐藏数据头特征。

表 1 XOR+加减法不同样本对比

密钥

加密算法

解密后上线包前三字节

第一种

(0xFC,0xCF)

先异或0xFC,然后减0xCF

|68 78 20|

第二种

(0x46,0x19)

先减0x46,然后异或0x19

|78 79 20|

第三种

(0x95,0x07)

先异或0x95,然后减0x07

|68 78 20|

第四种

(0x9e,0x18,0x7a)

前0xF字节先异或0x9e,然后对计算后的数据进行两次运算(先异或0x18,然后加0x7a)

|68 78 20|

数据结构以及加密过程如下:

图 5 通信数据结构以及加密过程

以第一种为例,流量截图如下:

图 6 第一种通信流量截图

解密后数据如下:

图 7 第一种通信流量解密截图

    1. Zlib压缩

使用Zlib压缩的样本共发现三种,样本的通信数据结构类似,均是由数据头+zlib压缩数据(以zlib压缩头特征“|79 9c|”作为分界线)构成。数据头包含数据长度、固定字符(作为标识符)和解压后的数据长度。而三种样本的区别在于数据头部使用了不同的标识符,分别为“123456”、“d9725c9cef2a830ea7bac94e9f14391f”、“98459aee8548fef5f627ef21660ee65c”,其中标识符“123456”为泄露的银狐4.0版本使用的通信加密方式,另外两种代表的版本未知。三种样本的通信流量如下图:

图 8 第一种标识符流量截图

图 9 第二种标识符流量截图

图 10 第三种标识符流量截图

    1. 加法+XOR+Zlib压缩

“银狐”木马曾使用过“加法+XOR+Zlib压缩”综合加密的方式,此样本仅发现一例。加密通信载荷进行三次加密处理,首先通过Zlib压缩数据,然后对压缩后的数据进行逐字节异或(0x15),再逐字节加0x79。流量截图如下:

图 11 流量截图

解密并解压缩后得到上传数据。

图 12 解密+解压缩后数据截图

    1. AES加密

“银狐”木马也使用AES算法对通信数据进行加密,密钥和IV在样本中硬编码记录。加密后的通信载荷数据格式如下图,通信载荷前2字节为加密数据的长度,后跟2字节的固定值“|40 5a|”,最后为加密数据。加密数据构造如下图所示:

图 13 上线包(AES)加密数据结构

图 14 加密流量截图

图 15 AES解密上线包数据截图

  1. 检测

针对目前已经掌握加密算法和密钥的“银狐”样本,观成瞰云(ENS)-加密威胁智能检测系统已经实现对“银狐”流量的检测。而对于密钥或者标识符可能发生更改的样本,我们构建了行为检测方法实现对该木马的检测,部分检测结果如下:

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

  1. 总结

在对“银狐”木马的分析中可以看出,该木马存在多个版本,每个版本产生的流量使用了不同的加密方式和加密密钥,而且存在使用加密的方式抹去数据头特征的情况。在此基础上,多个黑产组织使用“银狐”木马的方法也各不相同,这就导致对这种加密流量检测的难度进一步提高。观成安全研究团队长期跟踪活跃的木马家族,对木马使用加密流量的技术进行深入研究,针对“银狐”、“CobaltStrike”、“Remcos”等多种木马家族产生的加密流量结合特征检测、行为检测和AI模型给出全方位的检测解决方案。

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

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

相关文章

图像处理------负片

什么是负片? 负片是经曝光和显影加工后得到的影像,其明暗与被摄体相反,其色彩则为被摄体的补色,它需经印放在照片上才还原为正像。我们平常所说的用来冲洗照片的底片就是负片。 """将彩色图像转换成负片 "&…

「 网络安全术语解读 」通用攻击模式检举和分类CAPEC详解

引言:在网络安全领域,了解攻击者的行为和策略对于有效防御攻击至关重要。然而,攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题,MITRE公司创建了CAPEC标准,以提供一个共享和统一的攻击模式分类框架。 1…

计算机网络 第3章(数据链路层)

系列文章目录 计算机网络 第1章(概述) 计算机网络 第2章(物理层) 计算机网络 第3章(数据链路层) 文章目录 系列文章目录1. 数据链路层概述1.1 概述1.2 三个重要问题 2. 封装成帧2.1 介绍2.2 透明传输2.3 总…

discuz论坛附件上传限制大小2MB

我遇到了这个问题,去修改了配置PHP.ini文件没有解决. 我把他变成2000M依旧没有用,然后我选择了用户组,附件部分。如图所示: 然后这个时候我还是没有好,我同事的却不限制大小了,我去清理缓存&#xff…

c++:类和对象(3),对象模型和this指针

成员变量和成员函数分开存储 空对象占用内存空间为:1c编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置每个空对象也应该有一个独一无二的内存地址 只有非静态成员变量 属于类的对象上,其余都不属于类的对象上 this指针…

网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

01 同程旅行 招聘岗位:网络工程师 职责描述: 1.负责职场、门店网络规划、建设、维护。 2.负责网络安全及访问控制、上网行为管理和VPN设备的日常运维; 3.负责内部相关网络自动化和系统化建设; 4.优化与提升网络运行质量&#xff…

激光雷达行业梳理2-产业链、公司、未来展望

四、产业链及竞争格局 激光雷达产业链可以分为上游(光学和电子元器件)、中游(集成激光雷达)、下游(不同应用场景)。其中 上游即激光发射、激光接收、扫描系统和信息处理四大部分,主要包括激光器…

设备通过GB28181注册到EasyCVR,平台看不到设备信息的排查方法汇总

智慧安防平台EasyCVR能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,平台支持设备通过4G、5G、WIFI、有线等方式进行视频流的接入与传输,支持的接入协议包括&#xff1…

Shell脚本的变量

目录 shell脚本变量: 1.变量的介绍: 2.变量的作用: 3.变量的类型 : 4.自定义变量 : (1)自定义变量命名要求: (2)定义与查看变量: &#x…

为什么单片机不能直接驱动继电器和电磁阀?

为什么单片机不能直接驱动继电器和电磁阀? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

SpringBoot3(一)动力节点总结

目录 0、有用的新特性 一、Record 1.1、Record的介绍 1.2、Record的声明 1.3、Record的创建 0、有用的新特性 JDK8-19 新增了不少新特性,这里我们把实际常用的新特性,给大家介绍一下,包括以下几个方面: Java RecordSwich 开…

数据结构(Chapter Two -03)—线性表的链式表示

在这一部分(数据结构(Chapter Two -01)—线性表及顺序表-CSDN博客)里面,我们知道线性表包括顺序表和链表结构。前面写了顺序表的基本操作,那这部分就写一写线性表叭! 链表特点:不需要使用地址连续的存储单…

ctfshow-SQL注入(web214-web220)

时间盲注 (最贴合实际的注入) web214 什么都不存在 使用bp进行抓包看看有没有注入点 在原始页面刷新 抓包发现修改debug为1是返回结果是一个sql的查询语句 id可能存在注入点 发现存在时间注入 使用web193脚本进行修改 python盲注脚本 import requests …

「JavaScript基础」一文彻底搞懂JS的事件流以及事件模型

目录 事件事件机制一、事件绑定二、事件监听三、事件委托 事件流事件流模型DOM事件处理DOM0DOM2IE 事件处理程序 常见的事件 在JavaScript中,事件流和事件模型是处理用户交互的关键概念。深入理解这些概念将使你能够更好地处理和响应用户的动作。本文将详细介绍Java…

冷链温湿度监控解决方案,实时监测,助力运输安全

为了确保药品、生鲜等在冷链运输过程中的安全监管,需要对冷链、仓库等环节的温湿度信息进行实时自动检测和记录,有效防范储运过程中可能影响产品质量安全的各类风险,确保储存和运输过程的产品质量。 冷链温湿度监控系统解决方案,利用智能温湿…

leetcode—— 腐烂的橘子

腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到…

每日一道算法题 15(2023-12-28)TLV解析Ⅰ

package com.tarena.test.B20; import java.util.ArrayList; import java.util.Scanner; import java.util.StringJoiner; /** * TLV解析Ⅰ * author Administrator * 输入: * 第一行 31 * 第二层 32 01 00 AE 90 02 00 21 02 30 03 00 AB 32 31 31 0…

UI自动化测试框架搭建 —— yaml文件管理定位元素

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

万界星空科技mes系统可以为企业带来什么好处

随着信息技术的不断发展,MES生产制造系统的作用不断凸显。万界星空科技MES生产制造可以为企业带来四个方面的好处:提升生产效率、降低生产成本、优化生产过程、提高生产质量。本文将从这四个方面分别进行详细阐述,旨在通过对MES生产制造系统的…