Websocket协议代理隧道加密流量分析与检测

一、 Websocket协议代理隧道加密流量简介

攻防场景下,Websocket协议常被用于代理隧道的搭建,攻击者企图通过Websocket协议来绕过网络限制,搭建一个低延迟、双向实时数据传输的隧道。当前,主流的支持Websocket通信代理的工具有:FRP、wsp、wstunnel和TurboTunnel等。

以wstunnel工具为例,当wstunnel使用Websocket协议搭建隧道代理相关流量时,客户端使用HTTP Upgrade 机制来完成协议的握手阶段。当完成握手后,客户端和服务端就使用Websocket协议的数据格式来进行全双工的通信。服务器和客户端都可以主动发送消息,而不需要等待对方先发送消息。Wstunnel可以通过这种方式,搭建起一个高性能、低延迟的Websocket隧道。

Websocket 在握手完成过后以数据帧为单位来传输数据。wstunnel的Websocket隧道流量如下图所示:

1.Websocket的MASK加密

Websocket协议中有一个标志位:Mask, 用于指示数据是否启用掩码加密。当该位置为1时表明使用掩码加密,则载荷长度后4字节为解密密钥。Websocket中的掩码加密使用异或(xor)做简单的加密,当MASK字段对应位被设置为 1 时表示加密,那么后续会设置4字节的Masking-key,Mask位设置为 0 时表示不加密,则不会携带Masking-key。目前标准的 Websocket 规定,客户端发送数据必须使用掩码加密,而服务器发送则不使用掩码加密。

下图是另一款wsp工具启用MASK加密后的流量:

2.Websocket Secure

此外,Websocket支持WSS属性,即Websocket Secure,传输为形式为“wss://”。该通信将Websocket数据通过TLS加密协议进行封装,使得最外层看到的数据就是TLS协议通信,传输数据更加隐蔽,如图所示:

二、 Websocket协议代理工具加密流量样例

除了wstunnel和wsp,还有其他工具也支持Websocket隧道:

l FRP

l Turbo Tunnel

上述四款工具,对载荷的加密情况如下所示:

1. 客户端加密:FRP、wsp、TurboTunnel

2. 服务端加密:TurboTunnel

3. 客户端不加密:wstunnel

4. 服务端不加密:wstunnel、FRP、wsp

三、 Websocket协议代理工具加密流量检测

上边介绍了几款常用工具的Websocket通信流量特征,玖鼎软件科技-加密威胁智能检测系统对这些工具使用Websocket加密通信的流量可以有效检测:

四、 总结

在攻防演练等场景中,Websocket协议隧道具有低延迟、双向实时的高性能特点,又具有较强的加密功能,方便规避流量设备审计,因此这类工具逐渐变得热门。玖鼎软件科技的安全团队通过研究Websocket协议本身结构特点,并与对应的工具流量相结合,从而提出行之有效的检测方法应用于产品当中,能在Websocket流量中准确发现异常,找出相关隧道的搭建和使用痕迹,保障客户网络的安全。我们会持续追踪和研究这类隧道工具,不断提升产品的检测能力。

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦睡了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值