小試ettercap的MITM***(之二):測試sslstrip

   (修正了第一次發時的一些錯誤)

   書接上篇。上次講了利用arp欺騙的原理,在內網嗅探明碼發送的用戶名和密碼,這一次再來說說有ssl加密的嗅探。

   利用ettercap,加上sslstrip的輔助,同樣可以嗅探經過ssl加密的部分https數據。關於https和ssl的詳細原理,可以查找相關文獻。先介紹一下這次的測試環境,一個是win8 x64的機器,利用電腦自帶的無線網卡接入AP,地址是192.168.1.30(我的筆記本電腦),扮演我們需要嗅探的對象;扮演***者的是vmware裏安裝的kali linux,利用USB外接的網卡聯網,IP地址192.168.1.106,和被***者(其實是虛擬機的宿主)在同一個網段;網關是家中的AP(好慘!天天被測試!),地址192.168.1.1。上一篇被***者用的是安卓手機,這一次用的是筆記本電腦,爲了演示方便,其實原理一樣,只要手機上某個程序是通過https協議接入的,都適用。

   利用sslstrip和ettercap嗅探的步驟很簡單,就4步,可參考這一篇文章:http://xiao106347.blog.163.com/blog/static/21599207820131121112420259/

   下面是demo time:

   step 1: 設置iptables規則(關於iptables的語法和作用,鳥哥的書裏介紹的很詳細噢!)

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000

   要查看設置結果用下列命令:

iptables -t nat -L --line-numbers

   要刪除的話,將-A改爲-D就可以了,或是用剛纔--line-numbers顯示出的編號進行刪除。

   運行效果如下:

wKioL1L7fjjwYqNtAAHrBC_xHSQ986.jpg


   step 2:用sslstrip監聽剛纔設置的端口10000。由於sslstrip運行時經常報錯,但不影響運行效果,爲了界面更加清爽,我習慣將錯誤輸出隱藏(2>/dev/null),命令行如下:

   sslstrip -l 10000 2>/dev/null

 sslstrip -h可以顯示一些參數,其中較常用的是-f,在瀏覽器標題欄上顯示一個小鎖的圖標;-k,代表kill session,強行切斷用戶當前連接,讓他們重新連接網站,便於嗅探數據。

   效果如下:wKiom1L7f4eC5YRrAACU6fwqmb8595.jpg


   step 3:設置ettercap進行嗅探,命令和上次一樣:

       ettercap -T -q -i wlan0 -M arp:remote /192.168.1.30/ /192.168.1.1/

   (由於ettercap會自動設定ip轉發,所以許多網頁上說的 echo "1">/proc/sys/net/ipv4/ip_forward 這個命令沒有必要。)

   效果如下:

wKiom1L7gNvgCsMsAADck2iDObE797.jpg


   嗅探環境設置完成了。下面,在宿主機器登陸一些常用的由https加密的網站,測試sslstrip的嗅探效果。首先是百度,結果證明,在百度首頁上登錄的用戶名和密碼可以被監測到,而且正常登錄:

wKioL1L7gT3yIXmAAAEPutZvP8U690.jpg


   接下來是我經常買東東的電商amazon.cn,沒有幸免:

wKiom1L7gZXTid_-AALu3xVZuwk235.jpg


   接着測試了QQ Mail,Gmail,Sina,tmall,alipay等一些網站,部分嗅探出敏感信息,部分網站瀏覽有問題,看來針對sslstrip的劫持方法進行了規避。其實sslstrip是在2009年DefCon上提出的方法,經過快5年了,應對方法早就成熟,嗅探效果已經大不如從前。

   還測試了一下京東,登錄時如果不選擇安全控件,那麼用戶名和密碼都是明文。選擇安全登錄後,密碼被加密了,強烈建議在可以安全登錄時務必這樣做。

   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章