紅隊對抗之Frp內網穿透
1 內網穿透工具介紹
內網穿透從本質上來講也是端口映射,兩者都是將內網地址映射到公網可訪問的地址,而區別是端口映射直接在路由器中配置即可,而內網穿透配置的端口映射則需要客戶端和服務端進行綁定后實現,相當于客戶端和服務端之間建立了一條隧道,然后訪問服務端的請求會通過隧道轉發給內網主機,該情況多用于沒有公網 IP 的情況下使用; frp是一個高性能的反向代理應用,可以輕松地進行內網穿透,對外網提供服務, 支持tcp, udp, http, https等協議類型,可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網; ## 中文文檔地址: https://gofrp.org/docs/ ## github 下載地址: https://github.com/fatedier/frp/releases ## 文件介紹 frpc 客戶端程序 frpc_full.ini 客戶端完整配置文件 frpc.ini 客戶端簡易配置文件 frps 服務端程序 frps_full.ini 服務端完整配置文件 frps.ini 服務端簡易配置文件
2 實驗工具下載安裝


3 映射內網SSH服務
提示:需要被映射SSH的服務器運行frpc,接收映射的服務器運行frps
查看服務端簡易配置文件

這里我在另一臺ubuntu(192.168.0.129)上上傳frp并開啟服務端進行演示
./frps -c ./frps.ini

然后在kali(192.168.0.128)上,上傳frp

## 客戶端簡易配置文件frpc.ini [common] ## 這個部分類似于口令-對接口 server_addr = 192.168.0.129 ## 服務端的公網ip地址 server_port = 7000 ## 服務端偵聽的端口 [ssh] type = tcp ## 協議類型 local_ip = 127.0.0.1 ## 本地的ip地址 local_port = 22 ## 需要映射的本地端口 remote_port = 6000 ## 將需要映射的本地端口映射到服務端的端口 ./frpc -c frpc.ini

服務端和客戶端都運行之后,我們訪問Ubuntu(192.168.0.129)的6000端口即可穿透訪問到Kali(192.168.0.128)的22端口



然后通過Ubuntu(192.168.0.129)的6000端口來訪問到Kali(192.168.0.128)的22端口

4 映射內網Web服務
這里Ubuntu(192.168.0.129)里面有個docker容器(172.17.0.2)的8080端口有spring服務,我們現在將其映射到Kali(192.168.0.128)的8085端口上。

這樣我們訪問Kali(192.168.0.128)的8085端口就可以訪問到Ubuntu(192.168.0.129)內docker(172.17.0.2)的web服務
Kali的frps.ini配置如下

然后開啟frps

然后我們編輯下ubuntu上的frpc.ini
[common] server_addr = 192.168.0.128 # 服務端的主機IP server_port = 7000 # 服務端主機監聽的端口 [http] type = tcp # 連接類型 local_port = 8080 # 本地端口 local_ip = 172.17.0.2 # 本地地址 remote_port = 8085 # 映射成服務端的端口

然后開啟frpc

接下來我們訪問下Kali(192.168.0.128)的8085端口看看,可以發現成功訪問

下面這張圖是Ubuntu本機訪問docker里面Web服務的截圖

5 msf映射frp流量
Kali:192.168.0.128(外網) Ubuntu:192.168.0.129(外網),10.0.1.6(內網) Win7:10.0.1.7(內網)
我在Kali上編輯frps.ini
[common] bind_addr = 192.168.0.128 bind_port = 7000

然后在Ubuntu上編輯frpc.ini
[common] server_addr = 192.168.0.128 server_port = 7000 [msf] type = tcp remote_port = 1088 plugin = socks5
這里我們將Kali的1088端口作為進入內網的端口,只要流量通過Kali的1088端口就可以達到Ubuntu從而進入內網
先開啟Kali上的frps,然后在開啟ubuntu上的frpc


然后我們開啟msf
# 設置代理和允許反向連接 setg Proxies socks5:192.168.0.128:1088 setg ReverseAllowProxy true
然后我們掃描下10.0.1.7是否開啟了smb服務
use auxiliary/scanner/smb/smb_version set RhOSTS 10.0.1.7 run

可以看到10.0.1.7開啟了smb服務,并且還存在域REDTEAM