邪惡改裝2:用單片機實現一次簡單的wifi密碼欺騙

0×00 前言

         前段時間用TPYBoard v202 了一個簡單的WIFI干擾攻擊器(ps :沒有看過的小夥伴,能夠看一下http://www.freebuf.com/column/136985.html ),最近幾天,一直在想,如何用單片機實現一次較完整的wifi攻擊。因而結合釣魚考慮是否能利用單片機成功拿到wifi的登錄密碼。
html

0×01 攻擊構思

        第一步,利用tpyboard v202將wifi干擾;python

        第二步,將v202的ssid和信道改成與受干擾wifi相同的SSID及信道;git

        第三步,製做釣魚頁面;github

        第四步,受干擾用戶極有可能去鏈接虛假的WIFI,當用戶鏈接後,不管用戶訪問哪一個網絡都會跳出假裝的釣魚頁面,從而誘導其寫入密碼。編程

        第五步,當密碼寫入後,v202後嘗試驗證密碼的正確性,若是正確將中止干擾,並將密碼經過tpyboard存入TF卡,不然繼續幹擾。
windows

0x02 搭建開發環境

         一、首先你的須要TPYB oard v202和TPYBoard V102(用於接收密碼信息)開發板各一塊,tpyboard V102自帶TF卡,並且用python編程,相對來講操做較簡單,且能支持存儲。
瀏覽器

         2、網上下載了一個使用esp8266 製做Deauth無線攻擊開源固件,arduino開發的。 github下載地址https://github.com/PakchoiFood/TPYBoard-v202-v102-EvilPlans 裏面包含了arduino IDE(arduino-1.8.2-windows.exe )、固件源碼esp8266_wifi.rar )、TPYBoard v102的源碼(TPYBoard v102.rar)和串口調試工具(XCOM V2.0.rar )。另外,還須要esp8266開發包(Arduino15-2.rar )能夠從下面連接:http://pan.baidu.com/s/1pLnwz7l  下載
網絡

        三、下載完畢後,解壓工具

 

esp8266_wifi.rar固件是在上一篇【邪惡改裝:TPYBoard製做廉價WIFI干擾器】的實驗基礎上作了修改,使用串口和TPYBoard v102進行鏈接將獲取到的WIFI密碼傳遞給v102,v102接收到正確的密碼後進行TF卡的存儲,同時也記錄下攻擊日誌。測試

        四、雙擊arduino-1.8.2-windows.exe 安裝arduino IDE。(若是你已經安裝過arduino IDE,這步能夠省略)。

        五、安裝完畢後,打開arduino,菜單找到 文件—》首選項,點擊紅色區域進入SDK目錄。個人路徑是:C:\Users\Sen\AppData\Local\Arduino15

 

 

        六、解壓Arduino15-2.rar,將裏面的所有內容直接覆蓋C:\Users\Sen\AppData\Local\Arduino15下的文件

 

0x03編譯燒寫固件及程序代碼

        一、若是你對V102及V202的使用方法不熟悉,能夠參考TPYBoard 官方docs網站http://docs.tpyboard.com/zh/latest/tpyboard/tutorial/

TPYBoard v102 源代碼(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()

 

        二、TPYBoard v202的使用

        (1)解壓esp8266_wifi.rar,arduino IDE菜單欄 文件-》打開esp8266_wifi源碼下的esp8266_deauther\esp8266_deauther.ino

       (2)TPYBoard v202 使用micro USB數據線接入電腦查看安裝的usb轉串的端口。打開電腦的設備管理器(這裏COM44)。

 

        (3)工具-》端口,選擇COM44(根據本身實際端口號選擇

 

 

        (4)菜單欄下面的綠色圖標菜單,選擇上傳開始編譯燒寫固件

 

 

        (5)查看最下方的日誌區域

等待編譯完成,出現上圖信息(狀態:變爲「上傳」)時,按住FLASH的同時,按一下RST按鍵鬆開,讓TPYBoard v202復位一下,繼續按着FLASH,出現下面的信息時就能夠鬆開FLASH按鍵了。

 

0x04硬件的鏈接

        代碼和程序都完成了接下來須要將TPYBoard v102和TPYBoard v202 的串口鏈接起來。 鏈接示意圖

鏈接實物圖

0x05 測試效果

一、 本身家的WIFI作測試,先用手機接入WIFI(Tend_01CB30)。

二、解壓XCOM V2.0.rar(或者使用其它的串口工具),解壓雙擊運行XCOM V2.0.exe 串口助手。打開串口選擇V202所在串口(個人是COM44), 波特率改成115200 ,其他默認打開串口,就能夠看到v202打印的信息了。

ps:剛纔v202燒寫完固件後會立刻自啓動因此這裏先復位一下v202按一下RST,這樣咱們就能夠看到從開始到最後的整個過程了

 

 

        3、你們能夠看到,v202啓動會搜索到了不少附近的WIFI,而後它就判斷出那一個信號最強,我這裏恰好是我家的最強,因而v202開始攻擊[Tend_01CB30] 這個WIFI,同時也會創建一個開放的[Tend_01CB30]熱點。攻擊時v202上的小藍燈會常亮

 

 

        4此時手機已經鏈接不到原有路由器[Tend_01CB30]的WIFI。這時若是換成徹底不知情的別人,極有可能會去手機設置裏面,怎麼鏈接不上網絡了?

        5、此時,他只能鏈接到咱們假裝的WIFI上來。

        六、當其成功鏈接到假裝的WIFI後,只要打開瀏覽器輸入任何網址都會自動跳轉到虛假網絡密碼確認頁面。

 

 

 

        七、測試輸入12345678點擊確認,串口調試助手中能夠看到獲取到的WIFI密碼,而後中止攻擊,小藍燈會熄滅。

        八、同時v202會本身先去嘗試鏈接來驗證密碼的準確性若是鏈接成功的話會自動將密碼傳送給v102 進行保存;若是鏈接失敗,v202會繼續進行干擾攻擊。

 

 

        9、查看一下TF卡中的log.txt文件,是否記錄了剛纔破解的密碼。

0×06 擴展

        本實驗作的有點粗,能夠再作精細一點,好比V202徹底由V102來供電(將V102的5V、GND與V202的VIN、GND鏈接),這樣就是一整套設備,只須要加個電源供電就能夠長期放在一邊,靜等密碼了。呵呵。

 

【免責聲明】

        以上方法,僅作學術研究,請不要在非合法狀況下實施攻擊,這種行爲將會被視做非法活動。由本軟件所形成的任何不良後果,做者將不承擔任何責任,請各位謹慎使用。

相關文章
相關標籤/搜索