IT網(wǎng)絡(luò)安全運(yùn)維 | 端口復(fù)用原理及防范
2020-04-27 13:23 作者:艾銻無限 瀏覽量:
IT網(wǎng)絡(luò)安全運(yùn)維 | 端口復(fù)用原理及防范
在
網(wǎng)絡(luò)安全攻防中,精心配置過的防火墻固然將讓絕大多數(shù)攻擊滲透擋在外圍,掌握網(wǎng)絡(luò)控制的主動(dòng)權(quán),但是,防火墻并不是萬能的,沒有任何一樣網(wǎng)絡(luò)產(chǎn)品可以說是絕對(duì)安全的。在這里給大家介紹下“通道技術(shù)”。供廣大
IT網(wǎng)絡(luò)運(yùn)維參考
說到通道技術(shù),我想再提一下“端口復(fù)用”,很多朋友以為通道技術(shù)就是端口復(fù)用技術(shù)。那么,錯(cuò)了,端口復(fù)用是指一個(gè)端口上建立了多個(gè)連接,而不是在一個(gè)端口上面開放了多個(gè)服務(wù)而互不干擾。假如你想在已經(jīng)開放了WWW服務(wù)的主機(jī)上,在80端口再添加一項(xiàng)服務(wù),只有2種可能:1.添加服務(wù)失敗 2.WWW服務(wù)出錯(cuò)。那么什么是通道呢?這里所謂的通道,是指一種繞過防火墻端口屏蔽的通訊方式。防火墻兩端的數(shù)據(jù)包封裝在防火墻所允許通過的數(shù)據(jù)包類型或是端口上,然后穿過防火墻與處在防火墻后面的主機(jī)通訊,當(dāng)封裝的數(shù)據(jù)包到達(dá)目的地時(shí),再將數(shù)據(jù)包還原,并將還原后的數(shù)據(jù)包交送到相應(yīng)的服務(wù)上,是在一個(gè)端口上面開放了多個(gè)服務(wù)而互不干擾的。 為了通信,不論是什么防火墻,都不可能把所有的服務(wù),所有的端口都封閉。(如果有那樣的防火墻,還不如拔網(wǎng)線來的直接)大多數(shù)的防火墻或多或少都要開放一個(gè)端口或服務(wù)(比如HTTP),只要開放了端口和服務(wù),就給了滲透的可能。HTTP是一種比較簡(jiǎn)單而常用的互交式協(xié)議,你給服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器就返回給你一個(gè)回應(yīng)。幾乎所有的主機(jī)都被允許發(fā)送HTTP請(qǐng)求。網(wǎng)絡(luò)上HTTP協(xié)議使用的是如此廣泛,這也決定了可以通過使用通道技術(shù)而輕松的通過防火墻或其他類似設(shè)備而將我們需要的數(shù)據(jù)發(fā)送至目標(biāo)。一個(gè)很典型的例子就是http-tunnel. 在http-tunnel的官方網(wǎng)站上有這么一句話:“http-tunnel在HTTP請(qǐng)求中建立了一個(gè)雙向的虛擬數(shù)據(jù)連接。HTTP請(qǐng)求可以經(jīng)過代理而被發(fā)送,這就可以被那些處在限制了端口的防火墻背后的用戶使用。如果通過HTTP代理的WWW瀏覽是被允許的,那么http-tunnel也就可以成立,也就是說,可以在防火墻外telnet或者PPP到防火墻的內(nèi)部。”這樣看來,攻擊者可以使用這種技術(shù)來實(shí)現(xiàn)遠(yuǎn)程控制。我們來看看http-tunnel的設(shè)計(jì)思路:
A主機(jī)在防火墻的外面,沒有做任何限制。B主機(jī)在防火墻內(nèi)部,受到防火墻保護(hù),防火墻配置的訪問控制原則是只允許80端口的數(shù)據(jù)進(jìn)出,但主機(jī)開放了telnet服務(wù)?,F(xiàn)在假設(shè)需要從A系統(tǒng)Telnet到B系統(tǒng)上去,怎么辦?使用正常的telnet肯定是不可能了,因?yàn)閠elnet使用的23端口被防火墻屏蔽,防火墻收到這個(gè)telnet的包后,發(fā)現(xiàn)不符合只允許80端口的數(shù)據(jù)通過的過濾原則,就丟棄了。但我們知道可用的有80端口,那么這個(gè)時(shí)候使用Httptunnel通道,就是一個(gè)好的辦法,思路如下:
在A機(jī)器上運(yùn)行tunnel的客戶端,讓它偵聽本機(jī)的一個(gè)不被使用的任意指定端口(最好是1024以上65535以下),如,8888。同時(shí)將來自8888端口上的數(shù)據(jù)指引到B機(jī)的80端口上,因?yàn)槭?0端口,防火墻是允許通過的。然后在B機(jī)上起一個(gè)服務(wù)端,(在只有80端口對(duì)外開放的情況下,只能先得到一個(gè)WEBSHELL,想辦法提升自己的權(quán)限,并運(yùn)行服務(wù)端)同樣掛接在80端口上,同時(shí)指引80端口的來自客戶端的轉(zhuǎn)發(fā)到本機(jī)的telnet服務(wù)端口23,這樣就OK了?,F(xiàn)在在A機(jī)上telnet本機(jī)端口8888,根據(jù)剛才的設(shè)置數(shù)據(jù)包會(huì)被轉(zhuǎn)發(fā)到目標(biāo)端口為80的B機(jī),因?yàn)榉阑饓υ试S通過80端口的數(shù)據(jù),因此數(shù)據(jù)包暢通的穿過防火墻,到達(dá)B機(jī)。此時(shí)B機(jī)在80端口偵聽的進(jìn)程收到來自A的數(shù)據(jù)包,會(huì)將數(shù)據(jù)包還原,再交還給telnet進(jìn)程。當(dāng)數(shù)據(jù)包需要由B到A返回時(shí),將由80端口再回送,同樣可以順利的通過防火墻。
上述功能似乎用端口映射也能做的到,把A主機(jī)上的23端口重定向到80端口,再把B主機(jī)上的80端口重定向到23端口就行了。但如果B主機(jī)已經(jīng)開啟了WWW服務(wù)了呢?要使用上述功能,使用端口映射必須犧牲B主機(jī)的80端口,這是得不償失的。試想在一次滲透防火墻的對(duì)某臺(tái)主機(jī)的攻擊中,把別人本來已經(jīng)開啟的WWW服務(wù)DOWN了,你還能在這臺(tái)主機(jī)上呆多久?但是,使用http-tunnel就可以完美實(shí)現(xiàn),即使B主機(jī)已經(jīng)開放80,提供WWW,我們也照樣可以發(fā)送telnet到其80端口上,享受到“正版”的telnet服務(wù)。
對(duì)于通道技術(shù),我們的解決方案是采用應(yīng)用層的數(shù)據(jù)包檢測(cè)技術(shù),因?yàn)樵谡5腍TTP請(qǐng)求中,GET、POST等行為是必不可少的,如果來自一個(gè)連接的HTTP請(qǐng)求中,總是沒有GET、POST,那么這個(gè)連接肯定有問題。從而終止此連接?,F(xiàn)在已經(jīng)有公司的IDS產(chǎn)品能夠查出隱藏在80中的tunnel了。對(duì)于防火墻的滲透,還有一些方法,比如找防火墻本身的設(shè)計(jì)缺陷等等,但那些難度太大??峙虏皇俏覀儜?yīng)該考慮的了。
艾銻無限科技專業(yè):IT外包、企業(yè)外包、北京IT外包、桌面運(yùn)維、弱電工程、網(wǎng)站開發(fā)、wifi覆蓋方案,網(wǎng)絡(luò)外包,網(wǎng)絡(luò)管理服務(wù),網(wǎng)管外包,綜合布線,服務(wù)器運(yùn)維服務(wù),中小企業(yè)it外包服務(wù),服務(wù)器維保公司,硬件運(yùn)維,網(wǎng)站運(yùn)維服務(wù)
以上文章由北京艾銻無限科技發(fā)展有限公司整理