由http暗藏通道看網(wǎng)絡(luò)安全(2)
發(fā)表時(shí)間:2024-02-19 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]仔細(xì)觀察截獲的httptunnel數(shù)據(jù)包,可以發(fā)現(xiàn)緊跟著三次握手完成后的第一個(gè)數(shù)據(jù)包包含著一個(gè)POST動(dòng)作,是由htc(client端)發(fā)送到hts(server端)的。如下: 14:55:39.128908 client.yiming.com.51767 > server.yiming.c...
仔細(xì)觀察截獲的httptunnel數(shù)據(jù)包,可以發(fā)現(xiàn)緊跟著三次握手完成后的第一個(gè)數(shù)據(jù)包包含著一個(gè)POST動(dòng)作,是由htc(client端)發(fā)送到hts(server端)的。如下: 14:55:39.128908 client.yiming.com.51767 > server.yiming.com.80: S 3521931836:3521931836(0) win 8760(DF)
0x0000 4500 002c d3cc 4000 fb06 53c9 xxxx xxxxE..,..@...S..f.#
0x0010 yyyy yyyy ca37 0050 d1ec 6a3c 0000 0000.f.D.7.P..j<....
0x0020 6002 2238 1708 0000 0204 05b4 0000 `."8..........
14:55:39.128945 server.yiming.com.80 > client.yiming.com.51767: S 2946004964:2946004964(0) ack 3521931837 win 8760(DF)
0x0000 4500 002c cb85 4000 ff06 5810 yyyy yyyyE..,..@...X..f.D
0x0010 xxxx xxxx 0050 ca37 af98 77e4 d1ec 6a3d.f.#.P.7..w...j=
0x0020 6012 2238 ef79 0000 0204 05b4`."8.y......
14:55:39.131002 client.yiming.com.51767 > server.yiming.com.80: . ack 1 win 8760 (DF)
0x0000 4500 0028 d3cd 4000 fb06 53cc xxxx xxxxE..(..@...S..f.#
0x0010 yyyy yyyy ca37 0050 d1ec 6a3d af98 77e5.f.D.7.P..j=..w.
0x0020 5010 2238 0737 0000 0000 0000 0000 P."8.7........
14:55:39.132841 server.yiming.com.80 > client.yiming.com.51767: . ack 44 win 8760 (DF)
0x0000 4500 0028 cb86 4000 ff06 5813 yyyy yyyyE..(..@...X..f.D
0x0010 xxxx xxxx 0050 ca37 af98 77e5 d1ec 6a68.f.#.P.7..w...jh
0x0020 5010 2238 070c 0000P."8....
14:55:39.132860 client.yiming.com.51767 > server.yiming.com.80: P 1:44(43) ack 1 win 8760 (DF)
0x0000 4500 0053 d3ce 4000 fb06 53a0 xxxx xxxxE..S..@...S..f.#
0x0010 yyyy yyyy ca37 0050 d1ec 6a3d af98 77e5.f.D.7.P..j=..w.
0x0020 5018 2238 d23a 0000 504f 5354 202f 696eP."8.:..POST./in
0x0030 6465 782e 6874 6d6c 3f63 7261 703d 3130dex.html?crap=10
0x0040 3037 3838 3034 3836 2048 5454 502f 312e07880486.HTTP/1.
0x0050 310d 0a1..
1..
看起來是發(fā)送client端的數(shù)據(jù)包到server端的,那么server有什么反應(yīng)呢?我們往下看,在上面這個(gè)過程完成后,htc和hts又發(fā)生了一次握手(注意,又一次握手),如下:
14:55:39.134301 client.yiming.com.51768 > server.yiming.com.80: S 2851199448:2851199448(0) win 8760(DF)
0x0000 4500 002c d3df 4000 fb06 53b6 xxxx xxxxE..,..@...S..f.#
0x0010 yyyy yyyy ca38 0050 a9f1 d9d8 0000 0000.f.D.8.P........
0x0020 6002 2238 cf65 0000 0204 05b4 0000 `."8.e........
14:55:39.134389 server.yiming.com.80 > client.yiming.com.51768: S 2946060449:2946060449(0) ack 2851199449 win 8760(DF)
0x0000 4500 002c cb8f 4000 ff06 5806 yyyy yyyyE..,..@...X..f.D
0x0010 xxxx xxxx 0050 ca38 af99 50a1 a9f1 d9d9.f.#.P.8..P.....
0x0020 6012 2238 cf19 0000 0204 05b4`."8........
14:55:39.136527 client.yiming.com.51768 > server.yiming.com.80: . ack 1 win 8760 (DF)
0x0000 4500 0028 d3e0 4000 fb06 53b9 xxxx xxxxE..(..@...S..f.#
0x0010 yyyy yyyy ca38 0050 a9f1 d9d9 af99 50a2.f.D.8.P......P.
0x0020 5010 2238 e6d6 0000 0000 0000 0000 P."8..........
14:55:39.137333 client.yiming.com.51768 > server.yiming.com.80: P 1:43(42) ack 1 win 8760 (DF)
0x0000 4500 0052 d3e1 4000 fb06 538e xxxx xxxxE..R..@...S..f.#
0x0010 yyyy yyyy ca38 0050 a9f1 d9d9 af99 50a2.f.D.8.P......P.
0x0020 5018 2238 25ce 0000 4745 5420 2f69 6e64P."8%...GET./ind
0x0030 6578 2e68 746d 6c3f 6372 6170 3d31 3030ex.html?crap=100
0x0040 3738 3830 3438 3620 4854 5450 2f31 2e317880486.HTTP/1.1
0x0050 0d0a ..
14:55:39.137379 server.yiming.com.80 > client.yiming.com.51768: . ack 43 win 8718 (DF)
0x0000 4500 0028 cb90 4000 ff06 5809 yyyy yyyyE..(..@...X..f.D
0x0010 xxxx xxxx 0050 ca38 af99 50a2 a9f1 da03.f.#.P.8..P.....
0x0020 5010 220e e6d6 0000P.".....
14:55:39.139733 client.yiming.com.51768 > server.yiming.com.80: P 43:89(46) ack 1 win 8760 (DF)
0x0000 4500 0056 d3e2 4000 fb06 5389 xxxx xxxxE..V..@...S..f.#
0x0010 yyyy yyyy ca38 0050 a9f1 da03 af99 50a2.f.D.8.P......P.
0x0020 5018 2238 e156 0000 486f 7374 3a20 3230P."8.V..Host:.20
0x0030 322e 3130 322e 3232 372e 3638 3a38 300d2.102.227.68:80.
0x0040 0a43 6f6e 6e65 6374 696f 6e3a 2063 6c6f.Connection:.clo
0x0050 7365 0d0a 0d0a se....
14:55:39.151300 server.yiming.com.80 > client.yiming.com.51768: P 1:170(169) ack 89 win 8760 (DF)
0x0000 4500 00d1 cb91 4000 ff06 575f yyyy yyyyE.....@...W_.f.D
0x0010 xxxx xxxx 0050 ca38 af99 50a2 a9f1 da31.f.#.P.8..P....1
0x0020 5018 2238 e721 0000 4854 5450 2f31 2e31P."8.!..HTTP/1.1
0x0030 2032 3030 204f 4b0d 0a43 6f6e 7465 6e74.200.OK..Content
0x0040 2d4c 656e 6774 683a 2031 3032 3430 300d-Length:.102400.
0x0050 0a43 6f6e 6e65 6374 696f 6e3a 2063 6c6f.Connection:.clo
0x0060 7365 0d0a 5072 6167 6d61 3a20 6e6f 2d63se..Pragma:.no-c
0x0070 6163 6865 0d0a 4361 6368 652d 436f 6e74ache..Cache-Cont
0x0080 726f 6c3a 206e 6f2d 6361 6368 652c 206erol:.no-cache,.n
0x0090 6f2d 7374 6f72 652c 206d 7573 742d 7265o-store,.must-re
0x00a0 7661 6c69 6461 7465 0d0a 4578 7069 7265validate..Expire
0x00b0 733a 2030 0d0a 436f 6e74 656e 742d 5479s:.0..Content-Ty
0x00c0 7065 3a20 7465 7874 2f68 746d 6c0d 0a0dpe:.text/html...
從數(shù)據(jù)包中可以看到,本次通訊中hts(server)端向htc(client)端發(fā)送了一個(gè)GET的標(biāo)識(shí)包,估計(jì)是去"取"剛才client端發(fā)來的數(shù)據(jù)包,而且是一次新的握手!為了驗(yàn)證,我們分別在client,server端,執(zhí)行netstat -an,結(jié)果證明了我們的觀察是正確的,如下:
client.yiming.com.51767server.yiming.com.80 8760087600 ESTABLISHED
client.yiming.com.51768server.yiming.com.80 8760087600 ESTABLISHED
在server端,執(zhí)行netstat -an,結(jié)果如下:
server.yiming.com.80client.yiming.com.517678760087600 ESTABLISHED
server.yiming.com.80client.yiming.com.517688760087600 ESTABLISHED
果然,防火墻兩邊的系統(tǒng)都起了兩個(gè)socket,和一般程序不同,這是個(gè)比較特殊的現(xiàn)象。
GET動(dòng)作完成后,server端又向client端發(fā)送了一個(gè)數(shù)據(jù)包,內(nèi)容是
HTTP/1.1 200 OK Content-Length: 102400
Connection: close
Pragma: no-cache
Cache-Control: no-cache, no-store, must-revalidate
Expires: 0
Content-Type: text/html
這里應(yīng)該是定義數(shù)據(jù)包傳輸最大值等參數(shù)的。
作者察覺,經(jīng)由了這三次htc和hts之間的作用后,httptunnel才真正的建立起來,后面的工作才能正常開展,而且很有意思的是,自此以后所有后續(xù)的數(shù)據(jù)包一律沒有80端口經(jīng)常走的GET,PUT,POST之類的內(nèi)容!這里看來可以想點(diǎn)辦法。
上面說過,正常走80端口的數(shù)據(jù)包應(yīng)該是web行為,那么就數(shù)據(jù)包中就應(yīng)該少不了get等正常的動(dòng)作內(nèi)容,如果在80端口經(jīng)過的數(shù)據(jù)總是沒有這些東東,那么就肯定有問題了,
那么這種問題就有了一種解決方案,就是手工檢查通過80端口通過的數(shù)據(jù)包,如果數(shù)據(jù)包是明文傳送,那么就很容易發(fā)現(xiàn)這種行為。但這種行為也只能在理論上可行。在實(shí)際上的操作是不可能的,有沒有比較成熟的這種產(chǎn)品呢?按照這個(gè)思路檢索網(wǎng)上的數(shù)據(jù),果然發(fā)現(xiàn)有種入侵檢測(cè)e-Gap系統(tǒng)可以確實(shí)察覺及屏蔽httptunnel等通道軟件的存在,它工作在tcp/ip的應(yīng)用層,在應(yīng)用層一級(jí)檢測(cè)數(shù)據(jù)包的確切性,比如,檢測(cè)80端口的數(shù)據(jù)包,如果看起來數(shù)據(jù)包中總是沒有有效的數(shù)據(jù)(URL,get,put等參數(shù)),那么e-Gap系統(tǒng)就會(huì)報(bào)警,并中斷連接行為。(請(qǐng)參閱參考資料)
需要注意的是,這種偵測(cè)方法僅對(duì)明文傳送的有效,如果數(shù)據(jù)被加密,那么也就無計(jì)可施了。那么再進(jìn)一步,如果加密了呢?目前作者掌握的情況來看,StealthWatch硬件產(chǎn)品可能是一種比較好的選擇,它完全擯棄了基于簽名的工作模式,而是采用一種正在申請(qǐng)專利的基于flow-base構(gòu)架策略,按照幾家評(píng)測(cè)實(shí)驗(yàn)室的結(jié)果來看,可以有效的察覺已經(jīng)公開和未公開的各種攻擊,Dos,蠕蟲,病毒等,甚至包括加密的通訊!但是,它的價(jià)錢也遠(yuǎn)遠(yuǎn)的超出了普通的商用IDS系統(tǒng),一套齊備的設(shè)施需4萬美元!具體效果作者目前沒有條件測(cè)試。(請(qǐng)參閱參考資料)
總結(jié)
在我們的試驗(yàn)中,httptunnel同時(shí)逃過了防火墻的屏蔽以及入侵檢測(cè)系統(tǒng)的追蹤,這是值得思考的。我們可以看到,網(wǎng)絡(luò)安全僅僅依靠某種或某幾種手段是不可靠的,尤其是對(duì)安全性要求很高的應(yīng)用系統(tǒng),同時(shí)對(duì)安全系統(tǒng)的盲目依賴往往會(huì)造成巨大的安全隱患。
參考資料
httptunnel主頁
http://www.nocrew.org/software/httptunnel.html
httptunnel程序下載
ftp://ftp.nocrew.org/pub/nocrew/unix/httptunnel-3.0.5.tar.gz
tcpdump主頁及相關(guān)資源
http://www.tcpdump.org
SNORT主頁及相關(guān)資源
http://www.snort.org
NSS關(guān)于IDS系統(tǒng)的評(píng)測(cè)報(bào)告
http://www.nss.co.uk/ids/index.htm
Open source mounts IDS challenge 的報(bào)道
http://www.vnunet.com/News/1127283
文章"Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection"
http://secinf.net/info/ids/idspaper/idspaper.html
Stick作者主頁
http://www.eurocompton.net/stick/projects8.html
e-Gap產(chǎn)品
http://www.whalecommunications.com
StealthWatch產(chǎn)品
http://www.lancope.com/products
關(guān)于作者
宮一鳴,男,26 歲,河南電信網(wǎng)絡(luò)關(guān)鍵設(shè)備高級(jí)系統(tǒng)管理員,主任工程師,中國(guó)電信國(guó)家級(jí)跨世紀(jì)人才,中國(guó)電信網(wǎng)絡(luò)安全小組核心成員,河南電信網(wǎng)絡(luò)安全小組成員。您可以通過E-mail :yiming@security.zz.ha.cn或網(wǎng)站http://security.zz.ha.cn聯(lián)系他!