【ESP8266】ESP8266使用WiFi杀手(带固件)

前两天翻到了尘封已久的esp8266模块,背后写着的是nodemcu

就是下面这个小东西,这可是个神器,能让设备以低廉的价格接入wifi网络,来实现一些通过网络控制设备或者是设备访问网络上的资源的能力

图片来源于网络

这里的应用呢据说是利用了以前的esp的sdk开放的一种特性做的,不过后来的sdk的这个api被去掉了,所以新版的esp32的sdk没有这种功能了

所以这里基于esp8266下载一个固件来实现

固件下载

警告⚠️:请勿用于非法用途,仅限自己的WiFi学习使用,因此产生的法律责任与作者无关

Wi-PWN.ino.CH.bin

烧写程序(MacOS)

  1. 安装驱动(串口驱动程序)
    由于MacOS下的CP2102驱动是免驱的,所以不再需要单独安装

    如果你板卡上用的是ch340这类芯片,则需要前往ch340/ch341驱动下载下载对应系统的驱动并安装

  2. 安装Python3
    安装教程这里不在说明,下载地址:Python官网

  3. 安装esptool
    打开终端,键入以下代码

    1
    sudo -H pip3 install esptool
  4. 烧写固件到esp8266
    打开终端,首先需要查看串口的路径,键入以下内容然后回车

    1
    ls /dev/tty.*

    可以看到返回了如下的信息

    1
    2
    ➜  ~ ls /dev/tty.*
    /dev/tty.Bluetooth-Incoming-Port /dev/tty.usbserial-0001

    电脑上只插了一个串口的话就显示像上面的这样的,这里可以看到后面那个 /dev/tty.usbserial-0001 就是我们的esp8266模块了,不同的电脑或串口芯片这个显示是不一样的,然后将这个路径复制下来,继续键入以下内容

    1
    esptool.py -p /dev/tty.usbserial-0001 -b 115200 write_flash 0 ~/Downloads/Wi-PWN.ino.CH.bin

    其中的 /dev/tty.usbserial-0001 就是上面复制的串口的路径了,需要替换成自己的路径

    115200 是烧写波特率,越高烧写速度越快,这里用这个就好了

    write_flash 0 是写入flash的意思,就是将文件写入到Flash中的地址0处,这里也不需要修改

    ~/Downloads/Wi-PWN.ino.CH.bin 就是我们刚刚下载的固件的路径了,是在用户目录下的下载文件夹中,如果你在浏览器中没有设置下载的路径,多半就是在这的,如果修改过则需要改成你自己的路径

    接着按下回车键可以看到它的下载过程如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ➜  ~ esptool.py -p /dev/tty.usbserial-0001 -b 115200 write_flash 0 ./Downloads/Wi-PWN.ino.CH.bin
    esptool.py v3.1
    Serial port /dev/tty.usbserial-0001
    Connecting...
    Failed to get PID of a device on /dev/tty.usbserial-0001, using standard reset sequence.
    .
    Detecting chip type... ESP8266
    Chip is ESP8266EX
    Features: WiFi
    Crystal is 26MHz
    MAC: 68:c6:3a:7c:82:c6
    Uploading stub...
    Running stub...
    Stub running...
    Configuring flash size...
    Flash will be erased from 0x00000000 to 0x0009afff...
    Compressed 631904 bytes to 383652...
    Wrote 631904 bytes (383652 compressed) at 0x00000000 in 34.0 seconds (effective 148.9 kbit/s)...
    Hash of data verified.

    Leaving...
    Hard resetting via RTS pin...

    这样就是下载成功了

    若是你下载的时候一直跳小数点可以试着按住开发板上的 FLASH 按键,如果有反应就松开,就可以继续下载了;若是还是不能继续下载的话,尝试着降低波特率,比如试试 960038400等;若是还是不能下载,看看串口有没有选择正确,试着拔掉串口,再运行上面的查看串口路径的命令,如果没有变化,多半是数据线有问题、模块有问题或者是驱动未安装正确

使用

  1. 连接到wifi热点:Wi-PWN,是一个开放的热点
    若是搜不到无线,试着擦除Flash后重新烧写
    1
    esptool.py -p /dev/tty.usbserial-0001 -b 115200 erase_flash
  2. 使用浏览器打开 192.168.4.1 可以看到设置esp8266的热点及名称,这里设置的wifi名称是:abc
  3. 设置完成后重新到设置里连接wifi:abc,密码就是刚刚网页里设置的那个
  4. 然后继续使用浏览器打开 192.168.4.1 可以看到它在搜索附近的热点(只能搜到2.4G的热点),搜索完后勾选你要攻击的热点名称(务必不要攻击别人的热点),然后点击底部的 攻击 按钮
  5. 跳转到了攻击页面,这里点击第一行的 Deauth 后面的开始,可以看到开发板上的灯亮了起来,这时候该热点下的所有热点会被强制下线

说明

这里再次提醒,不要攻击别人的热点,这个只能做学习使用
攻击方式说明:

  1. Deauth:利用了wifi标准中的那个管理帧不加密的问题,连续发送取消认证帧来切断AP与Client的连接,让他们不能愉快玩耍
  2. Beacon:就是伪造一堆接入点
  3. Random:随机???随机啥? 还没用过诶,你们可以摸索摸索试试,等我用过了再来更新
  4. Probe-Response:就是代替真正的热点回复扫描wifi的信息,让客户端连自己

如何避免被攻击:

  1. 使用5G Wifi热点,但是只能防这个小东西的攻击,不能防止专业的攻击,比如说kali下的一些工具配合5G无线网卡的攻击,阿巴阿巴
  2. 经常换wifi名称,这样有点儿麻烦,但有效
  3. emmmm,想不到了,可能用4G 5G也还不错叭

【ESP8266】ESP8266使用WiFi杀手(带固件)

https://biteax.com/c85194e6.html

作者

石志超

发布于

2021-07-01

更新于

2023-09-27

许可协议