0x00前言
前段時間用TPYBoardv202做了一個簡單的WIFI干擾攻擊器(ps:沒有看過的小伙伴,可以看一下:www點freebuf點com/column/136985.html),最近幾天,一直在想,如何用單片機實現一次完整的wifi攻擊。于是想在干擾后,是否能成功拿到wifi的登陸密碼。
0x01攻擊構思
利用tpyboardv202將wifi干擾的同時,將v202的ssid和信道改為與受干擾wifi相同的SSID及信道。此時,受干擾用戶極有可能去連接虛假的WIFI,當用戶連接后,無論用戶訪問哪個網絡都會跳出偽裝的輸入密碼的頁面,從而誘導其寫入密碼。當密碼寫入后,v202后嘗試驗證密碼的正確性,如果正確將停止干擾,并將密碼存入TF卡,否則再次進行干擾。
0x02搭建開發環境
1、首先你的需要TPYBoardv202和TPYBoardV102開發板各一塊。
2、網上下載了一個使用esp8266制作Deauth無線攻擊的開源固件,是arduino開發的。
github下載地址:https://github.com/PakchoiFood/TPYBoard-v202-v102-EvilPlans
里面包含了arduinoIDE(arduino-1.8.2-windows.exe)、固件源碼(esp8266_wifi.rar)、TPYBoardv102的源碼(TPYBoardv102.rar)和串口調試工具(XCOMV2.0.rar)。另外,還需要esp8266開發包(Arduino15-2.rar)可以從下面鏈接:http://pan.baidu.com/s/1pLnwz7l下載。
2、下載完畢后,解壓如下:
1.png (18.79 KB, 下載次數: 52)
下載附件
2017-7-4 10:52 上傳
esp8266_wifi.rar的固件是在上一篇【邪惡改裝:TPYBoard制作廉價WIFI干擾器】的實驗基礎上增加了騙取WIFI密碼的功能。同時使用串口和TPYBoardv102進行連接,將獲取到的WIFI密碼傳遞給v102,v102接收到正確的密碼后,進行TF卡的存儲,同時也記錄下攻擊日志。
3、雙擊arduino-1.8.2-windows.exe安裝arduinoIDE。(如果你已經安裝過arduinoIDE,這步可以省略)。
4、安裝完畢后,打開arduino,菜單找到文件—》首選項,點擊紅色區域進入SDK目錄。我的路徑是:C:\Users\Sen\AppData\Local\Arduino15。
2.png (23.13 KB, 下載次數: 45)
下載附件
2017-7-4 10:52 上傳
5、解壓Arduino15-2.rar,將里面的全部內容直接覆蓋C:\Users\Sen\AppData\Local\Arduino15下的文件。
3.png (43.97 KB, 下載次數: 52)
下載附件
2017-7-4 10:53 上傳
0x03編譯燒寫固件
1、如果你對V102及V202的使用方法不熟悉,可以參考TPYBoard官方docs網站。
http://docs點tpyboard點com/zh/latest/tpyboard/tutorial/
TPYBoardv102源代碼(main.py)
- import pyb
- from pyb import UART
- u4=UART(4,115200)
- mkdir_='/sd/log.txt' #需先插入TF卡 新建log.txt
- pyb.LED(2).on()
- while True:
- if(u4.any()>0):# 判斷串口是否有數據
- _mag=''
- pyb.LED(3).toggle()
- f=open(mkdir_,'a')
- _data=u4.readline()#讀取一行數據
- _dataMsg=_data.decode('utf-8')#將字節數據轉碼成utf-8 編碼的字符串
- print('_dataMsg:',_dataMsg)
- #解析數據
- _index_h=_dataMsg.find('tpyboardpwd')
- _index_e=_dataMsg.find('*')
- if _index_h>-1 and _index_e>-1 and (_index_e-_index_h)>11:
- _dataMsg=_dataMsg.replace('tpyboardpwd','').replace('*','')
- print('GetPwd:',_dataMsg)
- _mag=_mag+'---------------attack log------------\r\n'
- _mag=_mag+'SSID:'+_dataMsg.split('+')[0]+'--'+'PWD:'+_dataMsg.split('+')[1]
- print('-------------------------\r\n')
- pyb.LED(4).toggle()
- if _mag!='':
- f.write(_mag)#將獲取到的SSID和PWD 保存在日志文件中
- f.close()
復制代碼
2、本文重點講解TPYBoardv202的使用方法
(1)解壓esp8266_wifi.rar,arduinoIDE菜單欄文件-》打開esp8266_wifi源碼包下的esp8266_deauther\esp8266_deauther.ino
(2)TPYBoardv202使用microUSB數據線接入電腦。查看安裝的usb轉串的端口。打開電腦的設備管理器(這里是COM44)
4.png (14.19 KB, 下載次數: 51)
下載附件
2017-7-4 10:53 上傳
(3)工具-》端口,選擇COM44(根據自己的實際端口號選擇)
5.png (48.6 KB, 下載次數: 74)
下載附件
2017-7-4 10:53 上傳
(4)菜單欄下面的綠色圖標菜單區,選擇上傳,開始編譯,燒寫固件
6.png (42.52 KB, 下載次數: 50)
下載附件
2017-7-4 10:53 上傳
(5)查看最下方的日志區域
7.png (3.32 KB, 下載次數: 48)
下載附件
2017-7-4 10:54 上傳
8.png (9.19 KB, 下載次數: 57)
下載附件
2017-7-4 10:54 上傳
等待編譯完成,出現上圖信息(狀態:變為“上傳”)時,按住FLASH的同時,按一下RST按鍵松開,讓TPYBoardv202復位一下,繼續按著FLASH,出現下面的信息時就可以松開FLASH按鍵了。
9.png (12.78 KB, 下載次數: 65)
下載附件
2017-7-4 10:54 上傳
0x04硬件的連接
代碼和程序都完成了,接下來需要將TPYBoardv102和TPYBoardv202的串口連接起來。
連接示意圖:
連接實物圖:
實物1.jpg (94.18 KB, 下載次數: 61)
下載附件
2017-7-4 10:54 上傳
實物2.jpg (52.28 KB, 下載次數: 61)
下載附件
2017-7-4 10:54 上傳
0x05測試效果
1、 首先用我自己家的WIFI做測試,我先用手機接入WIFI(Tend_01CB30)。
2、解壓XCOMV2.0.rar,解壓雙擊運行XCOMV2.0.exe串口助手。打開串口根據自己的選擇,我的是COM44波特率115200其余默認,打開串口,就可以看到v202打印的信息了。
ps:剛才v202燒寫完固件后會馬上自啟動,所以這里先復位一下v202,按一下RST,這樣我們就可以看到從開始到最后的整個過程了。
10.png (14.38 KB, 下載次數: 60)
下載附件
2017-7-4 10:55 上傳
3、大家可以看到,v202啟動會搜索到了很多附近的WIFI,然后它就判斷出那一個信號最強,我這里肯定是我家的最強了,于是v202開始攻擊[Tend_01CB30]這個WIFI,同時也會建立一個開放的[Tend_01CB30]熱點。攻擊時,v202上的小藍燈會常亮。
11.jpg (34.94 KB, 下載次數: 50)
下載附件
2017-7-4 10:55 上傳
4、此時我的手機已經連接不到我原有路由器的[Tend_01CB30]的WIFI。這時,如果換成完全不知情的別人,極有可能會去手機設置里面看,怎么連接不上網絡了?
5、這時他就會手動去點擊連接[Tend_01CB30],當然他會發現有兩個一樣名字的WIFI,因為我們是Open的,所以他再連接他原有WIFI失敗后,會連入到偽裝的WIFI上來。
6、當我們成功騙取他連接我們的WIFI后,只要打開瀏覽器,輸入任何網址,都會自動跳轉到虛假網絡密碼確認頁面。
12.jpg (36.56 KB, 下載次數: 59)
下載附件
2017-7-4 10:55 上傳
7、測試輸入12345678點擊確認,串口調試助手中可以看到獲取到的WIFI密碼,然后停止攻擊,小藍燈會熄滅。
8、同時,v202會自己先去嘗試連接,來驗證密碼的準確性,如果連接成功的話,會自動將密碼傳送給v102進行保存;如果連接失敗,v202會繼續進行干擾攻擊。
13.png (34.54 KB, 下載次數: 46)
下載附件
2017-7-4 10:55 上傳
9、查看一下TF卡中的log.txt文件,是否記錄了剛才破解的密碼。
(TPYBoardv102使用TF卡時,數據不會實時更新,你需要重新復位才能看到剛才更新的log.txt的內容)
14.png (6.67 KB, 下載次數: 55)
下載附件
2017-7-4 10:55 上傳
本實驗僅供學習參考。
|