攻防演练篇:攻防演练场景中面临的常见加密威胁-HTTP隐蔽隧道

news2024/11/10 17:20:07

1 概述

在网络安全领域,隐蔽隧道是一种基于主流常规协议将恶意流量伪装成正常通信起到夹带偷传数据、下发控制指令等作用,同时对数据进行加密以最大限度的规避网络安全设备检测的传输技术。由于隐蔽隧道更容易绕过网络安全设备的检测,因此黑客对其的使用越来越广泛,在攻防演练中,隐蔽隧道更是攻击中必不可少的一环,在攻击队完成初始打点后,通常会建立外联隐蔽隧道以维持内网权限,并进一步通过横向移动最终获得靶标,而隐蔽隧道的种类繁多,从协议的视角来看,常见的隧道种类有HTTP隧道、DNS隧道、ICMP隧道、SSH隧道、TCP隧道、UDP隧道等,这其中最为常见的当属HTTP隧道,所以了解HTTP隐蔽隧道的特点及其对应的黑客工具,对于防御方来说是至关重要的。

2 HTTP隧道详解

HTTP隧道是一种基于HTTP协议实现的网络隧道,可以将任意类型的网络流量通过HTTP协议的数据包进行传输,从而实现对网络流量的加密和隐藏,WebShell、代理转发、远控回连等场景都能看到HTTP隧道活跃的身影。HTTP隧道的主要特点包括:高效稳定、灵活隐蔽、适合加密,本文将详细介绍HTTP隧道的主要特点和常用工具。

2.1 HTTP隧道的主要特点

高效稳定:得益于作为隧道载体的HTTP协议成熟且强大,攻击者可以使用标准HTTP协议带来的一切便利,例如:简单请求-响应模式带来的稳定性、支持长连接与数据压缩带来的高传输性能与易于控制和管理等,这让它可以很容易的适用于不同类型的网络环境和应用场景。

灵活隐蔽:HTTP隧道良好扩展性带来的高度可定制化能力,它可以自由的将需要传输的数据放在HTTP请求/响应头或者HTTP载荷数据中的任意位置,不必局限于固定的某个字段,并且偷传数据的同时还可以伪装成正常的上网行为或者普通的HTTP业务流量,在网络基础设施高度发达的今天,还有CDN、云函数等正经业务被用作其保护伞,这种隐蔽性非常强,可以很好的避免其被流量检测设备和防火墙检测出来,有效提高了隧道通信的存活能力。

图 2-1 利用CDN传输数据

适合加密:HTTP隧道天生适合加密传输数据,因为HTTP协议本身就支持了URL编码、Base64编码、Gzip编码、Deflate编码、二进制编码、Multiformat编码等各式各样的加密、压缩与传输编码方式,所以在此之上再对数据进行一层从简单如XOR到复杂如AES的加密就让真实的攻击更难被与正常业务流量区分开来。不仅如此,HTTP隧道很多时候还可以披上TLS的外衣摇身一变成为HTTPS协议,这种嵌套加密技术成本极低,但检测难度却变的极大。

图 2-2 叠加了多种编码方式的加密数据

2.2 支持HTTP隧道的常用工具

攻击者常用的黑客工具很多都支持HTTP隧道功能:

1)Chaos:一款C2工具,客户端上线后能够执行Shell、截屏、文件上传下载、访问指定url等功能。通信只使用HTTP协议,两秒一次的心跳包,通信全程没有加密,部分内容使用了Base64编码。

2)CobaltStrike:Cobalt Strike是一款流行的渗透测试工具,由Raphael Mudge开发。它提供了一个高级的图形界面,可用于通过社会工程学技术、漏洞利用和后期特权升级攻击等手段入侵受控机器,并支持使用命令和控制服务器(C2)对受感染的主机进行远程控制。它支持动态HTTP隧道,即在隧道连接过程中可以更改隧道参数,增加隧道的安全性,同时具有丰富的配置选项,可以根据具体的攻击需求进行定制,包括端口号、请求头、响应头与各种编码、加密方式等。

3)Empire:Empire是一款开源的渗透测试工具,可用于生成、编码和部署各种类型的攻击负载(Payload),并通过HTTP/HTTPS等协议与攻击目标进行通信。 Empire提供了一个强大的命令行界面,可用于建立、配置和控制攻击载荷,支持模块化插件架构,使其可以轻松地扩展功能。这款工具结合了HTTP隧道与TCP隧道:木马发送HTTP请求时服务端会通过tcp返回指令内容,tcp载荷全部加密传输,当指令传输完毕,服务端会返回响应200,该响应的载荷也是加密的。

4)Octopus:Octopus旨在与C2进行通信时保持高度隐秘,它的第一次请求url是生成木马时自定义设置的,同时返回体中定义了aes-key、aes-iv、心跳时间以及后续使用的临时命令下发url与心跳url,在这之后将隧道使用AES-256的方式加密。在此之上还可以通过为C2服务器配置有效的证书以使用HTTPS加强隐秘性。

5)ABPTTS:ABPTTS是NCC Group在2016年blackhat推出的一款将TCP流量通过HTTP/HTTPS进行流量转发,在目前云主机的大环境中,发挥了比较重要的作用,可以通过脚本进行RDP,SSH,Meterpreter的交互与连接。这也意味着这样可以建立一个通过80端口的隧道流量出站来逃避防火墙。与其它http隧道不同的是,abptts是全加密。但是可惜的是,ABPTTS只支持aspx和jsp。

3 总结

由于HTTP隐蔽隧道拥有灵活且隐蔽的特性,传统字符串与弱特征匹配的检测方式容易被绕过,并且从单包和单会话层面想找到隧道的明显特点也非常困难。玖鼎软件科技安全研究团队经过研究发现,对于HTTP隧道,可以从隧道通信的行为本身,以及攻击者对HTTP协议的使用与正常业务的区别等方面挖掘特征进行检测。

玖鼎软件(ENS)-加密威胁智能检测系统针对HTTP隐蔽隧道流量,采用了机器学习的人工智能模型与多流行为检测模型等手段进行检测,可以准确识别HTTP隧道通信行为。

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

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

相关文章

unity安装配置和vs2022联动教程

目录 1.选择vs2022配置 2.安装unity 2.1安装unity hub 2.2注册个人账号 2.3安装编辑器 2.4修改为简体中文 2.5添加许可证 2.6安装位置修改 3.项目的创建 3.1如何创建 3.2如何选择 3.3配置语言 3.4去哪里找语言包 4.unity编辑器窗口的介绍 4.1游戏的运行和停止 4…

某讯/企鹅滑块验证码逆向(一)

文章目录 免责声明前言请求分析collect参数 总结 免责声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由…

C++竞赛初阶L1-15-第六单元-多维数组(34~35课)556: T456506 矩阵转置

题目内容 输入一个 n 行 m 列的矩阵 A,输出它的转置 AT。 输入格式 第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。1≤n≤100,1≤m≤100。 接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。 输出格…

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构&…

现代 Web 开发工具箱:Element-UI 表单组件全攻略(二)

现代 Web 开发工具箱:Element-UI 表单组件全攻略(二) 一 . Switch 开关控件1.1 Switch 组件的创建① 注册路由② 创建 Switch 组件 1.2 Switch 组件的属性① 开关的宽度② 开关 打开/关闭 的文字提示③ 开关打开或者关闭时候的值④ 开关打开或…

QT之QML学习四:Qt开启终端窗口,以及qml自定义Button聚焦矩形框去除

开发环境: 1、Qt 6.7.2 2、Pyside6 3、Python 3.11.4 4、Windows 10 前言:开启中端窗口的好处就是能够看到各种Debug信息以及能够看到各种报错信息。 默认是终端在软件内部开启的,这里我们开启在外部运行,这样运行时能够看的更…

mysql 8.0 时间维度表生成(可运行)

文章目录 mysql 8.0 时间维度表生成实例时间维度表的作用时间维度表生成技术细节使用时间维度表的好处 mysql 8.0 时间维度表生成实例 时间维度表的作用 dim_times(时间维度表)在数据仓库(Data Warehouse)中的作用至关重要。作为…

LabVIEW多语言支持优化

遇到的LabVIEW多语言支持问题,特别是德文显示乱码以及系统区域设置导致的异常,可能是由编码问题或区域设置不匹配引起的。以下是一些可能的原因及解决方案: 问题原因: 编码问题:LabVIEW内部使用UTF-8编码,但…

【计算机网络】HTTPHTTPS

HTTP&HTTPS HTTP协议初识HTTP如何抓包Fiddler的使用抓包查看包的信息 报文格式请求报文响应报文报文对比 URLHTTP方法认识Header初识状态码 HTTPS协议为什么需要 HTTPS加密基础知识HTTPS的工作流程引入对称加密引入非对称加密引入证书HTTPS 的工作流程 浏览器从输入URL到展…

GD32F4 LVD(低电压监测)功能使用

1、关于LVD功能的描述 LVD的功能是检测VDD/VDDA供电电压是否低于低电压检测阈值,该阈值由电源控制寄存器 (PMU_CTL)中的LVDT[2:0]位进行配置。LVD通过LVDEN置位使能,位于电源状态寄存器 (PMU_CS)中的LVDF位…

Kubernetes (k8s)v1.27.1版本安装步骤

这 一、k8s 安装步骤1.1 安装docker及containerd容器1.2、设置每台服务器的参数1.3、安装kubelet、kubeadm、kubectl1.4、修改 kubelet 的 cgroup 和 docker 的 cgroup-driver 保持一致1.5、使用containerd 默认容器的配置1.6、使用kubeadm进行初始化1.7、初始化成功1.8、集群部…

2024逼自己做AI副业!月入2w+!

最近,身边朋友都在为赚钱发愁,加上大环境不行,心里更慌了。 对大部分人来说,工资只能缓解**“没钱”的****恐惧**,却不能改变“没钱”的事实。 但是,有这么一群人,踩中了**“AI”风口&#xf…

Leetcode 每日一题:Word Ladder

写在前面: 今天我们来看一道图论的题,这道题目是我做过目前最难与图论联想到的一道题目之一。如果没有提示的话,我们很容易往 dp 等解决 array 问题的方向去解决它,经过我超过 2个小时的思考我觉得这种方向是没前途的&#xff5e…

【大模型实战篇】高质量数据过滤及一种BoostedBaggingFilter处理方法的介绍

1. 高质量数据过滤 1.1 背景介绍 数据质量对于大模型的训练至关重要,经常会听到一句话:数据决定模型的上限。模型的性能上限通常受到训练数据的质量限制。如果数据集不够好,模型可能无法学习到泛化的特征,导致其在新数据上的表…

深度学习——数据预处理,张量降维

目录 一、数据预处理1.1 读取数据集1.2 处理缺失值1.3 转换为张量类型 二、张量2.1 张量算法的基本性质2.1.1 两个形状相同的张量相加2.1.2 哈达玛积2.1.3 与标量相加或相乘 2.2 降维2.2.1 对所有行的元素求和来降维(轴0)2.2.2 对所有列的元素求和来降维…

ISO15693讲解

ISO15693 工作频率为13.56 MHz的非接触式智能标签卡芯片,该芯片主要针对包裹运送、航空行李、租赁服务以及零售供应链管理等物流系统应用所新研发设计的一系列RFID射频识别芯片。 需求图鉴: 使用TTL模组 串口打印:

Webstorm Idea 系列3分钟安装激活使用教程

1. 下载好自己需要的版本。 自行需要,其他相关idea也一样 2. 点击安装【傻瓜式的安装】 下一步> 选择自己的安装路径 > 下一步直到安装完成 3. go go 3.1 首次使用需要打开后立即关闭 3.2 选择指定的方式 3.3 提示成功 3.4 打开软件查看信息2099 3.5 异常提示 若提示以…

Facebook主页,广告账户,BM被封分别怎么解决?

我们在投放facebook广告的过程中,经常会遇到FB主页,广告账户和BM被封的情况,这三者有啥区别呢?遇到被封的情况又该如何解决,本篇文章会一次性说清楚Facebook主页,广告账户,BM分别是什么&#xf…

LabVIEW中AVI帧转图像数据

在LabVIEW中,有时需要将AVI视频文件的帧转换为图像数据进行进一步处理。下面详细讲解了如何从AVI视频提取单帧并将其转换为图像数据集群,以便与其他图像处理VI兼容。 问题背景: 用户已经拥有能够处理JPEG图像数据集群的VI,现在希…

【C#】自动升级工具

系列文章 【C#】最全业务单据号生成(支持定义规则、流水号、传参数) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:https…