2015年1月17日 星期六

移動式滲透測試--帶著我的 Nexus7進行 Wifi 行動探索(Wardriving/Warwalking)

所謂 Wardriving就是利用移動的車輛沿街探索可用的Wifi基地台,而另一種叫Warwalking(或叫Warjogging)是相同的概念,只是改用走路的方式。行動探索是資料集的方法之一。
安裝 NetHunter之後,會多出一支 BlueNMEA APP,這支程式將平板上的GPS 資料透過藍芽或TCP網路傳送到接收裝置,例如我們可以利用 gpsd 接收來自 BlueNMEA 的資料。另外使用 Kismet 來收集WiFi基地台資料,同時 Kismet 也會自動跟 gpsd 協同合作,在接收 Wifi 基地台資料同時亦收集對應的 GPS 資料,如此就可以描繪出各基地台的地理位置。
請注意NetHunter無法直接利用平板內建的Wifi 裝置來探索基地台,必須利用外接的USB 網卡才行,有關NetHunter支援的網卡可參考:http://www.nethunter.com/faq/#whatis,本篇的實驗是使用「TL-WN722N」這支USB網卡完成的。
實現步驟:
一、因為Kali 未預安裝 gpsd ,所以請先在 NetHunter 的 Kali 終端機利用 「apt-get install gpsd」完成 gpsd 的安裝。
二、啟用平板上「定位」的GPS 功能,並連接 TL-WN722N 到平板。
  
三、啟動平板裡的 BlueNMEA 程式。
四、在 Kali 的終端裡執行 「gpsd -N -n -D5 tcp://localhost:4352」 ,可以看到視窗一直吐出訊息,請不要關閉這個終端機。
五、開啟新的終端機,並執行「kismet」,因只有一張網,kismet 會自動利用此網卡,在啟動過程中會問要不要「Start Server」,請選擇啟動。
如果Android 有啟動 Wifi ,kismet 可能會找到兩張 Wifi,則可以利用 kismet -c wlan1  方式指定監聽的網卡來源。
     
六、接著 kismet 就開始將收集到的資料寫到 /capture/kismet/kismet???.netxml 的XML檔案中(???是指kismet自動產生的日期及序號),此時就可以帶著平板去旅行了。出去散步吧,開車、走路都可以啦! 最後結束 kismet 。
七、收集回來的資料是儲存在 NetHunter 的檔案系統裡,無法透過 Android 的檔案管理員存取,也就是說將平板用USB連線到PC也看不到收集來的檔案。因此要用外接 USB 隨身碟將它複製出來,再交到PC上的 Kali 做後序處理。
1. 將 USB隨身碟連接到平板上。
2. 在 NetHunter 的終端機執行 lsusb ,查看是否有偵測到。
3. 如果 NetHunter 有偵測到USB隨耳碟,執行 ls /dev/block/sd*   應該可以看到 sda 及 sda1  的磁碟分割 (一般 Linux 的裝置會出現在 /dev,但 NetHunter 卻改在 /dev/block)
4. mount /dev/sda1 /mnt/usb   (/mnt/usb 的目錄要先建立)
5. cp /capture/kismet/Kismet-???.netxml /mnt/usb     將資料檔複製到 USB隨身碟裡
6. umount /mnt/usb  卸載 USB 隨身碟
7. 將USB隨身碟從平板上拔下。
八、下一步是將USB隨身碟轉接到PC上,將上一步複製的 .netxml  拖曳到PC 裡的 Kali 目錄中(假設為 /root/kismet/),然後在 PC 的 Kali 終端機執行:
1. cd /root/kismet
2. giskismet -x Kismet-20150116-23-17-53-1.netxml    
將收集來的 .netxml 匯到資料庫(會多出一組wireless.dbl 檔案)
3. giskismet -q“SELECT * FROM WIRELESS”-o output.kml   
wireless.dbl 的內容以查詢(使用 SQL語法)方法結果匯出 Google Earth可以處理的 kml。
九、如果要展示地圖結果,將 .kml 匯入 Google Earth ,即可看出Wifi基地台的分散情形。
1. 開啟 https://www.google.com/maps/  (記得要先登入 Google 才能進行「我的地圖」操作)
2. 點擊左上角「我的地圖
3. 再從展開的選單之右上角選擇「建立
4.最後再「匯入」上面產生的 output.kml 即可看到各基地台的分布形
  
十、實驗結束!

後註:
1. 如果不想被 kismet 收錄到資料,請將基地台的「SSID 廣播」關閉。
2. gpsd 一組處理來自 USB、COM Port 、TCP/IP 或 UDP 等GPS 感測器訊息的服務程式,並透過 TCP 2749 端口以 JSON 格式傳送。

沒有留言:

張貼留言