最近讀了一篇有關arp欺騙和中間人攻擊的文章,於是乎就想着自己實現一下,順便驗證下微信在回話劫持后的安全性。
1.本機環境
Macbook Air:OS X 10.11 El Captain
2.推薦工具
Nmap(網絡探測工具和安全/端口掃描器)
$ brew install nmap
Ettercap(arp欺騙和dns欺騙工具)
$ brew install ettercap –with-gtk+
Driftnet(網絡包圖片解析器)
首先要安裝macport(https://www.macports.org/),然后在terminal運行一下命令
$ sudo port install driftnet
3.實施步驟
3.1 查看設備
首先使用nmap工具查看同一局域網環境下的網絡使用情況
nmap -sP 192.168.1.0/24
效果如下:
這里我們可以看到同一局域網環境下,192.168.1.1是一台華碩的路由器,另外還有一部iphone,一個iWatch和一台未命名設備。我們可以看到iWatch其實是自帶wifi模塊,希望蘋果在接下來幾個watchos版本可以把這個功能開放給開發者。
3.2 arp欺騙與回話劫持
接下來就是強大的ettercap出場的時候了,使用以下命令啟動GUI
sudo ettercap -G
嗅探無線網卡
遍歷局域網內的設備列表
將像劫持的設備ip加入target 1,把網關加入target 2,啟動arp欺騙
這時候被侵入的目標設備會認為我們是網關,而網關會認為我們是被侵入的目標設備,我們扮演了一個中間人的角色。而這個工具會自動將包轉發給正確的目標,在目標看來我們仿佛並不存在。大家可以用wireshark來檢驗是否劫持成功,因為arp的原理,欺騙的有效性並不能保證100%。大家可以多試幾次。
3.3 抓取圖片
我們使用Driftnet來檢驗下我們的成果,這里我只是用來檢驗微信的圖片傳輸安全性與否,大家切莫用在不合法的目的上。下面的命令是監控無線網卡並且將其中的明文圖片信息保存在某個文件夾中。
$ driftnet -i en0 -d ~/Desktop/pic -a
4.驗收成果
由於我劫持的是我自己的iphone,用它打開微信,操作來驗證
經過測試發現,朋友圈里的sight不會被加密,其他的圖片都是加密過的。在聊天過程中的圖片都是加密過的。但是有一點很奇怪,查看自己所發的朋友圈時所有的圖片都是明文傳輸,以后大家想發private小圖片到自己的朋友圈要小心點咯。Favorite里的圖片也是不加密的,所以大家不要收藏些亂七八糟的東西了。_^