网站运营

TCP/UDP隧道原理分析隧道的搭建需要客户端和服务端两端

时间:09-13   作者:YDW   来源:YDW.ORG   阅读:90  
内容摘要:

云端网 - www.ydw.org

1.隧道介绍

是一个快速稳定的TCP/UDP隧道工具,该工具基于HTTP实现,并通过SSH加密保证通信安全。可以进行端口转发、反向端口转发以及SOCKS流量代理,使用GO语言编写,具备较好的跨平台特性。该工具的主要用于绕过防火墙,也可以用于向网络中提供安全终端节点。

实战对抗中,攻击者获得资产控制权后,需要建立失陷资产与外部控制端的通信通道,为了有效躲避IPS、WAF、全流量检测等安全设备,常使用加密通道、隐蔽隧道等。可以将木马回连的通信流量隐藏在HTTP协议中,并通过SSH进行加密,保证了通信流量的隐蔽性和安全性。该工具还支持协议,有效地提升了通信信息的交换效率。

2.隧道原理分析

隧道的搭建需要客户端和服务端两端,客户端负责接收待转发的数据,解析后将数据利用ssh进行加密、封装成HTTP/(s)协议发送到服务端,服务端接收后解析成原始流量并转发。

ssh实现增删改查_ssh框架实现增删改查_

ssh框架实现增删改查__ssh实现增删改查

图 1 隧道示意图

隧道搭建时,客户端会率先向服务端建立连接,在协议升级中,包含隧道工具的版本信息“-v3”。利用该特征可以对隧道流量进行有效检出,但有经验的攻击者往往会抹除该特征,规避检测。

ssh框架实现增删改查_ssh实现增删改查_

_ssh框架实现增删改查_ssh实现增删改查

图 2 协议升级

协议是Http协议的补充,相较于Http协议,实现了长连接、全双工通信通道,具有更高效的通信效率。隧道中的协议是基于”//”包实现的。

ssh实现增删改查__ssh框架实现增删改查

图 3 实现

ssh实现增删改查__ssh框架实现增删改查

连接建立后,工具会在信道内进行SSH加密协商,协商中SSH的版本信息为“SSH--v3-”。和升级协议类似,其中包含了工具的特征字符串,可以通过该特征实现检测,但该特征也较易被攻击者抹去。

工具中实现SSH协商是基于GO语言的默认库”/x//ssh”,这也导致SSH协商产生的指纹为GO语言的默认指纹。

_ssh实现增删改查_ssh框架实现增删改查

图 4 SSH加密协商

_ssh实现增删改查_ssh框架实现增删改查

SSH加密协商后,客户端会持续监听,接收待转发流量,ssh加密后发送到服务端。目前该工具支持的转发协议包括:SOCKS、UDP、TCP。

ssh框架实现增删改查__ssh实现增删改查

图 5 等待转发流量

3.隧道检测

ssh框架实现增删改查_ssh实现增删改查_

根据分析结果,我们通过利用主动探测、特征匹配、异常HTTP协议筛查、SSH指纹筛查等多种检测方法,实现了对隧道的有效检测。

ssh框架实现增删改查_ssh实现增删改查_

图 6 检出结果

4.总结

利用工具搭建HTTP隧道,攻击者可以将攻击流量加密隐藏在隧道之中,从而规避流量监测设备,大幅度降低被发现的可能性。目前,越来越多的攻击者开始利用隐蔽隧道,来提高攻击的隐蔽性。建议安全人员保持对此类工具的密切跟踪研究,持续更新和学习新的检测技术和工具,力争在这类隐蔽隧道流量检测方面做出突破。

www.ydw.org - 云端网


标签:Go语言  通信  技术  防火墙  

  777777  666666