这一系列的文章仅作技术研究,请遵守相关法律(中华人民共和国网络安全法),请勿使用相关技术来攻击他人!
在网上购买了一块 esp8266的开发版,这个开发版价格很便宜30块不到,且尺寸很小,集成度比较高,非常便携。
(1)安装驱动:
USB转串口芯片是CP2102,一开始计算机没有能正常识别这个设备是因为电脑上没有安装CP2102的驱动,如果又遇到相似问题的点击这里可以下载。
(2)烧写代码
计算机正确识别设备后就可以进入Arduino IDE,如果按照之前的文章操作应该可以正常编译,可以直接烧写,点击上传按钮即可自动上传。
在烧写的过程中,开发版上的指示灯会不停地闪烁,如果停止闪烁,说明已经烧写完毕。
当我们把烧写好的开发版重新连上电脑,并且打开串口监视器的时候,就可以看到通过串口输出的一些数据了。
[===== Access Points =====]
ID SSID Name Ch RSSI Enc. Mac Vendor Selected
=====================================================================================================
0 HUST_WIRELESS 11 -62 - 70:3d:15:93:c0:-- Hangzhou
1 HUST_WIRELESS_AUTO 11 -62 - 70:3d:15:93:c0:-- Hangzhou
2 Source 6 -63 WPA2 c4:04:15:9d:50:-- Netgear
3 HUST_WIRELESS 1 -63 - 70:3d:15:92:8f:-- Hangzhou
4 HUST_WIRELESS_AUTO 1 -66 - 70:3d:15:92:8f:-- Hangzhou
5 HUST_WIRELESS 6 -67 - 70:3d:15:92:b2:-- Hangzhou
6 HUST_WIRELESS_AUTO 6 -67 - 70:3d:15:92:b2:-- Hangzhou
7 HUST_WIRELESS 1 -69 - 70:3d:15:93:be:-- Hangzhou
8 HUST_WIRELESS_AUTO 6 -70 - 70:3d:15:93:bb:-- Hangzhou
9 HUST_WIRELESS_AUTO 6 -73 - 70:3d:15:3b:46:-- Hangzhou
10 HUST_WIRELESS_AUTO 1 -73 - 70:3d:15:93:be:-- Hangzhou
11 HUST_WIRELESS 6 -75 - 70:3d:15:93:bb:-- Hangzhou
12 HUST_WIRELESS 6 -75 - 70:3d:15:3b:46:-- Hangzhou
13 HUST_WIRELESS 1 -77 - 70:3d:15:3b:4e:-- Hangzhou
14 HUST_WIRELESS_AUTO 11 -77 - 70:3d:15:93:b9:-- Hangzhou
15 HUST_WIRELESS 6 -78 - 70:3d:15:92:b2:-- Hangzhou
16 HUST_WIRELESS_AUTO 1 -78 - 70:3d:15:3b:4e:-- Hangzhou
17 HUST_WIRELESS 11 -78 - 70:3d:15:93:b9:-- Hangzhou
18 HUST_WIRELESS 11 -79 - 70:3d:15:93:b7:-- Hangzhou
19 HUST_WIRELESS 11 -81 - 70:3d:15:92:58:-- Hangzhou
20 HUST_WIRELESS_AUTO 11 -84 - 70:3d:15:3b:40:-- Hangzhou
=====================================================================================================
Stopped scan
Scan results saved in /scan.json
Starting Scan for stations (client devices) - 5s
Stopped Access Point
Scanning WiFi [60%]: 138 packets/s | 3 devices | 0 deauths
[===== Stations =====]
ID MAC Ch Name Vendor Pkts AP Last Seen Selected
==============================================================================================================
0 20:79:18:fe:61:-- 11 7 HUST_WIRELESS <1sec
1 00:28:f8:b7:fa:-- 11 IntelCor 3 HUST_WIRELESS <1min
2 01:d0:f8:00:00:-- 6 1 HUST_WIRELESS <1min
3 d0:53:49:1a:4b:-- 6 LiteonTe 1 HUST_WIRELESS <1sec
==============================================================================================================
Started AP
Stopped scan
Scan results saved in /scan.json
# sysinfo
[======== SYSTEM INFO ========]
RAM usage: 61512 bytes used [76%], 20408 bytes free [24%], 81920 bytes in total
Current WiFi channel: 9
AP MAC address: ce:50:e3:3c:aa:f3
Station MAC address: b0:f6:26:76:f7:94
SPIFFS: 5020 bytes used [2%], 228661 bytes free [97%], 233681 bytes in total
block size 4096 bytes, page size 256 bytes
Files:
/ssids.json 318 bytes
/autostart.txt 19 bytes
/names.json 271 bytes
/settings.json 503 bytes
/scan.json 1710 bytes
[WiFi] Path: '/web', Mode: 'AP', SSID: 'pwned', password: 'deauther', channel: '6', hidden: false, captive-portal: true
===============================
可以看到已经探测到了周围的wifi,甚至包括了供应商的信息(我也是才知道,学校的路由器是由一个叫Hangzhou的提供的)。最关键的WiFi信息也给出了:Path: '/web', Mode: 'AP', SSID: 'pwned', password: 'deauther', channel: '6', hidden: false, captive-portal: true
为了方便在一个没有ArduinoIDE的环境里也同样可以进行程序的烧写,这里提供了一种固件烧写方法(网上的教程大多使用这种方法),这种方法的缺点是不能更改源代码。
(1)生成固件
网上有一些人提供了烧写好的固件,我们可以通过IDE自己生成。项目->导出已生成的二进制文件即可,也可以使用快捷键Ctrl+Alt+S。我们可以发现在项目所在的目录多了一个bin文件,那就是我们需要的二进制固件代码。
(2)烧写固件
有了那个bin文件后我们可以通过 ESP8266Flasher这个软件来进行烧写(点击这里可以下载,我生成好的固件也在这个链接里面可以下载),方法很简单在Operation页面选择对应的com口,在config页面选择对应的文件,注意起始位是0x00000,最后回到Operation页面点击flash即可。
同样的开发版上的灯会闪烁,停止闪烁后说明烧写完成,也可以通过观察这个软件上面的进度条来判断是否烧写完成。
使用电脑或者手机,连接SSID为pwned的无线网络,默认的密码是deauther。进入浏览器,输入192.168.4.1。会进入它的主页。
点击确认后可以进入扫描页面,着这里我们可以勾选想要攻击的AP。
在攻击页面可以选择攻击模式: