内网渗透—隧道搭建Ngrok与Frp内网穿透

news2025/2/9 3:48:25

这里写目录标题

  • 1. 前言
    • 1.1. 隧道技术介绍
    • 1.2. 代理技术介绍
      • 1.2.1. 正向代理
      • 1.2.2. 反向代理
      • 1.2.3. 透明代理
      • 1.2.4. 正向代理与透明代理区别
  • 2. 内网穿透
    • 2.1. Ngrok
      • 2.1.1. 访问Ngrok
      • 2.1.2. 代理设置
        • 2.1.2.1. 开通代理
        • 2.1.2.2. 配置隧道
        • 2.1.2.3. 下载客户端
      • 2.1.3. 配置客户端
        • 2.1.3.1. 添加执行权
        • 2.1.3.2. 隧道连接
      • 2.1.4. 生成木马
        • 2.1.4.1. 配置木马生成监听器
        • 2.1.4.2. 配置上线监听器
      • 2.1.5. 查看上线情况
      • 2.1.6. 总结
    • 2.2. Frp
      • 2.2.1. Frp下载
      • 2.2.2. 修改相关配置
        • 2.2.2.1. 服务端配置
        • 2.2.2.2. 客户端配置
      • 2.2.3. 查看运行情况
      • 2.2.4. 生成木马
        • 2.2.4.1. 配置木马生成监听器
        • 2.2.4.2. 配置上线监听器
      • 2.2.5. 查看上线情况
      • 2.2.6. 流程介绍
  • 3. 总结

1. 前言

  在内网渗透过程中会遇到很多的内网主机不能访问外网主机,或者做了很多的限制。导致我们的后门木马无法上线,而这时候就需要根据具体的显示是使用DNS隧道还是ICMP隧道以及其它的隧道技术,或者是使用内网穿透,使其内网主机穿透防火墙的限制,访问外网。

1.1. 隧道技术介绍

  简单来说隧道技术就是解决通信上的问题,例如防火墙的限制,或者某个协议或端口被限制,这类隧道技术主要就是借用不同的协议以及不同的端口来绕过防火墙的限制,以实现内网主机与外网主机的连接。

1.2. 代理技术介绍

  代理技术主要是用于解决两个网络不通信的情况,不管是正向代理还是反向代理以及透明代理,它们都是解决两个网络不通的情况,使其原本不互通的网络能实现通信。

  同时代理技术还可以隐蔽访问者的信息,因为在通信过程中,实际上是代理服务器去对服务器进行访问,而不是主机直接去访问服务器,所以留在服务器上的访问信息实际上是代理服务器的IP地址。

1.2.1. 正向代理

  正向代理,一般情况下代理技术默认就是采用正向代理,正向代理主要是位于用户主机与服务器之间的一个正向代理服务器,原先用户主机直接与服务器是不互相通信的,由于可能被设置了一些策略导致无法进行互相访问。

  简单来说就是用户主机是一个局域网,服务器是一个局域网,两个局域网直接能够互相通信吗?就类似于在同一个网络中不同的两个网段,本质上是无法互相通信的,那么想要实现通信就需要设置路由,让路由器或者三层交换机去转发流量,相当于用户主机将请求的IP信息发送给路由器,让路由器去寻找目标。

  而这里的正向代理服务器也相当于是充当了这个路由器,用户主机将数据交给正向代理服务器,让正向代理服务器去寻找服务器,服务器处理正向代理的数据,然后正向代理将服务器的相应结果再转发给用户主机,形成互相通信。而这里正向代理是用户利用正向代理服务器向服务器发送请求。

在这里插入图片描述

1.2.2. 反向代理

  反向代理,简单来说就是用户将流量请求发送到反向代理服务器上,然后反向代理服务器接收到请求后,反向代理服务器再构建请求流量,转交给服务器进行处理,处理结束后,服务器再将处理结果转交给反向代理服务器,反向代理服务器再构建请求相应交给客户端,在这个过程中,反向代理服务器对于用户来说就是真实的服务器,但是对于服务器来说,反向代理服务器是代替服务器向用户服务。

在这里插入图片描述

1.2.3. 透明代理

  透明代理和正向代理管理行为上和相似,首先用户将数据提交给服务器的过程中,透明代理服务器会将数据进行拦截,然后透明代理服务器会代为去访问服务端,然后将响应结果转交给用户主机,而且这个过程中用户是毫无感觉的,以为是访问真实的服务器,实则,这个数据包早就被透明代理给替换了,同时透明代理还可以用于监控用户访问的信息,像上网行为管理多数就是采用这中代理模式。

  同时透明代理在访问过程中请求的IP信息是会发送真实的IP信息,而且透明代理去拦截的时候,只是代为发送数据包信息,并不会修改你的请求参数,当然加密的透明代理是属于匿名代理。

在这里插入图片描述

1.2.4. 正向代理与透明代理区别

  正向代理:正向代理用户需要做相应的配置,用户明确知道自己实际上通过正向代理去访问服务器。

  透明代理:透明代理用户无需做相应的配置,用户在访问服务器的时候,以为整个过程是自己完成的,实际上是由透明代理去替其访问的,整个过程对于用户来说是无感的。

2. 内网穿透

  其实内网穿透就是采用代理来解决互相不通信的问题,而隧道技术本质上是能够通信的,但由于某些情况下被防火墙的策略限制,而无法通信所以才需要使用到隧道技术。

那么就出现以下情况:

目标有公网出口,攻击机无公网出口,反向木马无法上线,正向木马能上线。

目标无公网出口,攻击机有公网出口,反向木马能上线,正向木马无法上线。

目标无公网出口,攻击机无公网出口,反向、正向均无法上线,多数情况下都是这种情况。

2.1. Ngrok

  由于个人理解,这里如果方向或流程说错了,请大佬指点!!!!

  Ngrok的主要原理是反向代理,具体的流程按木马上线的流程来说吧!

  首先攻击机与代理服务器建立隧道连接,将木马生成为代理服务器的IP地址与端口,再将木马发送给目标主机,目标主机上线后会反弹shell到代理服务器的IP与端口,而代理服务器会将反弹shell发送到本地,这个就是整个流程。

  在这个过程中,目标主机全程不知道攻击机的IP地址,相当于目标主机也就变成了用户机,攻击机变成了服务器,目标主机去访问服务器的时候,实际上是访问的代理服务器,代理服务器将数据再转发给攻击机,所以也就是反向代理。

在这里插入图片描述

2.1.1. 访问Ngrok

  由于现在Ngrok需要使用到实名认证,所以看需求吧!!

  Ngrok

2.1.2. 代理设置

  这里如果不会看官方手册,很详细!!

2.1.2.1. 开通代理

  这里我们就使用免费的隧道来做演示,但是免费的隧道终归比较差,所以这里只是演示,如果在实际测试中,还是花点小钱吧!!可能这里有点冲突了,买云服务器也要钱,买代理也要钱,难搞!!!

在这里插入图片描述

2.1.2.2. 配置隧道

  购买后,就会出现开通隧道,这里配置以下即可,端口随便填,会出现可用端口,选择一个即可,本地端口中的IP要输入你攻击机的本地地址以及一个端口。

在这里插入图片描述

2.1.2.3. 下载客户端

  这里就能够看到一些详细的信息了,这时候就需要下载客户端了,由于使用cs作为测试,那么就需要下载Linux客户端,点击客户端下载,找到相应的系统以及版本即可。

在这里插入图片描述

2.1.3. 配置客户端

  到这里我们就需要配置客户端了。

2.1.3.1. 添加执行权

  我们下载的Linux会得到一共文件,但是这个文件没有执行权,这里我们添加给文件添加一个执行权。

在这里插入图片描述

2.1.3.2. 隧道连接

  我们在前面添加执行权后,就可以进行连接了,连接后可以刷新以下状态,可以看到成功上线。

./sunny clientid 隧道ID

在这里插入图片描述

在这里插入图片描述

2.1.4. 生成木马

  隧道建立成功了,这里我们尝试使用CS去创建一个后门木马,这里我们需要配置两个监听器,一个是用于生成后门木马,一个用于监听。

2.1.4.1. 配置木马生成监听器

  下面这个就是用于生成木马的监听器,这里的ip地址一定要是域名解析后的IP地址,端口使用的是上面提示的端口,也就是你创建隧道的时候出现让你填的端口,不是本地端口哦!!

在这里插入图片描述

2.1.4.2. 配置上线监听器

  这里我们再配置一个上线监听器,这里监听的端口就是本地端口,由于后门木马去连接地址后,会将流量转发到本地。

在这里插入图片描述

2.1.5. 查看上线情况

  想必生成木马应该不用说了吧,挺简单的,这里就不说怎么生成了,这里直接看上线结果,可以看到这里是成功上线了,而且kail客户端也产生了相应的流量。

在这里插入图片描述

2.1.6. 总结

  关于Ngrok代理,使用起来确实挺方便的,但是功能较少,对于内网情况较为复杂的时候,可能不是那么的好用,如果是MSF上线,那么更简单,可以使用TCP或者http的,如果是http,生成木马的时候回连地址直接填写域名,端口默认80,本地监听的依旧是与服务器相连的端口,可以自己去看看。

2.2. Frp

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

  注意Frp需要使用到一台云服务器,服务端需要安装在云服务器上,客户端安装在本地。

2.2.1. Frp下载

  具体的可以访问下面地址看具体的介绍,由于我是Linux的,我就下载Linux的。

  Frp中文介绍

  Frp下载

在这里插入图片描述

2.2.2. 修改相关配置

  具体的流程看下面,因为先配置完后在去理解流程。

2.2.2.1. 服务端配置

  这里提前将相关的文件上传至云服务器中,然后修改云服务器中的Frp配置文件,这里修改的端口,需要在云服务器上进行放通哦,避免出现无法连接的情况。

chmod +777 frps ##给予执行权限
vim frps.ini    ##修改端口
	[common]
	bind_port = 7000  ##开放服务器上的一个端口即可
	
./frps -c ./frps.ini ##启动服务端

在这里插入图片描述

2.2.2.2. 客户端配置

  注意这里,是以建立代理隧道为主,可能在网上有很多其它的配置,哪些是以提供服务而做的配置,想法不通的,不要混淆。

chmod +777 frpc ##给予执行权限
vim frpc.ini    ##修改端口
	[common]
	server_addr = 124.XX.XX.62   ##云服务器地址
	server_port = 7000    ##frpc工作端口,与服务端保持同步

	[ssh]  ##名字不用管
	type = tcp
	local_ip = 127.0.0.1 ##本地地址,当然如果存在多个IP,最好定义一下具体的IP。
	local_port = 5656    ##转发到本机的5656端口
	remote_port = 6000   ##服务端6000端口来转发给本机
	
./frpc -c ./frpc.ini ##启动客户端

在这里插入图片描述

2.2.3. 查看运行情况

  这里在服务端就能够看到相关的数据流量了。

在这里插入图片描述

2.2.4. 生成木马

  这里监听器还是一样,需要创建两个,一个是用于生成后门木马,一个用于监听。

2.2.4.1. 配置木马生成监听器

  这里我们连接的IP地址需要是云服务器的IP地址,端口是6000,也就是刚刚在客户端的配置文件中修改的那个转发端口。

在这里插入图片描述

2.2.4.2. 配置上线监听器

  这里监听的地址是本地地址,监听的端口是刚刚配置接收6000转发过来的数据端口。

在这里插入图片描述

2.2.5. 查看上线情况

  可以看到,服务端有流量过来,同时也成功上线。

在这里插入图片描述

2.2.6. 流程介绍

  攻击机的7000端口与云服务器的7000端口互相连接形成隧道,然后木马反弹shell到云服务器的6000端口,云服务器将6000端口转发到攻击机的5656端口上,攻击机监听本地的5656端口来接收shell。

在这里插入图片描述

3. 总结

  这里只是介绍了两个,其实还有几个,后门几个将在下篇文章中提到。

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

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

相关文章

P20[6-8]编码器接口测速(软)

与外部中断编码器逻辑不同,此处编码器使用的是定时器方法 1.Encoder编码器部分: #include "stm32f10x.h" // Device header void Encoder_Init(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB2PeriphClockCm…

吐血整理,自动化测试场景处理(多场景覆盖)+解决方案

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、添加时间等待 …

53.最大子数组和

贪心算法 时间复杂度:代码中只有一个循环,循环次数为数组的长度,因此时间复杂度为 O(n),其中 n 是数组的长度。空间复杂度:代码中只使用了常数级别的额外空间,因此空间复杂度为 O(1)。 这段代码使用贪心算…

QT C++入门学习(2) QT Creator写一个简单的上位机控制LED

上位机和下位机的概念 上位机:指的是可以直接发送操作指令的计算机或者单片机,一般提供用户操作交互界面并向用户展示反馈数据。 典型设备:电脑、平板、手机、面板、触摸屏 下位机:指的是与机器相连接的计算机或者单片机&#…

Studio 3T 2023.5 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端

Studio 3T 2023.5 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端 请访问原文链接:https://sysin.org/blog/studio-3t-2023/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Studio 3T,M…

黑客松必备|Bear Necessities Hackathon Office Hours汇总

由Moonbeam和AWS Startups联合主办的Bear Necessities Hackathon黑客松启动仪式已于5月30日举行。本次黑客松将历时约1个月的时间,包含6个挑战,分别由Moonbeam基金会、Chainlink、StellaSwap、SubQuery、Biconomy提供赞助,总奖池超过5万美金。…

面试软件测试时,面试官最想听到的答案是什么?

问题:面试软件测试时,面试官让你测一个软件,比如朋友圈,或者让你测试你的电脑为什么打不开网页,而QQ可以打开之类的,他最想听到的答案是什么? 如上所述,在实际面试中,面试…

懂点测试基础就敢要17k? 面试官:最多8K,多一分都没有...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-25k,面试的人很多,但平均水平很让人失望。看简历很多都是3年工作经验,但面试…

Java泛型的使用

1.什么是泛型? 所谓泛型,就是允许在定义类、接口时通过 一个标识 表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时&#…

5.Opencv-图像滤波(均值,方框,高斯,中值,双边滤波)

常见的图像滤波操作有: 均值滤波(cv2.blur) 方框滤波(cv2.boxFilter) 高斯滤波(cv2.GaussianBlur) 中值滤波(cv2.medianBlur) 双边滤波(cv2.bilateralFilter…

电脑小白不要错过这五款小众但强大的软件

电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。 多语言翻译——QTranslate QTranslate是一款实用的多语言翻译工具。它可以在任何应用程序中选中文本&#…

【C++】模版进阶

目录 一、非类型模版参数二、模板的特化1、概念2、函数模版特化3、类模板特化1.全特化2.偏特化3.类模板特化应用示例 三、模版分离编译1、什么是分离编译2、模板的分离编译3、模板的优缺点 一、非类型模版参数 模版参数分为类型模版参数与非类型模版参数 类型模版参数&#x…

一定要看!带你选择适合自己的测试工具

目录 前言: Jmeter实现接口请求JSON断言 Postman接口请求断言 前言: 选择适合的测试工具对于测试人员和测试项目的成功非常重要。不同的测试工具都有其独特的优缺点,而且每个项目的需求也不尽相同。因此,在选择测试工具时&#…

使用vitepress快速搭建个人网站或官方文档网站

使用vitepress快速搭建个人网站或官方文档网站 1. vitepress是什么? 官方首页的介绍, 翻译过来就是,vite和vue组成的强大的静态网站构造器。简单、强大和快速,是你一直想要的SSG(Static Site Generator)框架。 官网地址&#…

python mitmproxy抓包库

一.简介 mitmproxy是一款用Python编写的支持HTTP(S)的中间人代理工具。它可以拦截、查看、修改、重放和保存HTTP/HTTPS流量 ,支持命令行界面和图形界面,可用于安全测试、网络调试、API开发和反向工程等场景。mitmproxy具有很高的灵活性和扩展性&#xf…

GUT|IF30+的联合分析文章:宏基因加代谢组

● 代谢组学是基于LC-MS/MS液质联用技术对生物样本中的小分子代谢物进行定性和相对定量分析; ● 宏基因组-代谢组的联合分析可以用来解释差异菌群与差异代谢物的关联性; ● 从而帮助建立微生物-代谢物-表型之间的逻辑关系。 凌恩生物的宏基因组学引入了…

JS:yFiles for HTML Complete 2.5.0 Crack

yFiles for HTML Complete 是市场上最先进、最完整的图表解决方案。我们强大而灵活的 API 提供了广泛的功能——开箱即用。只需选择最符合您需求的那些。 适用于每个用例的布局 从大量预定义的布局中进行选择并配置它们以完美地适应手头的任务。 yFiles 提供业内最广泛的高质量…

Sentinel与Hystix的线程隔离有什么差别

线程隔离有两种方式实现: 线程池隔离(hystix 默认采用) 优点:支持主动超时,支持异步调用 缺点: 线程的额外开销比较大 场景: 低扇出(服务A调用服务B这种简单的调用)信号…

新能源共享叉车充电桩管理系统设计思路

一、充电桩系统设计思路 1、总后台端,电脑版 1.1运营商管理。后台可以添加运营商,运营商可以添加无限添加充电站、充电桩、站点合伙人、充电操作员等,运营商、站点合伙人均有独立的后台入口,可以管理和查看与当前运营商相关充电站…

测试行业干了6年,从只会点点点到了现在的测试开发,总算是证明了自己

测试不止是点点点 我感觉我是一个比较有发言权的人吧,我在测试行业摸爬滚打6年,以前经常听到开发对我说,天天的点点点有意思没? 和IT圈外的同学、朋友聊起自己的工作,往往一说自己是测试,无形中也会被大家…