內網穿透工具frp學習


前言

因為自己在內網,但是目標站在外網,這時候可以通過內網穿透工具,將接收到的請求轉發到內網,實現在內網的msf可以控制外網的靶機。

也看了一些Ngrok,花生殼的,發現Ngrok.cc這個看文章說有的時候代理太慢,但是自己配置Ngrok太過復雜,看到frp,發現操作非常的簡單,這里來搭建學習

frp介紹

frp 是一個可用於內網穿透的高性能的反向代理應用,支持 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支持了點對點穿透。

搭建

服務端

frp程序地址:

https://github.com/fatedier/frp/releases

我在我的cent7的vps上搭建

服務端配置

wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar
tar -zxvf frp_0.32.1_linux_amd64.tar.gz
cd frp_0.32.1_linux_amd64
rm -rf frpc*

這里有區分服務端和客戶端,frpc就是客戶端,frps就是服務端

frps.ini配置

[common]
bind_port = 7100
dashboard_port = 7500
dashboard_user = xx
dashboard_pwd = xx

其中dashboard是可視化的觀察頁面

運行

./frps -c frps.ini

客戶端

在kali上搭建

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.32.1_linux_amd64.tar.gz
tar -zxvf frp_0.32.1_linux_amd64.tar.gz
cd frp_0.32.1_linux_amd64
rm -rf frps*

frpc.ini配置客戶端,將本地的80端口映射到外網的7200端口上

[common]
server_addr = xxx
server_port = 7100

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port=7200

啟動客戶端

./frpc -c frpc.ini

訪問

這里訪問公網IP的7200端口,目錄下有默認的index.html,並且我在網站目錄下放置了a.php

 

訪問成功,並且速度非常的快。

如果看以前的教程的話,可以發現是沒有systemd目錄的,這個目錄可以將frp配置成服務啟動。

設置如下:

vim /usr/lib/systemd/system/frp.service

[Unit]
Description=frp service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 服務端
ExecStart=/home/ubuntu/frp/frps -c /home/ubuntu/frp/frps.ini
# 客戶端
# ExecStart=/root/frp/frpc -c /root/frp/frpc.ini

[Install]
WantedBy=multi-user.target

只需要修改一個路徑ExecStart即可。配置完后,就可以用如下命令來控制frp,非常的方便。

systemctl daemon-reload
service frp start
service frp restart
service frp stop

dashboard可視化就可以用來監控流量協議等

反向socks代理

上面是之前寫的了,上文描述的是在內網使用msf的時候可以用到frp的端口映射,但是frp也可以直接用來做反向socks代理,在從外網滲透到內網,在跳板機上可以用到,相比於msf的路由轉發、cs的socks代理更穩定點

服務端配置:

[common]
bind_port = 7100 #連接端口
dashboard_port = 7500 #圖形化管理端口
dashboard_user = test
dashboard_pwd = test61
token = yunyingfrp #客戶端連接密碼

./frps -c frps.ini

客戶端配置:

[common]
server_addr = x.x.x.x
server_port = 7100
token = yunyingfrp

[socks5_proxy]
type = tcp
remote_port =7777
plugin = socks5
#use_encryption = true         #是否加密
#use_compression = true

./frpc -c frpc.ini

socks5代理:

這時候就可以將vps的7777端口作為socks5代理服務器地址。

當連接vps 7777后通過端口轉發映射傳輸數據到內網開啟frp的主機上,相當於一個內網主機與vps間開了一個隧道,使我們可以通過這套反向代理將數據直達內網,使我們可以訪問到內網

瀏覽器設置代理socks5 vps_ip 7777

訪問內網web地址

當然這時候也可以通過proxifier設置socks5代理服務器將一些工具代理進去掃描探測等。由於設置了TCP,所以只支持tcp傳輸方式

拓展

unknow的無文件落地Frp

 

推薦文章:

https://mp.weixin.qq.com/s/cTOPmZ_lfEpkbMTblO9X6Q

https://mp.weixin.qq.com/s/ai8IFbSlr7gkLRj8xNaESg

埋坑:

NPS的使用

無文件落地frp

 


免責聲明!

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



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