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