由http暗藏通道看網路安全(2)

來源:互聯網
上載者:User
安全|網路     仔細觀察截獲的httptunnel資料包,可以發現緊跟著三向交握完成後的第一個資料包包含著一個POST動作,是由htc(client端)發送到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 xxxx        E..,..@...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 yyyy        E..,..@...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 xxxx        E..(..@...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 yyyy        E..(..@...X..f.D
0x0010   xxxx xxxx 0050 ca37 af98 77e5 d1ec 6a68        .f.#.P.7..w...jh
0x0020   5010 2238 070c 0000                            P."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 xxxx        E..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 696e        P."8.:..POST./in
0x0030   6465 782e 6874 6d6c 3f63 7261 703d 3130        dex.html?crap=10
0x0040   3037 3838 3034 3836 2048 5454 502f 312e        07880486.HTTP/1.
0x0050   310d 0a                                        1..
                                    1..




看起來是發送client端的資料包到server端的,那麼server有什麼反應呢?我們往下看,在上面這個過程完成後,htc和hts又發生了一次握手(注意,又一次握手),如下:
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 xxxx        E..,..@...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 yyyy        E..,..@...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 xxxx        E..(..@...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 xxxx        E..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 6e64        P."8%...GET./ind
0x0030   6578 2e68 746d 6c3f 6372 6170 3d31 3030        ex.html?crap=100
0x0040   3738 3830 3438 3620 4854 5450 2f31 2e31        7880486.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 yyyy        E..(..@...X..f.D
0x0010   xxxx xxxx 0050 ca38 af99 50a2 a9f1 da03        .f.#.P.8..P.....
0x0020   5010 220e e6d6 0000                            P.".....
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 xxxx        E..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 3230        P."8.V..Host:.20
0x0030   322e 3130 322e 3232 372e 3638 3a38 300d        2.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 yyyy        E.....@...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 2e31        P."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 2d63        se..Pragma:.no-c
0x0070   6163 6865 0d0a 4361 6368 652d 436f 6e74        ache..Cache-Cont
0x0080   726f 6c3a 206e 6f2d 6361 6368 652c 206e        rol:.no-cache,.n
0x0090   6f2d 7374 6f72 652c 206d 7573 742d 7265        o-store,.must-re
0x00a0   7661 6c69 6461 7465 0d0a 4578 7069 7265        validate..Expire
0x00b0   733a 2030 0d0a 436f 6e74 656e 742d 5479        s:.0..Content-Ty
0x00c0   7065 3a20 7465 7874 2f68 746d 6c0d 0a0d        pe:.text/html...




從資料包中可以看到,本次通訊中hts(server)端向htc(client)端發送了一個GET的標識包,估計是去"取"剛才client端發來的資料包,而且是一次新的握手!為了驗證,我們分別在client,server端,執行netstat -an,結果證明了我們的觀察是正確的,如下:
client.yiming.com.51767        server.yiming.com.80     8760      0  8760      0 ESTABLISHED
client.yiming.com.51768        server.yiming.com.80     8760      0  8760      0 ESTABLISHED




在server端,執行netstat -an,結果如下:
server.yiming.com.80    client.yiming.com.51767  8760      0  8760      0 ESTABLISHED
server.yiming.com.80    client.yiming.com.51768  8760      0  8760      0 ESTABLISHED




果然,防火牆兩邊的系統都起了兩個socket,和一般程式不同,這是個比較特殊的現象。

GET動作完成後,server端又向client端發送了一個資料包,內容是
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




這裡應該是定義資料包傳輸最大值等參數的。

作者察覺,經由了這三次htc和hts之間的作用後,httptunnel才真正的建立起來,後面的工作才能正常開展,而且很有意思的是,自此以後所有後續的資料包一律沒有80連接埠經常走的GET,PUT,POST之類的內容!!這裡看來可以想點辦法。

上面說過,正常走80連接埠的資料包應該是web行為,那麼就資料包中就應該少不了get等正常的動作內容,如果在80連接埠經過的資料總是沒有這些東東,那麼就肯定有問題了,

那麼這種問題就有了一種解決方案,就是手工檢查通過80連接埠通過的資料包,如果資料包是明文傳送,那麼就很容易發現這種行為。但這種行為也只能在理論上可行。在實際上的操作是不可能的,有沒有比較成熟的這種產品呢?按照這個思路檢索網上的資料,果然發現有種入侵檢測e-Gap系統可以確實察覺及屏蔽httptunnel等通道軟體的存在,它工作在tcp/ip的應用程式層,在應用程式層一級檢測資料包的確切性,比如,檢測80連接埠的資料包,如果看起來資料包中總是沒有有效資料(URL,get,put等參數),那麼e-Gap系統就會警示,並中斷串連行為。(請參閱參考資料)

需要注意的是,這種偵測方法僅對明文傳送的有效,如果資料被加密,那麼也就無計可施了。那麼再進一步,如果加密了呢?目前作者掌握的情況來看,StealthWatch硬體產品可能是一種比較好的選擇,它完全擯棄了基於簽名的工作模式,而是採用一種正在申請專利的基於flow-base構架策略,按照幾家評測實驗室的結果來看,可以有效察覺已經公開和未公開的各種攻擊,Dos,蠕蟲,病毒等,甚至包括加密的通訊!但是,它的價錢也遠遠的超出了普通的商用IDS系統,一套齊備的設施需4萬美元!具體效果作者目前沒有條件測試。(請參閱參考資料)

總結
在我們的實驗中,httptunnel同時逃過了防火牆的屏蔽以及入侵偵測系統的追蹤,這是值得思考的。我們可以看到,網路安全僅僅依靠某種或某幾種手段是不可靠的,尤其是對安全性要求很高的應用系統,同時對安全系統的盲目依賴往往會造成巨大的安全隱患。

參考資料

httptunnel首頁
http://www.nocrew.org/software/httptunnel.html
httptunnel程式下載
ftp://ftp.nocrew.org/pub/nocrew/unix/httptunnel-3.0.5.tar.gz
tcpdump首頁及相關資源
http://www.tcpdump.org
SNORT首頁及相關資源
http://www.snort.org
NSS關於IDS系統的評測報告
http://www.nss.co.uk/ids/index.htm
Open source mounts IDS challenge 的報道
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產品
http://www.whalecommunications.com
StealthWatch產品
http://www.lancope.com/products

關於作者
宮一鳴,男,26 歲,河南電信網路關鍵裝置進階系統管理員,主任工程師,中國電信國家級跨世紀人才,中國電信網路安全小組核心成員,河南電信網路安全小組成員。您可以通過E-mail :yiming@security.zz.ha.cn或網站http://security.zz.ha.cn聯絡他! 

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。