【观成科技】“银狐”的UDP暗道:加密通信机制的对抗与升级

一、概述

此前,观成安全研究团队已发布多篇银狐木马分析报告,所涉样本的通信方式大多基于 TCP 自定义加密协议。而近期,我们注意到采用 UDP 自定义加密协议通信的银狐木马整体活跃度显著上升。深入分析发现,其通信机制与以往样本差异明显,不仅体现在先握手、后传输的两阶段通信模式上,密钥派生逻辑与数据包格式也均有较大调整。我们从通信交互流程、数据格式、加密算法等维度,对基于UDP的银狐木马通信机制进行全面剖析。

二、通信 机制分析

该类银狐变种使用UDP自定义加密协议进行通信,整体采用先握手、后传输的两阶段通信模式。由于原生UDP协议是一种"尽力而为"的传输协议,本身不提供数据包的送达确认或丢失重传机制,为实现可靠通信,该样本在应用层参考TCP的可靠性设计,自行构建了一套确认(ACK)与重传机制。 因此,在下文描述的交互流程中会出现类似TCP的确认包和超时重传逻辑。

交互流程上,双方通过四步握手交换Session ID,随后进入加密数据传输阶段;数据格式上,握手阶段为12字节固定结构,数据传输阶段为24字节头部加可变载荷;加密算法上,采用XOR动态密钥加密,即"一会话一密钥"。以下将对这三部分展开详细分析。

  • 通信交互流程

该类银狐木马的通信交互流程如图1所示。

1 握手和数据传输阶段通信交互流程

第一阶段为握手阶段:

  1. 第一步,客户端向服务端发送握手请求。客户端生成自身的LocalID,由于此时是初次请求,对端标识未知,因此RemoteID字段置为0x00000000。若未收到服务端的响应,则进行重传,重传上限为10次。
  2. 第二步,服务端向客户端发送握手响应。服务端收到请求后生成自身的LocalID,首次响应中仅宣告该ID,RemoteID字段置为0x00000000,而重传时则将客户端的LocalID填入RemoteID进行回显。
  1. 第三步,客户端向服务端发送会话确认。该包中LocalID仍为客户端自身LocalID,RemoteID填入服务端LocalID进行回显,完成客户端侧的双向确认。该确认包连续发送3次,间隔10毫秒。
  2. 第四步,服务端向客户端发送握手确认。服务端收到会话确认后,LocalID为服务端自身LocalID,RemoteID填入客户端LocalID进行回显。至此,双方均完成对对方身份的确认,握手阶段正式结束,各自记录对端LocalID。

第二阶段为数据传输阶段:

  1. 第一条流,握手完成后,客户端首先向服务端发送载荷请求,服务端收到后回复 ACK 确认,随后下发相应的载荷数据。
  2. 第二条流,在握手完成后,客户端会主动发送包含主机信息的上线数据包。
  3. 后续交互中,服务端可根据需要继续下发控制指令,客户端按指令执行相应操作。
  • 数据格式分析
  • 握手阶段数据格式

握手阶段的数据包固定为12字节,由五个字段构成。起始2字节为Magic协议魔数,固定值为0x4FBB。随后为1字节的Flag1标志位(恒为0x01)和1字节的Flag2标志位,其中Flag2取值0x00表示请求或响应,0x01表示确认,用于区分握手子类型。最后8字节为会话标识,其中LocalID由发送方生成(客户端通过GetTickCount异或常量产生,服务端自行生成),RemoteID用于回显对端LocalID,初次请求时置为0,后续填入对端ID完成身份确认。

2 握手阶段数据格式

3 握手阶段流量数据

握手阶段的Session ID(即客户端生成的LocalID)生成逻辑如图4所示:将系统启动时间与常量0x5A3C7B1D进行异或运算,若运算结果为0则使用默认值0x12345678,否则直接作为Session ID。

4 Session ID 生成逻辑

​​​​​​​数据传输阶段格式

数据传输阶段的数据包由24字节固定头部和可变载荷构成。头部前4字节为SessionID(即自身LocalID),用于标识会话。随后1字节为Type字段,用于区分包类型(详见下表)。接下来的字段依次为:1字节Flags、2字节Window(接收窗口),以及各4字节的Token、Seq和Ack,其中Token字段由发送端基于当前时间戳生成,用于标识DATA包,并在ACK包中原样回显,从而使发送端能够比对时间差,计算往返时延(RTT)及重传超时(RTO)。最后4字节为PayloadLen,取0时表示控制包,大于0时表示DATA包载荷长度。载荷位于头部之后,仅DATA包携带,承载实际通信数据。

1 Type字段 说明

|-----------|------------|--------------------|--------------------------|
| | 名称 | 载荷 | 说明 |
| 0x51 | DATA | 有(PayloadLen > 0) | 承载实际通信数据 |
| 0x52 | ACK | 无(PayloadLen = 0) | 确认数据包接收成功 |
| 0x53 | SACK | 无(PayloadLen = 0) | 反馈已收分片状态及缺片区间,触发缺失分片重传 |
| 0x54 | NAK | 无(PayloadLen = 0) | 指示数据包接收失败(未收到或校验错误),请求重传 |

5 数据传输阶段数据格式

6 数据传输阶段流量数据

数据传输阶段包类型的选择如下图所示。

7 数据传输阶段包类型的选择

  • 加密算法 分析

通信数据采用XOR动态密钥加密,每个会话独立使用一个密钥。加密载荷格式如下:前4字节为加密的长度字段,解密后获得后续实际数据长度;其后10字节为密钥派生种子,其中前4字节为随机生成的随机值,后6字节为固定常量,派生算法为 "keyi % key0 + key1",将密钥种子逐字节代入得到最终密钥。从第15字节开始为密文数据。以上线包为例,解密后的明文为系统信息。

8 加密算法

以下为上线包数据解密示例,解密后可以看到银狐木马上线包常获取的几类信息,如主机名、用户名等。

9 上线包解密数据

三、检测

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

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

四、总结

2026年以来,银狐木马的攻击活动持续高度活跃,观成安全研究团队捕获的变种样本量显著增长。在此背景下,本次分析的该类UDP变种进一步印证了该家族通信机制的持续演进:在长期沿用的TCP协议之外,新增了基于UDP的自定义加密通信方案,增加了通信协议的多样性;加密机制方面,固定密钥加密模式正逐步演化为基于随机数的动态密钥派生机制。上述变化表明,银狐木马的通信机制正朝着多协议化、载荷高随机化方向演进,给流量检测与分析带来挑战。观成安全研究团队将持续跟踪银狐木马家族的技术演进,不断加强观成瞰云(ENS)加密威胁智能检测系统的检测能力,为应对日益复杂的加密威胁提供可靠的技术保障。

五、附录

2 IOC信息

|------------|------------------------------------------------------------------|
| 类型 | |
| SHA256 | 8d33791edb7a9744dba3df3b0b23435b495436a11aa72c7956599abbe56d1197 |
| IOC | 121.127.232.112 |

相关推荐
星恒讯工业路由器8 小时前
5G工业路由器在智慧工厂中的应用解析:从数据采集到云端管理
物联网·信息与通信·智慧工厂·5g工业路由器·产线数据采集
优化Henry1 天前
学习笔记之VoNR语音业务注册流程
网络·笔记·学习·5g·信息与通信
星恒讯工业路由器1 天前
仓储AGV无线组网指南
物联网·信息与通信·工业物联网·仓储物流机器人·agv无线组网·仓储无线覆盖·远程配置
hz567891 天前
应急管理部门跨部门会商用什么系统?指挥调度视频会议方案解析
网络·安全·音视频·实时音视频·信息与通信
太原geo小侦探2 天前
2026门店AI流量实测测评:同为实体门店,AI问答曝光差距在哪?
大数据·人工智能·生活·流量运营·内容运营
hz567892 天前
私有云会议系统选型攻略:企业级安全与高效协同并行
安全·音视频·实时音视频·信息与通信
星恒讯工业路由器2 天前
工业以太网核心技术解析
网络·物联网·网络拓扑·信息与通信·业以太网·网络冗余
X7x52 天前
BGP 高级特性硬核指南:通告原则、防环机制、路由黑洞与 BGP 路由反射器(RR)深度剖析
网络协议·信息与通信·信号处理·bgp高级特性
Jason_gao9994 天前
【无标题】
matlab·信息与通信