針對SSL的中間人攻擊

作者: szzm8767 (1 篇文章) 日期: 十月 11, 2011 在 3:46 下午

1 中間人攻擊概述
    中間人攻擊(Man-in-the-Middle Attack, MITM)是一種由來已久的網絡入侵手段,並且在今天仍然有着廣泛的發展空間,如SMB會話劫持、DNS欺騙等攻擊都是典型的MITM攻擊。簡而言之,所謂的MITM攻擊就是通過攔截正常的網絡通信數據,並進行數據篡改和嗅探,而通信的雙方卻毫不知情。

    隨着計算機通信網技術的不斷髮展,MITM攻擊也越來越多樣化。最初,攻擊者只要將網卡設爲混雜模式,僞裝成代理服務器監聽特定的流量就可以實現攻擊,這是因爲很多通信協議都是以明文來進行傳輸的,如HTTP、FTP、Telnet等。後來,隨着交換機代替集線器,簡單的嗅探攻擊已經不能成功,必須先進行ARP欺騙才行。如今,越來越多的服務商(網上銀行,郵箱登陸)開始採用加密通信,SSL(Secure Sockets Layer 安全套接層)是一種廣泛使用的技術,HTTPS、FTPS等都是建立在其基礎上的。筆者將以常見的Gmail郵箱登陸爲例,探討針對SSL的MITM攻擊的兩種實現方式。

2 環境的搭建
網絡環境:
⋆ 網關:192.168.18.254;
⋆ 攻擊主機:192.168.18.102,VMware虛擬機;
⋆ 被攻擊主機:192.168.18.100,Windows7,IE9;

攻擊目標:
● Gmail郵箱登陸 (HTTPS協議)
● 賬戶:[email protected]
● 密碼:abcd7890

3 兩種針對SSL的中間人攻擊
3.1 Cain & Abel
    Cain&Abel是由Oxid.it公司開發的一款針對Microsoft操作系統的網絡攻擊利器,它操作簡單、功能強大,尤以ARP欺騙攻擊著稱。Cain不僅能實現針對HTTP的MITM攻擊,也能對HTTPS進行攻擊。基本的攻擊過程爲:
    1) ARP欺騙,使得攻擊者能截獲所有目標主機的網絡流量;
    2) 攻擊者不是一個簡單的中繼,一方面它在服務器端與瀏覽器進行SSL握手,同時作爲一個SSL客戶又與目標服務器進行另一次SSL握手;
    3) 通過建立兩條SSL連接,使得攻擊者成爲一個“中間人”。

    由於SSL握手時要通過證書來驗證彼此的身份,攻擊者並不知道目標服務器所使用的私鑰,在這種情況下,要成功實施攻擊,攻擊者必須進行證書的僞造,瀏覽器通常會向用戶發出警告,並由用戶自行決定是否信任該證書。下面進行詳細的圖文說明。

正常Gmail的登陸畫面。


被攻擊者需要選擇是否信任證書,可以看到僞造的證書信息與上圖中真實證書還是有很大的區別的。




登陸郵箱後的畫面,可以看到證書錯誤的提示依然是很醒目的。


攻擊者已成功嗅探到Gmail郵箱的登陸用戶名和密碼。


    通過以上分析可以發現,用戶對於僞造證書的判斷是攻擊能否成功的關鍵,如果用戶有着較強的安全意識和豐富的網絡知識那麼被攻擊的可能性將大大降低,畢竟瀏覽器中的安全提示還是非常醒目的。筆者相信隨着網絡知識的不斷普及,這種攻擊手段的生存空間會不斷被擠壓。

3.2 sslstrip
    Cain & Abel雖然能實現SSL攻擊,但是僞造證書的侷限性還是很明顯的, sslstrip是在09年黑帽大會上由Moxie Marlinspike提出的一種針對SSL攻擊的方法,其思想非常簡單:
    1) ARP欺騙,使得攻擊者能截獲所有目標主機的網絡流量;
    2) 攻擊者利用用戶對於地址欄中HTTPS與HTTP的疏忽,將所有的HTTPS連接都用HTTP來代替;
    3) 同時,與目標服務器建立正常的HTTPS連接;
    4) 由於HTTP通信是明文傳輸,攻擊者能輕鬆實施嗅探。

    筆者將採用BackTrack作爲攻擊平臺,BackTrack是基於Linux的一套滲透測試工具包,目前,國內各大論壇有很多關於使用BackTrack來進行無線wifi密碼破解的教程,其實它在其他領域也有着極其強大的功能。

步驟一:啓用內核包轉發,修改/proc/sys/net/ipv4/ip_forward文件,內容爲1; 
#echo 1 > /proc/sys/net/ipv4/ip_forward

步驟二:端口轉發,10000爲sslstrip的監聽端口;
#iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000

步驟三:shell1,ARP欺騙;
#arpspoof -i eth0 -t 192.168.18.100 192.168.18.254


步驟四:shell2,開啓sslstrip;
#sslstrip -a -k -f


步驟五:嗅探得到登陸Gmail郵箱的用戶名和密碼;
#ettercap -T -q -i eth0


那麼這種方法是否是萬能的呢,下面就來看看被攻擊者瀏覽器的變化。

    可以看到,網頁上沒有任何不安全的警告或是提示,只是原先的HTTPS連接已經被HTTP連接所替換,並且爲增加迷惑性,網頁的圖標被修改成了一個銀色的鎖圖案。但是,假的畢竟是假的,一方面無法查看到任何證書的信息,另外如果在網址前輸入https://,則網頁無法發開。因此,sslstrip並不是萬能的攻擊方法。

4 小結
    本文的目的主要是想告訴讀者,網絡安全技術日新月異的同時,攻擊方法也在悄然發生着變化,採用了SSL加密通信並不一定能保證通信的隱密性和完整性,爲此,筆者展示了兩種SSL的中間人攻擊方法,前者是常規思路,後者則另闢蹊徑。希望今後大家能提高警惕,準確辨識你的通信是否正遭到攻擊,尤其是在完成重要操作時,如網銀交易等。

分類: 高校博客大獎賽 
發佈了10 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章