內網穿透工具FRP的使用


內網穿透工具FRP的使用

FRP

FRP(Fast Reverse Proxy) 是一款簡單,好用,穩定的隧道工具。FRP 使用 Go 語言開發,它是一款高性能的反向代理應用,可以輕松地進行內網穿透,對外網提供服務。FRP 支持 TCP、UDP、KCP、HTTP、HTTPS等協議類型,並且支持 Web 服務根據域名進行路由轉發。在進行內網滲透中,FRP是常用的一款隧道工具。

目錄

  • 使用FRP建立隧道

  • 使用FRP映射Web服務

  • 使用FRP映射3389端口

0x01 使用FRP建立隧道

現在有這么一個場景,我們獲得了一個位於內網的通過NAT方式對外提供服務的主機的權限,現在我們需要對其所在的內網繼續進行滲透。於是,我們就需要通過FRP建立一個隧道,讓我們的主機可以通過隧道訪問其內網。

服務端

我們的vps作為服務端,服務端啟動:frps.exe -c frps.ini ,服務端的配置frps.ini 如下

[common]
bind_addr = 0.0.0.0        #綁定的ip,為本機
bind_port = 17000          #綁定的端口
dashboard_addr = 0.0.0.0   #管理地址
dashboard_port = 27500     #管理端口
dashboard_user = root      #管理的用戶名
dashboard_pwd  = 123456    #管理用戶的密碼
token = 1q2w3e             #客戶端服務端連接的密碼
heartbeat_timeout = 90     #心跳超時時間
max_pool_count = 5         #最大同時連接數

客戶端

被控的主機作為客戶端,客戶端啟動:frpc.exe -c frpc.ini ,客戶端的配置文件frpc.ini 如下

[common]
server_addr = 100.20.14.14
server_port = 17000           #服務器綁定的端口
token = 1q2w3e                #連接的密碼
pool_count = 5        
protocol = tcp                #協議類型
health_check_type = tcphealth_check_interval_s = 100
[test]
remote_port = 10000           #代理的端口
plugin = socks5               #使用的協議
use_encryption = true         #是否加密
use_compression = true

訪問 http://100.20.14.14:27500 ,用 root 123456 登錄,查看TCP。說明隧道搭建完成

0x02 使用FRP映射Web服務

現在有這么一個場景,位於內網的主機需要對外提供Web服務,於是將內網主機的80端口映射到公網主機的80端口上

服務端

位於公網的主機作為服務端,服務端啟動:frps.exe -c frps.ini ,服務端的配置frps.ini 如下

[common]bind_addr = 0.0.0.0        #綁定的ip,為本機
bind_port = 17000          #綁定的端口
dashboard_addr = 0.0.0.0   #管理地址
dashboard_port = 27500     #管理端口
dashboard_user = root      #管理的用戶名
dashboard_pwd  = 123456    #管理用戶的密碼
token = 1q2w3e             #客戶端服務端連接的密碼
heartbeat_timeout = 90     #心跳超時時間

客戶端

位於內網的主機作為客戶端,客戶端啟動:frpc.exe -c frpc.ini ,客戶端的配置文件frpc.ini 如下

[common]server_addr = 100.20.14.14
server_port = 17000           #服務器綁定的端口
token = 1q2w3e                #連接的密碼
[HTTP] type=tcplocal_ip = 127.0.0.1          #本地ip地址
local_port = 80               #要映射的本地端口
remote_port = 80              #要映射的服務端端口
custom_domains=www.test.com   #這個必須要寫

訪問 http://100.20.14.14:27500 ,用 root 123456 登錄,查看TCP。說明隧道搭建完成

然后訪問http://100.20.14.14就是相當於訪問位於內網的主機 http://192.168.10.10了

0x03 使用FRP映射3389端口

現在有這么一個場景,我們獲得了位於內網的一台主機的權限,並且知道了他的登錄用戶名和密碼。他的3389端口只對內網開放,現在我們需要將該主機的3389端口映射到公網我們的VPS的3389端口,那樣,我們連接我們VPS的3389端口就相當於連接內網主機的3389端口了

服務端

位於公網的VPS作為服務端,服務端啟動:frps.exe -c frps.ini ,服務端的配置frps.ini 如下:

[common]bind_addr = 0.0.0.0        #綁定的ip,為本機
bind_port = 17000          #綁定的端口
dashboard_addr = 0.0.0.0   #管理地址
dashboard_port = 27500     #管理端口
dashboard_user = root      #管理的用戶名
dashboard_pwd  = 123456    #管理用戶的密碼
token = 1q2w3e             #客戶端服務端連接的密碼
heartbeat_timeout = 90     #心跳超時時間

客戶端

位於內網的主機作為客戶端,客戶端啟動:frpc.exe -c frpc.ini ,客戶端的配置文件frpc.ini 如下:

[common]
server_addr = 100.20.14.14
server_port = 17000
token = 1q2w3e
[test]
type=tcplocal_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

訪問 http://100.20.14.14:27500 ,用 root 123456 登錄,查看TCP。說明隧道搭建完成

注:使用FRP映射其他服務,例如SSH、Mysql、Redis等服務都是和映射web、RDP服務一樣,修改一下要映射的端口即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM