Wimonitor是一款非常優秀的黑客工具,它不僅可以幫滲透測試人員省去配置虛擬機和無線網卡等一系列麻煩事,而且它的Web接口配置起來也非常的方便。實際上,它就是一款TP-Link-MR3020路由器,只不過它使用的是自定義固件,並能夠將監控到的網絡數據包轉發給主機電腦(Mac或Windows等主機),而我們此時就可以使用WireShark來對數據包進行分析了。
但是,我們可不可以使用樹莓派來實現一樣的功能呢?答案當然是肯定的,因此在這篇文章中,我們將教會大家如何使用樹莓派3B來搭建一個穩定的WiFi監控平台,並通過幾個簡單的步驟來將其模擬成一個Wimonitor。
硬件要求
1. 運行Windows的筆記本電腦(測試設備使用的是Windows 8.1)
2. 樹莓派3B、Micro SD卡、電源適配器(USB 3.0足夠驅動樹莓派+無線網卡了)
3. 網線(連接樹莓派和筆記本電腦)
4. 支持監聽模式的無線網卡(例如TL-WN722N v1)
安裝配置
首先,將RASPBIAN STRETCH LITE刻到Micro SD卡中,這是一個輕量級操作系統,並且支持例如TL-WN722N之類的無線網卡,具體的步驟請參考【操作指南】。
刻錄完成之后,我們可以通過在SD卡中創建一個名叫ssh的空文件(無需文件擴展名)來啟用樹莓派的SSH功能。
為了確保筆記本電腦能夠跟Pi正常通信,最簡單的方法就是用筆記本給Pi共享WiFi,這樣就可以保證Pi的IP地址在192.168.137.x范圍內。進入網絡連接設置(ncap.cpl),右鍵點擊Wi-Fi適配器,然后選擇屬性。在“Sharing”標簽頁中,選擇需要插入Pi的以太網適配器,點擊OK。
接下來,將Pi與筆記本主機連接,然后把SD卡插到Pi的卡槽中,將無線網卡插入到USB端口連接網線(筆記本主機-Pi),然后啟動設備。
當Pi啟動之后,它將會使用共享鏈接的IP地址,你可以在筆記本主機上使用nmap(對192.168.137.1/24子網進行主機搜搜)來查看Pi的IP地址。
打開PuTTY,然后使用ssh登錄到Pi,我們所使用的Raspbian操作系統默認的用戶名和密碼分別為pi和raspberry。
給Pi設置一個靜態地址,打開/etc/dhcpcd.conf並將下列代碼添加到文件末尾:
interfaceeth0 staticip_address=192.168.137.100/24 staticrouters=192.168.137.1 staticdomain_name_servers=192.168.137.1
我個人比較喜歡使用基於密鑰的SSH登錄驗證。打開PuTTYgen,然后生成一個密鑰對。
在Pi的home目錄中創建一個.ssh文件夾,然后在這個文件夾中創建一個名叫authorized_keys的文件,將PuTTYgen生成的公鑰復制到這個文件中,最后自己保存好PuTTYgen生成的私鑰,並重啟Pi的SSH服務。結束之后,別忘了修改Pi的默認密碼。
Raspbian操作系統沒有自帶與網絡監控有關的數據包,因此你可以使用下列命令來安裝這些包:
sudo aptupdate sudo aptinstall aircrack-ng tcpdump -y
接下來,我們需要在Pi上測試無線網卡的監聽功能是否正常。
既然我們已經驗證了Pi能夠正常進行網絡監控了,我們就可以使用SSH登錄到Pi,然后在Pi上運行rcpdump,並將信息轉發給運行在筆記本主機中的Wireshark。
plink.exe是PuTTY.exe的Windows命令行接口,為了方便起見,我把plink.exe和PuTTYgen生成的SSH私鑰放在了同一個文件夾中。如果這些文件不在同一文件夾中,你就需要相應地修改下列代碼中的路徑了:
plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.234 "sudo tcpdump -niwlan1mon -s 0 -w -" | "C:\Program Files\Wireshark\Wireshark.exe"-k -i -
如果你只想監聽信道1,你可以使用下列命令:
sudo iwconfig wlan1mon channel 1
下面的命令可以開啟Pi無線網卡的監聽模式:
plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.100 "sudo airmon-ng startwlan1"
接下來,我們可以在筆記本主機中開啟Wireshark並開始監聽無線網絡數據:
plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.100 "sudo tcpdump -niwlan1mon -s 0 -w -" | "C:\Program Files\Wireshark\Wireshark.exe"-k -i -
OK,一切搞定!大家快去自己動手嘗試一下吧!