反弹代理环境的搭建
反彈代理環(huán)境的搭建
? ? 前幾天工作無意中接觸到這個,這個方案是同事提出來的,之前沒用過反彈代里相關,沒啥難度,基本的工具使用而已,整理下留個筆記方便以后查閱。這里涉及到的反向代理軟件就直接用網(wǎng)上別人寫好的,后期有時間在自己寫代理軟件相關,實現(xiàn)并不是有多難。到時候會更新到我的個人主頁上,感興趣的可以留意。
? ? 先說下概念,平時所說的代理其實就是正向,也就是找到一個公網(wǎng)服務器,掛上代理請求程序,用戶機器A鏈接到公網(wǎng)服務器(代理服務器B),然后A想請求的話就都發(fā)給B,B幫忙請求完了就返回給A,這樣A的網(wǎng)絡環(huán)境邏輯上變成了B的,這樣就代理了。而反彈代理其實是多做了一層中轉。比如有三臺機器:
?
A?:?你的機器,想要代理到B機器的網(wǎng)絡上。
B?:?另一臺機器。
C?:?中轉公網(wǎng)服務器。
?
反彈代理的原理:
請求
?????:??A?---->?C?---->?B
返回
?????:??B?---->?C?---->?A
?
? ? 服務器C并不去執(zhí)行網(wǎng)絡請求,而是做了中轉,把這個事交給B去做,B做完在通過服務器C把結果返回給A,這樣A和B都可以處于平時的局域網(wǎng)中,此時A的網(wǎng)絡環(huán)境邏輯上看到的是B的。這樣就是實現(xiàn)了反彈代理,反彈式代理看上去如果用戶多了會給服務器C帶來比較大的壓力。如果非要優(yōu)化,感覺可以直接A?B?通過服務器C?來?實現(xiàn)一個局域網(wǎng)穿透。A?B?直接通訊。但是這個地方事有很多,之前搞局域網(wǎng)穿透玩。到最后只是實現(xiàn)了UDP的,TCP的沒有實現(xiàn)的了。雖然說一直有人說?理論上TCP也能穿透。
? ? 剛開始說想要自己寫代理服務器相關程序是由原因的,對于反彈式的代理姿勢,如果我們有N多個RJ或者是其他的別人的機器(當然最好是別人同意并且之情)。我們可以把這些人全都變成一個集合B(同上面abc),然后所有人多連向C,等待C給發(fā)命令,這樣就有了一個隨便切換網(wǎng)絡的網(wǎng)絡池。在C服務器上做好規(guī)劃之后,就可以提供給A集合用了。A可以隨便挑隨便用。當然建議不要做壞事。畢竟此時你的網(wǎng)絡環(huán)境都是B集合里面的。而套的話只有自己重寫才方便隨便更改相關并且自定義相關。不過今天只是掩飾下基本環(huán)境的搭建,而且我還沒開始寫自己的代理軟件,就只能用別人的先給大家演示。
?
?
涉及到的軟件:
B和C用的,網(wǎng)址如下,這個哥們寫的比較細,幾乎所有系統(tǒng)都支持。
http://rootkiter.com/EarthWorm/
A用的一款軟件,鏈接C用的。
????名字?SocksCap??沒找到官網(wǎng),建議自己找官網(wǎng)下載帶簽名的用。
?
大體界面是這樣:
?
? ? 上面工具在網(wǎng)上下了個安裝包,連數(shù)字簽名都沒有,額...雖然有數(shù)字簽名不代表安全,這種沒有數(shù)字簽名的就只在虛擬機里玩玩吧,還有記得虛擬機玩東西也并不一定安全,如果你運行的東西里面有arp攻擊或者內網(wǎng)滲透相關(直接咻你相關cookie等)的東西,你在虛擬機里跑一樣可以中招,這樣還得設置到不同網(wǎng)段上。額...然而我并沒有,因為我比較懶,不過話說VM的話,默認是不在一個網(wǎng)段的。除非你橋接了。
?
?
環(huán)境搭建:
我自己布置的環(huán)境如下?A?B?C
A:
自己家里電腦上VM里面的一臺虛擬機環(huán)境,Win7?X64
B:??
公司電腦VM里面的一臺虛擬機華納經,Win7?X64
C:
公網(wǎng)服務器的話,是臨時開的一個臨時的Linux服務器,CentOs?5.1,這里有個坑,臨時的一天服務器才一塊錢,結果開了之后發(fā)現(xiàn)fk,共享ip,進去看設置最多可以做三個端口映射,結果我就開了三個端口,一個sshd服務用,一個給A鏈接用,一個給B鏈接用。剛好夠,如果是做復雜測試要開臨時服務器的話,建議開個獨立ip的。
步驟:
(1)先把ew_for_linux64這個弄到Linux上去,注意選擇和自己系統(tǒng)位數(shù)一樣的,怎么上傳文件就不說了,反正TM我的那個臨時服務器,lszrz裝不上,重新設置了DNS以及換了安裝資源商,還是不好使,最后問客服是不是防火墻設置了(本地我直接把防火墻給關了),客服說?可能是因為?共享ip里面某些端口無法使用,woc,我是鏈接別人,同時作為提供商,為啥要加上可能兩個字。你自己直接內部開一個虛擬機測一下不就知道咋回事了嗎?差評,總之算了不要以為一塊錢的東西生氣。直接上傳到外網(wǎng)上面,共享一下地址,然后自己wget到本地得了。
(2)文件傳到服務器上之后,執(zhí)行起來,參數(shù)如下:
???ew_for_linux64?-s?rcsocks?-l?47777?-e?49999??
??上面設計到兩個端口,47777是給A鏈接的,49999是給B鏈接的。提示下,執(zhí)行ew_for_linux64之前看下這個文件是不是有x權限,我測試的時候剛下載下來的沒有這個權限,root直接下載下來之后的權限不知道是不是走的umask,不過不用管,直接自己重新設置下就行了。
(3)上面1?2的話C端就算完事了,處于監(jiān)聽狀態(tài),然后處理B,ew_for_Win.exe拷貝到B機器上,執(zhí)行:
ew_for_Win.exe?-s?rssocks?-d?58.53.94.165?-e?49999
上面那個ip就是我開的臨時服務器ip。49999的話2里面說了,同時這次測試4777?49999這兩個端口我做了端口映射配置。這樣B端鏈接到了C后等待C給他發(fā)網(wǎng)絡請求命令。
(4)然后是A機器,裝上那個SocksCap軟件,然后在設置里面設置代理服務器ip?58.53.94.165,代理端口?47777,這里注意不要弄錯了,A用47777?,B用49999。這樣A就鏈接到了C了,可以給C發(fā)命令讓B幫他進行網(wǎng)絡請求了。
?
執(zhí)行結果如下:
A:?已經成功代理到了公司虛擬機B所在的網(wǎng)絡。
再來一個家里的網(wǎng)絡,和上面做代理的對比:
?
C:?服務器接收到了A和B的相關鏈接和請求
B:?公司電腦VM里面的一個虛擬機正在通過C幫A進行網(wǎng)絡請求。
????OK這樣就實現(xiàn)了反彈試代理,這東西后期定要自己實現(xiàn),可以自由的搞集合式的玩法,如果用上面工具的話,只能一個一個手動操作,賊費勁,而且不靈活。
??????A集合???-------?????C服務器??-----------B集合
總結
- 上一篇: Linux-鸟菜-6-文件与目录的 默认
- 下一篇: Linux-鸟菜-6-文件搜索