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