利用SSH加密实现的HTTP隧道分析与检测

news2024/12/23 19:31:24

1.隧道介绍

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

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

2.隧道原理分析

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

图1 隧道示意图

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

图2 WebSocket协议升级

WebSocket协议是Http协议的补充,相较于Http协议,WebSocekt实现了长连接、全双工通信通道,具有更高效的通信效率。chisel隧道中的WebSocket协议是基于"github.com/gorilla/websocket"包实现的。

图3 WebSocket实现

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

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

图4 SSH加密协商

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

图5 等待转发流量

3.隧道检测

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

图6 chisel检出结果

4.总结

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

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

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

相关文章

已过售后期客服话术分享

在电商运营中,我们经常会遇到一些过了售后期还来找客服的买家。他们的问题五花八门,有的真的是质量问题,有的则可能是使用不当或者其他原因导致的。面对这样的情况,我们应该如何正确处理呢?下面给大家分享一些技巧和已…

构建高效医护人员排班系统:Spring Boot框架的优势

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理医护人员排班系统的相关信息成为必然。开发…

上海晋名室外危化品暂存柜助力新能源行业发展

近日又有一个SAVEST室外危化品暂存柜项目成功验收交付使用。 用户在日常经营活动中涉及到气瓶和硅粉的室外安全暂存问题,4月下旬在网上看到上海晋名室外暂存柜系列很感兴趣,联系到了销售部钟经理,双方对晋名的室外暂存柜进行了高效的沟通&am…

AI在医学领域: Oralytics 改善口腔自我保健行为

牙齿疾病是一种常见的慢性疾病,与糖尿病、心血管疾病等全身性疾病有关,对患者造成痛苦并带来沉重的经济负担。美国牙科协会推荐每天刷牙两次,每次两分钟,以预防牙齿疾病。然而,由于遗忘和缺乏动力等因素,患…

期权盈亏怎么计算?期权怎么才能盈利?

今天带你了解期权盈亏怎么计算?期权怎么才能盈利?期权交易盈利和亏损的计算公式为:盈亏额 (行权价格 权利金) - 买入权利金。 50ETF期权盈亏 第一种情况,提前平仓情况下的盈亏计算:平仓权利…

P1.8COB小间距成本下降,增大COB超微小间距LED显示屏市场份额

随着P1.8 COB(Chip On Board)小间距技术的不断成熟与成本的有效控制,其在LED显示屏市场中的竞争力日益凸显。这一趋势不仅激发了行业内对超微小间距LED显示屏的浓厚兴趣,更推动了市场的快速扩张。 随着成本的进一步下降&#xff…

【Java】实体类Javabean的运用案例

文章目录 前言一、定义一个操作类专门处理数据二、代码总结 前言 实体类Javabean的运用案例,现在需要把数据与业务串联起来。 一、定义一个操作类专门处理数据 这里定义了一个叫DogOperator的类,专门用来处理Dog类里面的数据。 解析: 要把…

揭秘北斗GPS车载终端有什么功能?

北斗GPS车载终端一款基于北斗卫星导航系统的高科技车载设备,专为现代交通管理和智能出行设计。集定位、导航、监控和通信于一体,通过精准的北斗定位系统,为车辆提供全天候、全方位的位置服务。本文将带您深入了解北斗终端的魅力,探…

淘宝订单 API 接口:获取淘宝平台数据的 api 接口(电商 ERP 订单对接方案)

taobao.seller_order_list 获取卖家订单列表 taobao.custom 自定义淘宝开放平台 API 公共参数 请求地址: 登录 - 凡邦跨境电商平台接口提供商 数据采集公司 数据接口定制服务 企业级数据服务商 seller_order_list 参数说明 请求参数 请求参数:page&tabCode&…

短信PHP接口平台可以为企业带来哪些优势

短信验证码在我们的日常生活中可以说是无处不在,并且短信验证码目前在市场中已经得到了广泛的使用,这种验证方法可以保证注册人事实名认证,并且可以防止恶意注册,不过也有人觉得短信验证码有一些累赘,那么短信验证码真…

redhat7.9下tmux 3.4安装以及自定义配置

1.安装依赖 yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel 2.解压并编译安装 tar -zxvf tmux-3.4.tar.gz mkdir /opt/tmux-3.4 cd tmux-3.4/ ./configure --prefix/opt/tmux-3.4 make && make install#最后检查下 [rootlocalhost t…

Vue59 github案例 vue-resource版本

代码 List.vue <template><div class"row"><!-- 展示用户列表 --><div v-show"info.users.length" class"card" v-for"user in info.users" :key"user.login"><a :href"user.html_url&qu…

Sui主网升级至V1.32.2,enum功能正式上线

Sui主网现已升级至V1.32.2版本&#xff0c;同时协议升级至56版本&#xff0c;其他升级要点如下所示&#xff1a; 协议 #19199&#xff1a; 在主网上启用桥接功能。 #19031&#xff1a; 在主网上启用Move enums枚举功能。 索引器 #18899&#xff1a; 此PR修改了索引器数…

为什么期刊不允许已经录用的论文随意修改作者信息?

在学术出版的过程中&#xff0c;作者信息的准确性和透明度至关重要。有很多期刊会在期刊的作者指引中表明稿件在录用以后不能随意更改作者信息&#xff0c;期刊社通常对论文录用后的作者信息修改持谨慎态度。 为什么呢&#xff1f; 1. 确保学术诚信 作者名单不仅仅是一个名字…

如何在群晖NAS中安装HA平台并实现异地控制智能家居设备实战教程

文章目录 前言1. 下载HomeAssistant镜像2. 内网穿透HomeAssistant&#xff0c;实现异地控制智能家居3. 使用固定域名访问HomeAssistant 前言 HomeAssistant是一个可以控制苹果、小米、MQTT等设备的智能家居平台。本文首先介绍如何使用群晖NAS的Docker套件来安装HomeAssistant平…

新手小白都能一步到位的vector

目录 前言 1.vector的介绍 2.vector的部分使用 2.1(constructor)构造函数声明 2.2vector的遍历&#xff08;与string是相似的&#xff09; 2.3 vector容量空间 2.4vector的增删查改 3.vector的嵌套 结束语 前言 前面我们学习C的string部分&#xff0c;其中的接口&am…

ArcGIS展线/投线教程

1 制作CSV文件 必要字段&#xff1a;起始经度&#xff0c;起始纬度&#xff0c;终止经度&#xff0c;终止纬度4列&#xff0c;其他列可以选填。 2 加载表格数据 点击号在当前地图加载表格。 3 使用工具箱 找到工具箱 - 数据管理工具 - 要素 - XY转线。 填空即可。当然&…

Java Kafka生产者实现

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

mysql开启远程访问

个人建议mysql可以用宝塔自动下载安装。 远程访问&#xff0c; 1.关闭防火墙&#xff0c;确保ip能ping通 2.ping端口确定数据库能ping通 3.本地先连上去命令行修改远程访问权限。 mysql -u root -p use mysql; select user,host from user; select host from user where u…

IP地址怎样实现https访问

IP地址实现HTTPS访问的过程涉及一系列步骤&#xff0c;主要是为了确保网站的安全性和可信度。以下是实现IP地址HTTPS访问的关键步骤&#xff1a; 一、确认公网IP地址与权限 公网IP地址&#xff1a;确保你拥有一个公网IP地址&#xff0c;因为只有公网IP才能从互联网直接被客户…