一.前言
- Hello大家好啊,博主本次在PDD购买了8266开发模块,用于制作wifi杀手。本次将完整演示wifi杀手的制作、测试、擦除,所有的工具下载地址都会放在文章末尾,以供大家下载。本次实验只用于学习交流,攻击目标为自家WiFi,请勿违法!
二.准备
1.ESP8266网卡
ESP8266是一款物联网WiFi芯片,基于ESP8266可以开发物联网串口WiFi模块,像SKYLAB的WG219/WG229专为移动设备和物联网应用设计,可将用户的物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。另外WG219/WG229仅需要通过出串口使用AT指令控制,就能满足大部分的网络功能需求。
下图为博主花15元购买的ESP8266模块,串口为CH340。 
2.软件驱动
如果之前没有安装过相关的串口驱动,需要下载安装一下软件驱动,也可以用windows自带的驱动搜素工具,自动下载。大家也可以使用CH341SER.EXE自行安装驱动。 
3.烧录工具
博主使用的是ESP8266Flasher,使用它能够一键将固件烧录到8266中,软件图标如下图 
4.Python2
注意这里是Python2,这里使用Python2很方便地擦除固件。 
三.烧录
烧录就是把原程序经编译处理后加载到计算机中,让计算机执行你编写的程序,例如单片机程序烧录的时候是加载.hex文件,储存在单片机中,开机就能实现所写的程序了,简单的说就是让微型计算机开机能执行你的程序的过程就是程序烧录。
本次将ESP 8266的固件烧录到8266模块中。
1.驱动8266
首先打开windows的设备管理器查看一下端口是否驱动,具体操作是:右击此电脑-管理-设备管理器-端口(COM和LPT),也可以参考下图。 
如果之前没有安装过相关的串口驱动,需要下载安装一下软件驱动,我选择的让windows自动搜索更新驱动。 
或者使用CH341SER一键安装驱动。
这样,驱动就准备好了,电脑已经可以通过COM3串口操作8266模块了。
2.配置端口
配置一下端口,选择位/秒的为115200后点确定。 
3.烧录固件
打开ESP8266Flasher,主界面如下图。 
进行一下简单的配置,选择Advanced,将博波特率Baudrate改为115200,与端口配置参数 一致。  再点击config,点击第一行齿轮按钮,设置一下固件所在路径。  然后切换到Operation,确认了COM端口后,点击Flash即可开始烧录了。  烧录过程如下图。  8266的蓝色灯会爆闪,属于正常现象。 
当进度条到头,左下角显示绿色对钩图标后,就烧录完成啦!(不到两分钟) 
四.攻击
攻击原理
802.11 WiFi标准包含一种专门针对网络和连接管理的特殊帧类型,查找wifi时,被动监听WiFi热点所广播出来的“beacon”管理帧(用来表明该热点可用),而“probe-request”,你的设备会发送这种管理帧来查看之前连接过的网络当前是否在周围。如果距离内存在已访问过的网络,相应的热点将会用“probe-response”帧予以响应,这些管理帧存在的问题就是,它们完全没有经过任何的加密,这样做的目的是为了增加WiFi的易用性,因为你完全不需要进行任何的密钥交换或密码确认就可以查看到周围的WiFi网络以及热点名称,但这也增加了WiFi网络的攻击面:任何设备都可以给任何网络发送beacon帧和probe-response帧。
1.首次启动设置
烧录好固件后,就可以开始测试了,需要先断开PC后再连接PC,之后8266模块会发射一个开放的wifi,我们使用手机或者电脑连接上它。 
连接成功后,在浏览器输入192.168.4.1 进入wifi killer管理界面。  首次启动会引导修改wifi ssid和密码 
2.扫描wifi
使用设置好的wifi密码连接好后,在管理界面切换到“扫描”tab,点击扫描。 
3.Deauth攻击
Deaulth攻击全称为取消身份验证洪水攻击或验证阻断洪水攻击,通常被简称为Deauth攻击,是无线网络拒绝服务攻击的一种形式。它旨在通过欺骗从AP到客户端单播地址的取消身份验证帧来将客户端转为未关联/未认证的状态。整个网络发送了伪造的取消身份验证报文,从而阻断了合法用户和AP之间的连接。当客户端试图与AP重新建立连接时攻击者还在继续向信道中发送取消身份验证帧,这将导致客户端和AP始终无法重连。 它旨在通过欺骗从AP到客户端单播地址的取消身份验证帧来将客户端转为未关联/未认证的状态。

在“扫描”界面勾选要攻击的wifi,切换到“攻击”tab”,攻击模式选择Deauth。  点击“START”,开始攻击!  我的手机在正在连接-验证身份-连接成功后马上断开中循环。
4.创建伪AP
Beacon:信标帧(Beacon)数据包用于宣告接入点,通过不断发送信标帧数据包(说白点就是创建许多新的wifi干扰对方的正常连接),由于目前部分设备自带SSID检测,所以我们使用随机生成SSID以达到目的。
1.创建自定义名字的AP
在“添加SSID”的输入框中输入自定义的AP名字,设置好克隆数量等配置,点击“添加” 点击“Beacon”的START,开始攻击!  手机端能看到有几十个叫做“warning!!!”的伪AP。 
2.随机创建伪AP
在“添加SSID”中,勾选“随机产生”即可。 
5.探测请求攻击
Probe-response:探测请求帧由用户设备发送,以询问一个已知网络是否在附近。通过请求您在SSID列表中指定的网络,以此来混淆WiFi跟踪器。(说白点就是手机给已知WiFi网络发送一个probe-request帧,可提供网络服务的接入点将响应一个probe-response帧,你的手机将会跟这个响应接入点进行连接,所以看起来跟Deauth攻击差不多)。
攻击过程和Deauth攻击差不多,只不过效果不明显。 
6.扫描WiFi用户
选中WiF后,切换到“用户”tab,点击“扫描”按钮。点击按钮后,需要重连一下WiFi,再次连接后,刷新界面,即可查看连接WiFi的用户。 
五.擦除
当我们打算更换固件时,可以使用一些工具擦除已有的固件。这里认为大家已经安装并配置好Python2。
1.安装esptool工具
esptool.py 是乐鑫提供的开源库工具,用于乐鑫 ESP8285, ESP8266, ESP32, ESP32-S等系列芯片和 ROM Bootloader(即:一级 bootloader)通讯,从而实现: 固件烧录,flash 擦除,flash 读取,读 MAC 地址,读 flash id ,elf 文件转 bin 等常用功能; flash 校验, 读取内存,载入 bin 到 RAM 执行,读内存,写内存,读 flash 状态,写 flash 状态,读 chip id,组装 bin等高级功能。
在windows10 dos窗口输入
pip install esptool

2.查看8266模块所在端口
还是在设备管理器中查看8266的COM端口,比如我的就在COM3端口。 
3.擦除固件
在dos中输入以下命令来擦除现有固件,注:–port 后要选择对应的端口
esptool.py-script.py --port COM3 erase_flash
擦除过程如下图:  当看到 Chip erase completed successfully in xx.xxs,证明固件擦除成功,这时候你就得到了一个没有固件的8266模块。
六.总结
1.总结
本次使用ESP8266模块制作了WIFi杀手,本文详细介绍了ESP8266的烧录、测试、擦除过程,希望大家不要做违法的事,量力而行,最后,能给我点个赞嘛?
2.防范措施
1.经测试在5GHz频段上攻击效果不佳,如果路由器支持双频的话可以设置一个5GHz频段信道。 2.支持“Wi-Fi保护访问版本2”认证方式后设备就能抵御攻击,基于此可以去检查你的AP固件生产厂商的升级版本,在确保该版本是支持“管理帧保护”功能后,才能抵御“解除认证”攻击和“断开关联”攻击。Windows8和Windows8.1及以上版本已经支持该认证方式。 3.通过之前的WannaCry病毒扩散事件也可以看出,很多时候不是协议或系统漏洞未能修复导致的安全隐患,而是由于用户安全意识不足,未能及时更新固件、补丁或是开启安全选项导致安全问题的产生。及时升级固件、打补丁是必要的。
七.下载地址汇总
- 串口驱动
- ESP8266Flasher
- Python2
- [中文]wifi杀手固件
八.参考资料
ESP8266开发板刷WI-PWN固件
利用ESP8266制作wifi杀手并进行攻击-漏洞产生原因及防御措施
利用ESP8266Wifi模块制作Wifi攻击“测试”
ESP8266 WIFI杀手汉化教程 &烧录
IOT&无线电|制作esp8266 wifi killer
WiFi攻击进阶版——Deauth攻击
|