新版Shadow-TLS隐蔽加密通道流量分析

admin 2023年1月1日13:58:39安全文章评论27 views1309字阅读4分21秒阅读模式



01

背景

观成科技安全研究团队近期发现加密通信工具——Shadow-TLS发布了0.20版本(以下简称Shadow-TLS-V2)。与之前版本相比,Shadow-TLS-V2主要在两个方面做出改进:一是针对客户端转发流量进行混淆处理,将转发信息封装成TLS协议Application Data消息形式,以规避流量检测设备的检测;二是针对Shadow-TLS服务端增加校验,将来自非客户端访问进行重定向,返回可信网站的响应结果,以达到规避主动探测的目的,降低服务端被发现的概率。

新版Shadow-TLS隐蔽加密通道流量分析

新版Shadow-TLS隐蔽加密通道流量分析


02

分析
Shadow-TLS-V2工作流程与之前版本相似,在此不再赘述,主要介绍与之前版本不同的地方。工作流程如下图所示:




新版Shadow-TLS隐蔽加密通道流量分析

需要重点关注的是第三阶段发往Shadow-TLS服务端的第一个数据包。与之前版本相比,新版做出了两个修改:

  • 旧版客户端直接转发流量,当待转发的并不是TLS协议数据时,Shadow-TLS客户端与服务端的通信表现为TLS握手后出现非TLS协议消息,这是一个明显的异常,容易被检测。因此新版中这个数据包加了协议头,被封装为Application Data格式,达到欺骗流量检测设备的目的。

  • 在上述Application Data消息中,客户端除封装待转发数据外,还在数据前增加8字节HMAC校验。校验值由服务端响应数据生成,计算方式为HMAC-SHA1(Server_Data)。服务端利用此校验值确定接收的数据是否由客户端发出。

  • 重点流量截图如下:


阶段1:

由终端向客户端发起连接请求,在TCP载荷中传递请求数据,长度分别为101字节和250字节,共351字节。


新版Shadow-TLS隐蔽加密通道流量分析

图1:终端向客户端发送请求


阶段2:

客户端与服务端“Shadow” TLS握手后,将终端请求数据封装发出(39.144.93.96是客户端外网IP)。可以看到此时转发数据已加Application Data消息头,协议软件识别为TLS协议Application Data消息。另外,在Application Data消息中,前8字节为客户端运算好的HMAC校验(红框部分),因此数据载荷总长度为351+8=359字节。


新版Shadow-TLS隐蔽加密通道流量分析

图2:客户端向服务端转发请求

引入HMAC校验后,Shadow-TLS服务端具备了一定的筛选能力。当校验失败时,服务端可返回正常WEB服务器的响应数据,以此迷惑主动探测器。如下图所示:



新版Shadow-TLS隐蔽加密通道流量分析


03

总结

新版Shadow-TLS隐蔽加密通道流量分析

    Shadow-TLS-V2在数据封装和数据校验方面做出了进一步改进,使被动检测和主动探测难度得到提升,但是其加密流量特征和服务端响应特征仍然存在可检测的异常点。类似Shadow-TLS的流量混淆工具在攻防演练等场景下呈现多样、多变的总体趋势,我们将会保持对此类工具的密切跟踪研究。


新版Shadow-TLS隐蔽加密通道流量分析

新版Shadow-TLS隐蔽加密通道流量分析


商务合作 | 开白转载 | 媒体交流 | 理事服务 

请联系:15710013727(微信同号)

《信息安全与通信保密》杂志投稿

联系电话:13391516229(微信同号)

邮箱:[email protected]   

《通信技术》杂志投稿

联系电话:15198220331(微信同号)

邮箱:[email protected]

原文始发于微信公众号(信息安全与通信保密杂志社):新版Shadow-TLS隐蔽加密通道流量分析

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月1日13:58:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  新版Shadow-TLS隐蔽加密通道流量分析 http://cn-sec.com/archives/1491958.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: