网络安全攻防对抗之隐藏通信隧道技术整理

news2024/11/20 18:48:21

        完成内网信息收集工作后,渗透测试人员需要判断流量是否出得去、进得来。隐藏通信隧道技术常用于在访问受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输。

一、隐藏通信隧道基础知识

(一)隐藏通信隧道概述

        一般的网络通信,先在两台机器之间建立TCP连接,然后进行正常的数据通信。在知道IP地址的情况下,可以直接发送报文;如果不知道IP地址,就需要将域名解析成IP地址。在实际的网络种,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接的情况,如果发现异常,就会对通信进行阻断。

        什么是隧道?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或者端口进行封装,然后穿过防火墙,与对方进行通信。当被封装的数据包到达目的地,将数据包还原,并将还原后的数据包发送到相应的服务器上。

        常见的隧道列举如下:

  1. 网络层:IPv6隧道、ICMP隧道、GRE隧道
  2. 传输层:TCP隧道、UDP隧道、常规端口转发
  3. 应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道

(二)判断内网的连通性

1. ICMP协议

        ping www.baidu.com

2. TCP协议

        netcat被誉为网络安全界的“瑞士军刀”,是一个短小精悍的工具,通过使用TCP或UDP协议的网络连接读取数据。

        nc -zv www.baidu.com 443

3. HTTP协议

        使用curl命令测试

        curl 百度一下,你就知道

4. DNS协议

        使用nslookup或者dig测试DNS连通性

        dig @vps-ip www.baidu.com

二、网络层隧道技术

(一)IPv6隧道

        IPv6隧道技术是指通过IPv4隧道技术传送IPv6数据报文的技术。

        支持IPv6的隧道工具:socat、6tunnel、nt6tunnel等。

(二)ICMP隧道

        ICMP隧道见到、实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ICMP消息为ping命令的回复,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相对应的回复与请求。

        在一些网络环境中,如果攻击者使用各类上层隧道(比如HTTP隧道、DNS隧道等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(如果防火墙屏蔽了ping数据包,则此方法也不行),实现不受限制的网络访问。

        常用的ICMP隧道工具有icmpsh、pingtunnel、icmptunnel、powershell icmp等。

        下面是一个测试pingtunnel的实验:

https://blog.csdn.net/u013930899/article/details/132943025?spm=1001.2014.3001.5501

三、传输层隧道技术

        传输层技术包括TCP隧道、UDP隧道和常规端口转发等。在渗透测试中,如果内网防火墙阻止了对指定端口的访问,在获得目标机器的权限后,可以使用IPTABLES打开指定端口。如果内网中存在一系列防御系统,TCP、UDP流量会被大量拦截。

        传输层隧道技术常用的工具有lcx端口转发、netcat、PowerCat等。

四、应用层隧道技术

        在内网中建立一个稳定、可靠的数据通道,对渗透测试工作来说具有重要的意义。应用层的隧道通信技术主要利用应用软件提供的端口来发送数据。常用的隧道协议有SSH、HTTP、HTTPS和 DNS。

        HTTP服务代理用于将所有的流量转发到内网。常见的代理工具有reGeorg、meterpreter、tunna等。

        reGeorg的主要功能是把内网服务器端口的数据通过HTTP/HTTPS隧道转发到本机,实现基于HTTP协议的通信。reGeorg脚本的特征非常明显,很多杀毒软件都会对其进行查杀。

        dnscat2使用DNS协议创建加密的C&C通道,通过预共享密钥进行身份验证;使用shell及DNS查询类型(TXT、MX、CNAME、A、AAAA),多个同时进行的会话类似于SSH中的隧道。

        iodine可以通过一台DNS服务器制造一个IPv4数据通道,特别适合在目标主机只能发送DNS请求的网络环境中使用。

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

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

相关文章

Python图像融合处理和 ROI 区域绘制基础

文章目录 一、图像融合二、图像 ROI 区域定位三、图像属性3.1 shape3.2 size3.3 dtype四、图像通道分离及合并4.1、split()函数4.2 merge()函数五、图像类型转换一、图像融合 图像融合通常是指多张图像的信息进行融合,从而获得信息更丰富的结果,能够帮助人们观察或计算机处理…

微服务保护-隔离

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

SOAP WebService 发布服务成功,但是访问404

原因 我这里是出在路由问题,因为一般我们都会配置WebServiceConfig,WebServiceConfig里又会定义ServletRegistrationBean,用于将一个Servlet注册到Web应用程序中,这里会配置上路径,如下: 但是项目有可能在…

再战SDRAM与资料整理。

总之只要阅读操作手册,按照时序来,完全不难! 器件记录: 小梅哥AC620上SDRAM:M12L2561616A-6TG2T 其的存储空间为16M*16256MB,第二行的数字则与其速度等级有关;其分为: 4bank*16bit…

NLP(6)--Diffusion Model

目录 一、Flow-Based General Model 1、概述 2、函数映射关系 3、Coupling Layer 4、Glow 二、Diffusion Model 1、概述 2、前向过程 3、反向过程 4、训练获得噪声估计模型 5、生成图片 三、马尔科夫链 一、Flow-Based General Model 1、概述 Flow-Based General…

C 通过宏定义重定义malloc - free,预防内存泄露

系列文章目录 C模版基础 文章目录 目录 代码地址 相关说明 使用案例 代码地址 GitHub - CHENLitterWhite/CPPWheel: CPP自封装的库 /* * 作者: 干饭小白 * 时间: 2023-09-25 16:00:00:00 * * 说明: * 只能检测 malloc 和 free,无法检测 new delete */ #pra…

[Linux入门]---Linux指令②

文章目录 Linux系统常用指令1.man指令2.echo3.cp指令(重要)4.mv指令(重要):5.alias指令6.cat指令7.more指令8.less指令(重要)9.head指令10.tail指令11.时间相关的指令1.在显示方面2.在设定时间方…

Redis环境配置

【Redis解压即可】链接:https://pan.baidu.com/s/1y4xVLF8-8PI8qrczbxde9w?pwd0122 提取码:0122 【Redis桌面工具】 链接:https://pan.baidu.com/s/1IlsUy9sMfh95dQPeeM_1Qg?pwd0122 提取码:0122 Redis安装步骤 1.先打开Redis…

OpenAI开发系列(二):大语言模型发展史及Transformer架构详解

全文共1.8w余字,预计阅读时间约60分钟 | 满满干货,建议收藏! 一、介绍 在2020年秋季,GPT-3因其在社交媒体上病毒式的传播而引发了广泛关注。这款拥有超过1.75亿参数和每秒运行成本达到100万美元的大型语言模型(Large …

【力扣周赛】第 362 场周赛(⭐差分匹配状态压缩DP矩阵快速幂优化DPKMP)

文章目录 竞赛链接Q1:2848. 与车相交的点解法1——排序后枚举解法2——差分数组⭐差分数组相关题目列表📕1094. 拼车1109. 航班预订统计2381. 字母移位 II2406. 将区间分为最少组数解法1——排序贪心优先队列解法2——差分数组 2772. 使数组中的所有元素…

加密算法发展简介

1:对称加密算法 客户端加密数据和服务端解密数据,使用的相同的秘钥: 固定秘钥:双方约定好一个固定秘钥; 随机秘钥:双方约定每次建立连接的时候,某固定BYTE为秘钥; 缺点&#xff1a…

【MySQL】 MySQL数据库基础

文章目录 🐱‍👓数据库的操作📌显示当前的数据库📌创建数据库🎈语法:🎈语法说明🎈示例: 🌴使用数据库🎋删除数据库🐱‍🏍语…

sql注入Less-2

后台sql s q l " S E L E C T ∗ F R O M u s e r s W H E R E i d sql "SELECT * FROM users WHERE id sql"SELECT∗FROMusersWHEREidid LIMIT 0,1"; 注入语句 http://192.168.200.26/Less-3/?id-1? union select 1,2,database();– 使用id-1 便可…

JavaScript中的Hoisting机制

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript 中的 Hoisting 机制⭐ 变量提升⭐ 函数提升⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xf…

LVS+Keepalived 高可用集群

LVSKeepalived 高可用集群 1、Keepalived工具介绍2、vrrp协议(虚拟路由冗余协议)2.1vrrrp是什么?2.2vrrp工作过程2.3Keeplived、VRRP及其工作原理2.4Keepalived体系主要模块 3、搭建LVSKeepalived 高可用集群 1、Keepalived工具介绍 支持故障…

MFC-GetSystemFirmwareTable获取系统固件表

获取ACPI表格 void CgetSystemFirmwareTableDlg::OnBnClickedButton1() {//UINT bufferSize GetSystemFirmwareTable(ACPI, 0, NULL, 0);//获取系统固件表/*【参数3和参数4为NULL和0,只是为了返回真实大小】这个函数可以用来获得系统中的各种固件信息,如…

MySQL中SQL语句执行顺序分析

1、 MySQL手写执行顺序 2、 MySQL机读执行顺序 随着Mysql版本的更新换代,其优化器也在不断的升级,优化器会分析不同执行顺序产生的性能消耗不同而动态调整执行顺序。下面是经常出现的查询顺序:

SpringBoot使用Mybatis查询数据

1.创建工程 说明:创建springboot工程,数据库表book,实体类Book 1.1创建项目 1.2 勾选相应的配置 1.3数据表book 说明:创建了book表,添加了id,type,name,description字段。 1.4创建Book实体类 说明:生成…

微服务保护-流控效果

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

【AI】推理系统和推理引擎的整体架构

本文主要是对 B 站 Up 主 ZOMI酱 推理系统系列视频 的理解,可以认为是重点笔记。 一、深度学习模型的全生命周期 相信很多人和我一样,刚看到深度学习模型中的推理系统或推理引擎时是一头雾水,因为学习 DL 时通常关注于模型的设计和训练。下图…