[點晴永久免費OA]內(nèi)網(wǎng)穿透之FRP代理工具詳解
當(dāng)前位置:點晴教程→點晴OA辦公管理信息系統(tǒng)
→『 經(jīng)驗分享&問題答疑 』
FRP工具的使用 FRP官方文檔:https://gofrp.org/docs 一、FRP工具的介紹 1.為什么需要內(nèi)網(wǎng)穿透 我們的物理機、服務(wù)器可能處于路由器后或者處于內(nèi)網(wǎng)之中。如果我們想直接訪問到這些設(shè)備(遠程桌面、遠程文件、SSH等等),一般來說要通過一些轉(zhuǎn)發(fā)或者P2P(端到端)組網(wǎng)軟件的幫助。 其實,對于FRP穿透工具來說,它和端口轉(zhuǎn)發(fā)有所不同,端口轉(zhuǎn)發(fā)是只會進行單個端口的流量轉(zhuǎn)發(fā),但是這在滲透中往往是不行的,我們通過通過FRP進行內(nèi)網(wǎng)的全流量的數(shù)據(jù)代理,像FRP可以代理全端口、全流量的數(shù)據(jù),這樣我們就可以使用SocksCap或者Proxifier等工具進行連接。 2.FRP介紹 frp 是一個可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持TCP、UDP協(xié)議,為HTTP和HTTPS應(yīng)用協(xié)議提供了額外的能力,且嘗試性支持了點對點穿透。frp 采用go語言開發(fā)。更多的人使用 frp 是為了進行反向代理,滿足通過公網(wǎng)服務(wù)器訪問處于內(nèi)網(wǎng)的服務(wù),如訪問內(nèi)網(wǎng)web服務(wù),遠程ssh內(nèi)網(wǎng)服務(wù)器,遠程控制內(nèi)網(wǎng)NAS等,實現(xiàn)類似花生殼、ngrok等功能。而對于內(nèi)網(wǎng)滲透來講,這種功能恰好能夠滿足我們進行內(nèi)網(wǎng)滲透的流量轉(zhuǎn)發(fā)。FRP最大的一個特點是使用SOCKS代理,而SOCKS是加密通信的,類似于做了一個加密的隧道,可以把外網(wǎng)的流量,通過加密隧道穿透到內(nèi)網(wǎng)。效果有些類似于VPN。 3.為什么使用FRP 通過在具有公網(wǎng) IP 的節(jié)點上部署 frp 服務(wù)端,可以輕松地將內(nèi)網(wǎng)服務(wù)穿透到公網(wǎng),同時提供諸多專業(yè)的功能特性,這包括:
二、FRP工具原理 1.FRP實現(xiàn)原理 frp 主要由客戶端(frpc)和服務(wù)端(frps)組成,服務(wù)端通常部署在具有公網(wǎng) IP 的機器上,客戶端通常部署在需要穿透的內(nèi)網(wǎng)服務(wù)所在的機器上。內(nèi)網(wǎng)服務(wù)由于沒有公網(wǎng) IP,不能被非局域網(wǎng)內(nèi)的其他用戶訪問。隱藏用戶通過訪問服務(wù)端的 frps,由 frp 負責(zé)根據(jù)請求的端口或其他信息將請求路由到對應(yīng)的內(nèi)網(wǎng)機器,從而實現(xiàn)通信。 2.FRP圖示 如上圖所示,在目標(biāo)內(nèi)網(wǎng)(192.168.1.0網(wǎng)段)中,一共有多臺內(nèi)網(wǎng)服務(wù)器(使用三臺進行簡要說明),其中內(nèi)網(wǎng)WEB服務(wù)器和內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器的端口被映射到Nginx反向代理服務(wù)器上,這樣直接訪問Nginx反向代理服務(wù)器的IP加上對應(yīng)的端口即可訪問到內(nèi)網(wǎng)WEB服務(wù)器和內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器。 現(xiàn)在存在這樣的一種情況,由于內(nèi)網(wǎng)WEB服務(wù)器的端口被映射到了公網(wǎng)(也就是Nginx反向代理服務(wù)器的80端口上),因此可以通過訪問Nginx服務(wù)器的80端口就直接可以訪問到內(nèi)網(wǎng)的WEB服務(wù)器上的業(yè)務(wù),如果發(fā)現(xiàn)WEB主機上存在漏洞,通過漏洞拿到了WEB服務(wù)器的shell,注意這個shell并不是Nginx服務(wù)器的shell,而是內(nèi)網(wǎng)WEB服務(wù)器的shell。 如果我們需要進行內(nèi)網(wǎng)滲透,有兩種思路,第一種是在內(nèi)網(wǎng)WEB服務(wù)器上安裝nmap、masscan這類工具進行掃描,第二種就是使用frp等工具進行代理,使用代理進行掃描。這里面就牽扯到兩個問題,一個問題是如果拿下的這臺主機是windows主機,但是在內(nèi)網(wǎng)里面又發(fā)現(xiàn)了一臺主機有web服務(wù),這樣怎么辦?我們可以在這臺主機上安裝Burp和瀏覽器,進行抓包滲透,但是這個前提是你要可以連接RDP,也就是說內(nèi)網(wǎng)WEB服務(wù)器的3389也是映射到公網(wǎng)上的,可以直接連接進行滲透;還有一個問題是如果拿下的主機是linux主機呢?怎么在linux主機上安裝burp呢?這顯然是不合理的,但是我們可以在拿下的這臺linux主機上開啟SOCKS代理,然后在本地使用SOCKS代理去連接,但是顯然比較麻煩。因此,很多人在內(nèi)網(wǎng)滲透中可能會選擇使用FRP內(nèi)網(wǎng)穿透工具來進行內(nèi)網(wǎng)中的全流量代理,F(xiàn)RP是一個全流量代理,在本地可以使用SocksCap、Proxifier等工具進行連接。下面來進行說明。 首先,我們需要將FRP的服務(wù)端部署到公網(wǎng)VPS上,然后在我們拿下的那臺內(nèi)網(wǎng)主機上部署FRP的客戶端,F(xiàn)RP在github上有多種版本,有些是有配置文件的,這樣的話就需要在客戶端和服務(wù)器端分別配置兩個文件,客戶端的文件分別是frpc文件和frpc.ini文件;服務(wù)器端的文件分別是frps文件和frps.ini文件 3.FRP工作原理介紹 首先啟動frpc,frpc啟動后會向frps注冊,也就是內(nèi)網(wǎng)WEB服務(wù)器會向VPS請求注冊。 客戶端請求frps,也就是當(dāng)我們的攻擊機去訪問frps。 frps告知frpc有新請求,需要建立連接,也就是VPS告知內(nèi)網(wǎng)WEB服務(wù)器,需要建立連接。 frps收到frpc的請求,建立新的連接,也就是VPS接收到了內(nèi)網(wǎng)WEB服務(wù)器的請求,建立了新的連接。 frps吧frpc和攻擊機的流量互相轉(zhuǎn)發(fā),將frps服務(wù)器當(dāng)成流量中轉(zhuǎn)站,也就是VPS將攻擊機的流量轉(zhuǎn)發(fā)給內(nèi)網(wǎng)WEB服務(wù)器,把內(nèi)網(wǎng)WEB服務(wù)器的流量轉(zhuǎn)發(fā)給攻擊機。 4.FRP配置文件 5.FRP使用方法參見本論壇中相關(guān)教程。 該文章在 2023/12/29 0:45:19 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |