用单片机实现一次简单的wifi密码欺骗
最近几天,一直在想,如何用单片机实现一次较完整的wifi攻击。于是结合钓鱼考虑是否能利用单片机成功拿到wifi的登陆密码。
0×01 攻击构思
第一步,利用tpyboard v202将wifi干扰;
第二步,将v202的ssid和信道改为与受干扰wifi相同的SSID及信道;
第三步,制作钓鱼页面;
第四步,受干扰用户极有可能去连接虚假的WIFI,当用户连接后,无论用户访问哪个网络都会跳出伪装的钓鱼页面,从而诱导其写入密码。
第五步,当密码写入后,v202后尝试验证密码的正确性,如果正确将停止干扰,并将密码通过tpyboard存入TF卡,否则继续干扰。
0x02 搭建开发环境
1、首先你的需要TPYB oard v202和TPYBoard V102(用于接收密码信息)开发板各一块,tpyboard V102自带TF卡,而且用python编程,相对来说操作较简单,且能支持存储。
2、网上下载了一个使用esp8266 制作Deauth无线攻击的 开源固件,是arduino开发的。 里面包含了arduino IDE、固件源码、TPYBoard v102的源码和串口调试工具。另外,还需要esp8266开发包。
3、下载完毕后,解压
使用串口和TPYBoard v102进行连接,将获取到的WIFI密码传递给v102,v102接收到正确的密码后,进行TF卡的存储,同时也记录下攻击日志。
4、双击arduino-1.8.2-windows.exe 安装arduino IDE。(如果你已经安装过arduino IDE,这步可以省略)。
5、安装完毕后,打开arduino,菜单找到 文件—》首选项,点击红色区域进入SDK目录。我的路径是:C:\Users\Sen\AppData\Local\Arduino15。
6、解压Arduino15-2.rar,将里面的全部内容直接覆盖C:\Users\Sen\AppData\Local\Arduino15下的文件。
0x03编译烧写固件及程序代码
1、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()
2、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 的串口连接起来。 连接示意图:
最近几天,一直在想,如何用单片机实现一次较完整的wifi攻击。于是结合钓鱼考虑是否能利用单片机成功拿到wifi的登陆密码。
0×01 攻击构思
第一步,利用tpyboard v202将wifi干扰;
第二步,将v202的ssid和信道改为与受干扰wifi相同的SSID及信道;
第三步,制作钓鱼页面;
第四步,受干扰用户极有可能去连接虚假的WIFI,当用户连接后,无论用户访问哪个网络都会跳出伪装的钓鱼页面,从而诱导其写入密码。
第五步,当密码写入后,v202后尝试验证密码的正确性,如果正确将停止干扰,并将密码通过tpyboard存入TF卡,否则继续干扰。
0x02 搭建开发环境
1、首先你的需要TPYB oard v202和TPYBoard V102(用于接收密码信息)开发板各一块,tpyboard V102自带TF卡,而且用python编程,相对来说操作较简单,且能支持存储。
2、网上下载了一个使用esp8266 制作Deauth无线攻击的 开源固件,是arduino开发的。 里面包含了arduino IDE、固件源码、TPYBoard v102的源码和串口调试工具。另外,还需要esp8266开发包。
3、下载完毕后,解压
使用串口和TPYBoard v102进行连接,将获取到的WIFI密码传递给v102,v102接收到正确的密码后,进行TF卡的存储,同时也记录下攻击日志。
4、双击arduino-1.8.2-windows.exe 安装arduino IDE。(如果你已经安装过arduino IDE,这步可以省略)。
5、安装完毕后,打开arduino,菜单找到 文件—》首选项,点击红色区域进入SDK目录。我的路径是:C:\Users\Sen\AppData\Local\Arduino15。
6、解压Arduino15-2.rar,将里面的全部内容直接覆盖C:\Users\Sen\AppData\Local\Arduino15下的文件。
0x03编译烧写固件及程序代码
1、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()
2、TPYBoard v202的使用
(1)解压esp8266_wifi.rar,arduino IDE菜单栏 文件-》打开esp8266_wifi源码包下的esp8266_deauther\esp8266_deauther.ino
(2)TPYBoard v202 使用micro USB数据线接入电脑。查看安装的usb转串的端口。打开电脑的设备管理器(这里是COM44)。
copyright 无奈人生
(3)工具-》端口,选择COM44(根据自己的实际端口号选择)
(4)菜单栏下面的绿色图标菜单区,选择上传,开始编译,烧写固件
(5)查看最下方的日志区域
copyright 无奈人生
等待编译完成,出现上图信息(状态:变为“上传”)时,按住FLASH的同时,按一下RST按键松开,让TPYBoard v202复位一下,继续按着FLASH,出现下面的信息时就可以松开FLASH按键了。
0x04硬件的连接
代码和程序都完成了,接下来需要将TPYBoard v102和TPYBoard v202 的串口连接起来。 连接示意图: