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協議)
賬戶:test0101.ssl@gmail.com
密碼:abcd7890
3 兩種針對SSL的中間人攻擊
Cain & Abel
Cain&Abel是由Oxid.it公司開發的一款針對Microsoft操作系統的網絡攻擊利器,它操作簡單、功能強大,尤以ARP欺騙攻擊著稱。Cain不僅能實現針對HTTP的MITM攻擊,也能對HTTPS進行攻擊。基本的攻擊過程為:
ARP欺騙,使得攻擊者能截獲所有目標主機的網絡流量;
攻擊者不是一個簡單的中繼,一方面它在服務器端與瀏覽器進行SSL握手,同時作為一個SSL客戶又與目標服務器進行另一次SSL握手;
通過建立兩條SSL連接,使得攻擊者成為一個“中間人”。
由于SSL握手時要通過證書來驗證彼此的身份,攻擊者并不知道目標服務器所使用的私鑰,在這種情況下,要成功實施攻擊,攻擊者必須進行證書的偽造,瀏覽器通常會向用戶發出警告,并由用戶自行決定是否信任該證書。下面進行詳細的圖文說明。
正常Gmail的登陸畫面。

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


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

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

通過以上分析可以發現,用戶對于偽造證書的判斷是攻擊能否成功的關鍵,如果用戶有著較強的安全意識和豐富的網絡知識那么被攻擊的可能性將大大降低,畢竟瀏覽器中的安全提示還是非常醒目的。筆者相信隨著網絡知識的不斷普及,這種攻擊手段的生存空間會不斷被擠壓。
sslstrip
Cain & Abel雖然能實現SSL攻擊,但是偽造證書的局限性還是很明顯的, sslstrip是在09年黑帽大會上由Moxie Marlinspike提出的一種針對SSL攻擊的方法,其思想非常簡單:
ARP欺騙,使得攻擊者能截獲所有目標主機的網絡流量;
攻擊者利用用戶對于地址欄中HTTPS與HTTP的疏忽,將所有的HTTPS連接都用HTTP來代替;
同時,與目標服務器建立正常的HTTPS連接;
由于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<img wp-image-2530"="" height="499" data-cke-saved-src=http://images.51cto.com/files/uploadimg/20121120/1326016.jpg" src=http://images.51cto.com/files/uploadimg/20121120/1326016.jpg">
步驟五:嗅探得到登陸Gmail郵箱的用戶名和密碼;
# ettercap -T -q -i eth0

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

可以看到,網頁上沒有任何不安全的警告或是提示,只是原先的HTTPS連接已經被HTTP連接所替換,并且為增加迷惑性,網頁的圖標被修改成了一個銀色的鎖圖案。但是,假的畢竟是假的,一方面無法查看到任何證書的信息,另外如果在網址前輸入https://,則網頁無法發開。因此,sslstrip并不是萬能的攻擊方法。
4 小結
本文的目的主要是想告訴讀者,網絡安全技術日新月異的同時,攻擊方法也在悄然發生著變化,采用了SSL加密通信并不一定能保證通信的隱密性和完整性,為此,筆者展示了兩種SSL的中間人攻擊方法,前者是常規思路,后者則另辟蹊徑。希望今后大家能提高警惕,準確辨識你的通信是否正遭到攻擊,尤其是在完成重要操作時,如網銀交易等。
【文章來源:互聯網 | 作者:佚名】