POC详情: 7fa0176fb348afbdb774543a83c48ddb41a8173d

来源
关联漏洞
标题: Espressif ESP-IDF和Espressif ESP8266_NONOS_SDK 输入验证错误漏洞 (CVE-2019-12586)
描述:Espressif ESP-IDF和Espressif ESP8266_NONOS_SDK都是中国乐鑫信息科技(Espressif)公司的产品。Espressif ESP-IDF是一款物联网开发框架。Espressif ESP8266_NONOS_SDK是一款用于ESP8266开发板的软件开发工具包(SDK)。 Espressif ESP-IDF 2.0.0版本至4.0.0版本和ESP8266_NONOS_SDK 2.2.0版本至3.1.0版本中存在输入验证错误漏洞。攻击者可借助特制的消息利用该漏洞造成拒
描述
Proof of Concept of ESP32/8266 Wi-Fi vulnerabilties (CVE-2019-12586, CVE-2019-12587, CVE-2019-12588)
介绍
## ESP32/ESP8266 Wi-Fi Attacks
**This repository is part of a research outcome from the [ASSET Research Group](https://asset-group.github.io/).**
![attack_logo](docs/attack_logo.png)

This repository demonstrates 3 Wi-Fi attacks against the popular ESP32/8266 IoT devices:

* **[Zero PMK Installation (CVE-2019-12587)](https://matheus-garbelini.github.io/home/post/zero-pmk-installation/)** - Hijacking ESP32/ESP8266 clients connected to enterprise networks;
* **[ESP32/ESP8266 EAP client crash (CVE-2019-12586)](https://matheus-garbelini.github.io/home/post/esp32-esp8266-eap-crash/)** - Crashing ESP devices connected to enterprise networks;
* **[ESP8266 Beacon Frame Crash (CVE-2019-12588)](https://matheus-garbelini.github.io/home/post/esp8266-beacon-frame-crash/)** - Crashing ESP8266 Wi-Fi devices.

**Follow the links on each vulnerability for more details and Espressif's patches.**

This vulnerabilities were found in SDKs of ESP32 and ESP8266. Their version were ESP-IDF v4.0-dev-459-gba1ff1692 and NONOS-SDK v3.0-103-g7a31cb7 respectivelly at the time of the discovery.

While a custom version of hostapd is provided to test the first 2 vulnerabilities, for the last one, an ESP8266 is used to inject fake 802.11 beacon frames in order to crash others of its own (no pun intended!).

### PoC Building and running instructions

##### Running pre compiled binary

​	If you are running debian or ubuntu you can execute the already compiled hostapd in the folder `hostapd-2.8_binary`. Just run `hostapd-2.8_binary/run_hostapd_exploit.sh` to start the access point to test the vulnerability or `hostapd-2.8_binary/run_zero_pmk_EAP.sh` to start without this test. Be advised that you need to stop network services with `service network-manager stop` for your Wi-Fi interface to be free.

###### TLDR:

```shell
service network-manager stop
./run_zero_pmk_EAP.sh # to test against CVE-2019-12587 (remember to restart ESP first)
./run_crash_esp_EAP.sh # to test against CVE-2019-12586
```

##### Running from source

​	If for some reason the binary doesn't work with your system, you can compile the project `hostapd-2.8_source` by running the script `./buid.sh`. The script installs the following dependencies before running the tool: `build-essential pkg-config git libnl-genl-3-dev libssl-dev libnl-route-3-dev`.

​	After the build is successful, you can run the script `./run_zero_pmk_EAP.sh` to start the access point to test the vulnerability or `./run_hostapd_normal.sh` to start without the test.

###### TLDR:

```shell
./build
./run_zero_pmk_EAP.sh # to test against CVE-2019-12587 (remember to restart ESP first)
./run_crash_esp_EAP.sh # to test against CVE-2019-12586
```

##### Testing beacon frame crash (CVE-2019-12588)

In order to compile the code for esp8266 in folder **beacon_frame_crasher** , it's necessary to follow the steps in [ESP8266 Deauther](https://github.com/spacehuhn/esp8266_deauther/wiki/Installation#compiling-using-arduino-ide). This is a modified version of the board support package for ESP8266 that allows the injection of raw 802.11 frames. A binary is also provided for a quick test in `beacon_frame_crasher/ESP8266Crasher.ino.d1_mini.bin` in case you have a spare wemos d1 mini board. Note that this code is hardcoded to crash an ESP8266 configured for an access point with a ssid=TEST_KRA. As soon as the "beacon frame crasher" device starts, the other ESP8266 devices connected to the access point should restart intermittently.

Alternatively, if your Wi-Fi hardware supports monitoring and injection, you can run the python script:

```shell
sudo apt-get install -y aircrack-ng
sudo airmon-ng check kill
sudo airmon-ng wlan0 start # wlan0 is your wifi interface name
pip install scapy
python beacon_frame_crasher/ESP8266Crasher.py
```

### PoC Output

If your ESP device SDK is vulnerable to **CVE-2019-12587**, you should receive an output like this from hostapd:

![zero_pmk](docs/zero_pmk.png)

If your ESP device SDK is vulnerable to **CVE-2019-12586**, you should receive an output like this from hostapd:

![eap_crasher](docs/eap_crasher.png)

In this case, as the device is restarting every time it attempts a connection with hostapd, you should receive a lot of logs indicating re-connection. If you're monitoring the device serial port, you can also receive trace logs.

### Configuring

By default the PoC access point has the following default configuration:

* ssid=TEST_KRA
* channel=9
* bssid=28:c6:3f:a8:af:c5
* interface=wlan0
* server_cert=wpa2_server.pem
* private_key=wpa2_server.key
* user=matheus_garbelini
* user_password=testtest
* EAP method=PEAP

To change this options, change the file `hostapd.conf` in the root folder of hostapd (`hostapd-2.8_binary/hostapd.conf` or  `hostapd-2.8_source/hostapd/hostapd.conf`). **Please change the interface  parameter to match your Wi-Fi NIC, it's advised to leave other parameters as the default if you wish to test the ESP32/8266 client test codes. Correct certificates are also included (same from ESP-IDF repository), so no need to change them in hostapd folder.**

If you wish to change EAP methods or username credentials, just change `hostapd.eap_user`

##### Attention

Check if you your openssl library allows to use TLS version of 1.0. You can change this configuration normally in `/etc/ssl/openssl.cnf`,  Changing the last lines to:

```shell
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
```

### Test client codes (optional)

The codes used for testing the vulnerable devices is in folder `esp_client_test_codes`. 

`ESP32_Arduino_EAP_Client` and `ESP8266_Arduino_EAP_Client` can be compiled by using their respective Arduino board support packages ([arduino-esp32](https://github.com/espressif/arduino-esp32) and [arduino-esp8266](https://github.com/esp8266/Arduino)). As for non-arduino codes, ESP-IDF and ESP8266_NONOS_SDK are required to compile `ESP8266_EAP_Client` and `ESP32_EAP_Client`. Note that you need to use the same or earlier SDKs as mentioned here to trigger all the described vulnerabilities. 

### Acknowledgments
**This research was partially supported by [Keysight Technologies](https://www.keysight.com/sg/en/home.html).**
文件快照

[4.0K] /data/pocs/7fa0176fb348afbdb774543a83c48ddb41a8173d ├── [4.0K] beacon_frame_crasher │   ├── [4.9K] client_station.c │   ├── [ 492] crafted_packet_1.pcapng │   ├── [ 616] crafted_packet_2.pcapng │   ├── [6.2M] esp8266-2.0.0-deauther.zip │   ├── [1.5K] ESP8266Crasher.ino │   ├── [203K] ESP8266Crasher.ino.d1_mini.bin │   ├── [ 373] ESP8266Crasher.py │   ├── [ 98K] invalid_beacon_frame1.png │   └── [107K] invalid_beacon_frame2.png ├── [ 143] build.sh ├── [4.0K] docs │   ├── [1.3M] attack_logo.png │   ├── [ 36K] eap_crasher.png │   ├── [ 67K] normal_behavor.png │   └── [ 99K] zero_pmk.png ├── [4.0K] esp_client_test_codes │   ├── [4.0K] ESP32_Arduino_EAP_Client │   │   └── [1.4K] ESP32_Arduino_EAP_Client.ino │   ├── [4.0K] ESP32_EAP_Client │   │   ├── [4.0K] build │   │   │   └── [4.0K] wpa_supplicant │   │   │   └── [7.5K] test.txt │   │   ├── [ 315] CMakeLists.txt │   │   ├── [4.0K] main │   │   │   ├── [ 229] CMakeLists.txt │   │   │   ├── [ 353] component.mk │   │   │   ├── [ 855] Kconfig.projbuild │   │   │   ├── [1.4K] wpa2_ca.pem │   │   │   ├── [3.7K] wpa2_client.crt │   │   │   ├── [1.6K] wpa2_client.key │   │   │   ├── [3.4K] wpa2_client.pem │   │   │   ├── [6.0K] wpa2_enterprise_main.c │   │   │   ├── [3.7K] wpa2_server.crt │   │   │   ├── [1.6K] wpa2_server.key │   │   │   └── [3.4K] wpa2_server.pem │   │   ├── [ 187] Makefile │   │   ├── [3.2K] README.md │   │   ├── [ 24K] sdkconfig │   │   └── [ 24K] sdkconfig.old │   ├── [4.0K] ESP8266_Arduino_EAP_Client │   │   └── [1.8K] ESP8266_Arduino_EAP_Client.ino │   └── [4.0K] ESP8266_EAP_Client │   ├── [4.0K] include │   │   ├── [1.4K] README │   │   └── [1.3K] user_config.h │   ├── [4.0K] lib │   │   ├── [1.0K] README │   │   └── [1.3K] user_config.h │   ├── [ 565] platformio.ini │   ├── [4.0K] src │   │   ├── [5.1K] main.c │   │   └── [1.3K] user_config.h │   └── [4.0K] test │   └── [ 490] README ├── [4.0K] hostapd-2.8_binary │   ├── [1.4K] ca.pem │   ├── [7.4M] hostapd │   ├── [ 276] hostapd.accept │   ├── [344K] hostapd_cli │   ├── [ 285] hostapd.conf │   ├── [ 144] hostapd.deny │   ├── [ 287] hostapd.eap_user │   ├── [ 909] hostapd.eap_user_sqlite │   ├── [ 142] hostapd.radius_clients │   ├── [ 409] hostapd.sim_db │   ├── [ 282] hostapd.vlan │   ├── [ 834] hostapd.wpa_psk │   ├── [ 11K] openssl.cnf │   ├── [ 33] run_crash_esp_EAP.sh │   ├── [ 33] run_hostapd_normal.sh │   ├── [ 33] run_zero_pmk_EAP.sh │   ├── [1.6K] wpa2_server.key │   └── [3.4K] wpa2_server.pem ├── [4.0K] hostapd-2.8_source │   ├── [7.5K] CONTRIBUTIONS │   ├── [ 965] COPYING │   ├── [4.0K] hostapd │   │   ├── [6.3K] android.config │   │   ├── [ 22K] Android.mk │   │   ├── [1.4K] ca.pem │   │   ├── [ 63K] ChangeLog │   │   ├── [124K] config_file.c │   │   ├── [ 720] config_file.h │   │   ├── [ 956] csr.csr │   │   ├── [110K] ctrl_iface.c │   │   ├── [ 998] ctrl_iface.h │   │   ├── [ 10K] defconfig │   │   ├── [3.1K] eap_register.c │   │   ├── [ 309] eap_register.h │   │   ├── [2.5K] eap_testing.txt │   │   ├── [ 364] hapd_module_tests.c │   │   ├── [ 24K] hlr_auc_gw.c │   │   ├── [ 909] hlr_auc_gw.milenage_db │   │   ├── [3.2K] hlr_auc_gw.txt │   │   ├── [1.5K] hostapd.8 │   │   ├── [ 276] hostapd.accept │   │   ├── [ 453] hostapd.android.rc │   │   ├── [1.8K] hostapd_cli.1 │   │   ├── [ 50K] hostapd_cli.c │   │   ├── [ 285] hostapd.conf │   │   ├── [ 144] hostapd.deny │   │   ├── [ 287] hostapd.eap_user │   │   ├── [ 909] hostapd.eap_user_sqlite │   │   ├── [ 142] hostapd.radius_clients │   │   ├── [ 409] hostapd.sim_db │   │   ├── [ 282] hostapd.vlan │   │   ├── [ 834] hostapd.wpa_psk │   │   ├── [4.0K] logwatch │   │   │   ├── [1.5K] hostapd │   │   │   ├── [ 319] hostapd.conf │   │   │   └── [ 425] README │   │   ├── [ 23K] main.c │   │   ├── [ 27K] Makefile │   │   ├── [ 922] nt_password_hash.c │   │   ├── [ 11K] openssl.cnf │   │   ├── [ 16K] README │   │   ├── [8.1K] README-MULTI-AP │   │   ├── [ 14K] README-WPS │   │   ├── [1.1K] wired.conf │   │   ├── [3.7K] wpa2_server.crt │   │   ├── [1.6K] wpa2_server.key │   │   ├── [3.4K] wpa2_server.pem │   │   └── [9.8K] wps-ap-nfc.py │   ├── [2.3K] README │   └── [4.0K] src │   ├── [4.0K] ap │   │   ├── [ 14K] accounting.c │   │   ├── [1.1K] accounting.h │   │   ├── [ 30K] acs.c │   │   ├── [ 764] acs.h │   │   ├── [ 31K] ap_config.c │   │   ├── [ 21K] ap_config.h │   │   ├── [ 25K] ap_drv_ops.c │   │   ├── [ 13K] ap_drv_ops.h │   │   ├── [6.8K] ap_list.c │   │   ├── [1.5K] ap_list.h │   │   ├── [5.6K] ap_mlme.c │   │   ├── [1007] ap_mlme.h │   │   ├── [8.4K] authsrv.c │   │   ├── [ 352] authsrv.h │   │   ├── [ 40K] beacon.c │   │   ├── [1.2K] beacon.h │   │   ├── [2.4K] bss_load.c │   │   ├── [ 376] bss_load.h │   │   ├── [ 24K] ctrl_iface_ap.c │   │   ├── [1.6K] ctrl_iface_ap.h │   │   ├── [ 29K] dfs.c │   │   ├── [1.2K] dfs.h │   │   ├── [3.4K] dhcp_snoop.c │   │   ├── [ 590] dhcp_snoop.h │   │   ├── [ 46K] dpp_hostapd.c │   │   ├── [1.7K] dpp_hostapd.h │   │   ├── [ 49K] drv_callbacks.c │   │   ├── [7.9K] eap_user_db.c │   │   ├── [4.4K] eth_p_oui.c │   │   ├── [ 958] eth_p_oui.h │   │   ├── [ 17K] fils_hlp.c │   │   ├── [ 547] fils_hlp.h │   │   ├── [ 20K] gas_query_ap.c │   │   ├── [1.2K] gas_query_ap.h │   │   ├── [ 50K] gas_serv.c │   │   ├── [3.3K] gas_serv.h │   │   ├── [ 87K] hostapd.c │   │   ├── [ 17K] hostapd.h │   │   ├── [6.3K] hs20.c │   │   ├── [ 843] hs20.h │   │   ├── [ 24K] hw_features.c │   │   ├── [1.9K] hw_features.h │   │   ├── [ 15K] iapp.c │   │   ├── [ 833] iapp.h │   │   ├── [ 18K] ieee802_11_auth.c │   │   ├── [1.0K] ieee802_11_auth.h │   │   ├── [144K] ieee802_11.c │   │   ├── [7.2K] ieee802_11.h │   │   ├── [2.9K] ieee802_11_he.c │   │   ├── [ 16K] ieee802_11_ht.c │   │   ├── [ 24K] ieee802_11_shared.c │   │   ├── [ 13K] ieee802_11_vht.c │   │   ├── [ 80K] ieee802_1x.c │   │   ├── [2.6K] ieee802_1x.h │   │   ├── [1.2K] Makefile │   │   ├── [5.2K] mbo_ap.c │   │   ├── [1.2K] mbo_ap.h │   │   ├── [4.3K] ndisc_snoop.c │   │   ├── [ 838] ndisc_snoop.h │   │   ├── [6.4K] neighbor_db.c │   │   ├── [ 940] neighbor_db.h │   │   ├── [2.6K] p2p_hostapd.c │   │   ├── [ 888] p2p_hostapd.h │   │   ├── [ 19K] pmksa_cache_auth.c │   │   ├── [2.7K] pmksa_cache_auth.h │   │   ├── [6.5K] preauth_auth.c │   │   ├── [1.3K] preauth_auth.h │   │   ├── [ 17K] rrm.c │   │   ├── [1.2K] rrm.h │   │   ├── [ 41K] sta_info.c │   │   ├── [ 11K] sta_info.h │   │   ├── [7.4K] taxonomy.c │   │   ├── [ 766] taxonomy.h │   │   ├── [2.9K] tkip_countermeasures.c │   │   ├── [ 451] tkip_countermeasures.h │   │   ├── [2.3K] utils.c │   │   ├── [ 756] vlan.c │   │   ├── [ 18K] vlan_full.c │   │   ├── [ 727] vlan.h │   │   ├── [1.5K] vlan_ifconfig.c │   │   ├── [5.9K] vlan_init.c │   │   ├── [1.1K] vlan_init.h │   │   ├── [3.7K] vlan_ioctl.c │   │   ├── [3.9K] vlan_util.c │   │   ├── [ 980] vlan_util.h │   │   ├── [9.8K] wmm.c │   │   ├── [ 653] wmm.h │   │   ├── [ 24K] wnm_ap.c │   │   ├── [1.1K] wnm_ap.h │   │   ├── [140K] wpa_auth.c │   │   ├── [121K] wpa_auth_ft.c │   │   ├── [ 35K] wpa_auth_glue.c │   │   ├── [ 443] wpa_auth_glue.h │   │   ├── [ 18K] wpa_auth.h │   │   ├── [ 32K] wpa_auth_ie.c │   │   ├── [1.1K] wpa_auth_ie.h │   │   ├── [8.5K] wpa_auth_i.h │   │   ├── [ 55K] wps_hostapd.c │   │   ├── [2.8K] wps_hostapd.h │   │   ├── [3.2K] x_snoop.c │   │   └── [1.3K] x_snoop.h │   ├── [4.0K] common │   │   ├── [5.7K] cli.c │   │   ├── [1.3K] cli.h │   │   ├── [ 14K] common_module_tests.c │   │   ├── [4.5K] ctrl_iface_common.c │   │   ├── [1.3K] ctrl_iface_common.h │   │   ├── [ 11K] defs.h │   │   ├── [6.7K] dhcp.h │   │   ├── [231K] dpp.c │   │   ├── [ 17K] dpp.h │   │   ├── [2.5K] eapol_common.h │   │   ├── [6.1K] gas.c │   │   ├── [1.5K] gas.h │   │   ├── [ 13K] gas_server.c │   │   ├── [1.2K] gas_server.h │   │   ├── [ 15K] hw_features_common.c │   │   ├── [1.7K] hw_features_common.h │   │   ├── [ 42K] ieee802_11_common.c │   │   ├── [7.4K] ieee802_11_common.h │   │   ├── [ 71K] ieee802_11_defs.h │   │   ├── [1.9K] ieee802_1x_defs.h │   │   ├── [ 863] linux_bridge.h │   │   ├── [1.1K] linux_vlan.h │   │   ├── [ 455] Makefile │   │   ├── [4.5K] ocv.c │   │   ├── [1001] ocv.h │   │   ├── [2.2K] privsep_commands.h │   │   ├── [ 685] qca-vendor-attr.h │   │   ├── [276K] qca-vendor.h │   │   ├── [ 44K] sae.c │   │   ├── [2.5K] sae.h │   │   ├── [3.7K] tnc.h │   │   ├── [ 329] version.h │   │   ├── [ 69K] wpa_common.c │   │   ├── [ 16K] wpa_common.h │   │   ├── [ 18K] wpa_ctrl.c │   │   ├── [ 24K] wpa_ctrl.h │   │   ├── [6.0K] wpa_helpers.c │   │   └── [1.3K] wpa_helpers.h │   ├── [4.0K] crypto │   │   ├── [1.9K] aes-cbc.c │   │   ├── [4.9K] aes-ccm.c │   │   ├── [1.6K] aes-ctr.c │   │   ├── [3.2K] aes-eax.c │   │   ├── [ 704] aes-encblock.c │   │   ├── [6.5K] aes-gcm.c │   │   ├── [ 548] aes.h │   │   ├── [4.1K] aes_i.h │   │   ├── [ 41K] aes-internal.c │   │   ├── [3.6K] aes-internal-dec.c │   │   ├── [2.7K] aes-internal-enc.c │   │   ├── [4.5K] aes-omac1.c │   │   ├── [4.1K] aes-siv.c │   │   ├── [ 565] aes_siv.h │   │   ├── [1.8K] aes-unwrap.c │   │   ├── [1.6K] aes-wrap.c │   │   ├── [2.9K] aes_wrap.h │   │   ├── [ 11K] crypto_gnutls.c │   │   ├── [ 29K] crypto.h │   │   ├── [6.8K] crypto_internal.c │   │   ├── [5.1K] crypto_internal-cipher.c │   │   ├── [3.0K] crypto_internal-modexp.c │   │   ├── [2.8K] crypto_internal-rsa.c │   │   ├── [ 15K] crypto_libtomcrypt.c │   │   ├── [ 22K] crypto_linux.c │   │   ├── [ 61K] crypto_module_tests.c │   │   ├── [9.7K] crypto_nettle.c │   │   ├── [ 461] crypto_none.c │   │   ├── [ 44K] crypto_openssl.c │   │   ├── [ 34K] crypto_wolfssl.c │   │   ├── [ 709] des_i.h │   │   ├── [ 15K] des-internal.c │   │   ├── [ 806] dh_group5.c │   │   ├── [ 556] dh_group5.h │   │   ├── [ 54K] dh_groups.c │   │   ├── [ 692] dh_groups.h │   │   ├── [1.4K] fips_prf_internal.c │   │   ├── [2.1K] fips_prf_openssl.c │   │   ├── [1.8K] fips_prf_wolfssl.c │   │   ├── [1.3K] Makefile │   │   ├── [7.9K] md4-internal.c │   │   ├── [2.6K] md5.c │   │   ├── [ 505] md5.h │   │   ├── [ 516] md5_i.h │   │   ├── [8.8K] md5-internal.c │   │   ├── [9.5K] milenage.c │   │   ├── [1019] milenage.h │   │   ├── [ 16K] ms_funcs.c │   │   ├── [2.4K] ms_funcs.h │   │   ├── [ 12K] random.c │   │   ├── [ 855] random.h │   │   ├── [1009] rc4.c │   │   ├── [2.7K] sha1.c │   │   ├── [1.0K] sha1.h │   │   ├── [ 590] sha1_i.h │   │   ├── [8.9K] sha1-internal.c │   │   ├── [2.3K] sha1-pbkdf2.c │   │   ├── [1.6K] sha1-prf.c │   │   ├── [2.7K] sha1-tlsprf.c │   │   ├── [1.7K] sha1-tprf.c │   │   ├── [2.6K] sha256.c │   │   ├── [1.1K] sha256.h │   │   ├── [ 584] sha256_i.h │   │   ├── [6.0K] sha256-internal.c │   │   ├── [2.1K] sha256-kdf.c │   │   ├── [2.8K] sha256-prf.c │   │   ├── [1.7K] sha256-tlsprf.c │   │   ├── [2.6K] sha384.c │   │   ├── [ 949] sha384.h │   │   ├── [ 573] sha384_i.h │   │   ├── [2.2K] sha384-internal.c │   │   ├── [2.1K] sha384-kdf.c │   │   ├── [2.8K] sha384-prf.c │   │   ├── [2.6K] sha512.c │   │   ├── [ 949] sha512.h │   │   ├── [ 591] sha512_i.h │   │   ├── [7.7K] sha512-internal.c │   │   ├── [2.1K] sha512-kdf.c │   │   ├── [2.8K] sha512-prf.c │   │   ├── [ 45K] tls_gnutls.c │   │   ├── [ 23K] tls.h │   │   ├── [ 19K] tls_internal.c │   │   ├── [3.9K] tls_none.c │   │   ├── [132K] tls_openssl.c │   │   ├── [ 477] tls_openssl.h │   │   ├── [ 21K] tls_openssl_ocsp.c │   │   └── [ 52K] tls_wolfssl.c │   ├── [4.0K] drivers │   │   ├── [2.0K] android_drv.h │   │   ├── [ 64K] driver_atheros.c │   │   ├── [ 45K] driver_bsd.c │   │   ├── [6.2K] driver_common.c │   │   ├── [170K] driver.h │   │   ├── [ 29K] driver_hostap.c │   │   ├── [6.0K] driver_hostap.h │   │   ├── [ 34K] driver_macsec_linux.c │   │   ├── [ 20K] driver_macsec_qca.c │   │   ├── [ 84K] driver_ndis.c │   │   ├── [2.7K] driver_ndis_.c │   │   ├── [1.5K] driver_ndis.h │   │   ├── [4.5K] driver_nl80211_android.c │   │   ├── [296K] driver_nl80211.c │   │   ├── [ 62K] driver_nl80211_capa.c │   │   ├── [ 78K] driver_nl80211_event.c │   │   ├── [9.4K] driver_nl80211.h │   │   ├── [ 13K] driver_nl80211_monitor.c │   │   ├── [ 34K] driver_nl80211_scan.c │   │   ├── [1.6K] driver_none.c │   │   ├── [3.0K] driver_openbsd.c │   │   ├── [ 21K] driver_privsep.c │   │   ├── [ 14K] driver_roboswitch.c │   │   ├── [1.4K] drivers.c │   │   ├── [4.6K] drivers.mak │   │   ├── [4.1K] drivers.mk │   │   ├── [ 65K] driver_wext.c │   │   ├── [2.4K] driver_wext.h │   │   ├── [9.4K] driver_wired.c │   │   ├── [8.1K] driver_wired_common.c │   │   ├── [1.1K] driver_wired_common.h │   │   ├── [ 992] linux_defines.h │   │   ├── [4.9K] linux_ioctl.c │   │   ├── [ 898] linux_ioctl.h │   │   ├── [ 883] linux_wext.h │   │   ├── [ 158] Makefile │   │   ├── [ 21K] ndis_events.c │   │   ├── [5.1K] netlink.c │   │   ├── [ 741] netlink.h │   │   ├── [267K] nl80211_copy.h │   │   ├── [2.8K] priv_netlink.h │   │   ├── [4.6K] rfkill.c │   │   └── [ 583] rfkill.h │   ├── [4.0K] eap_common │   │   ├── [ 602] chap.c │   │   ├── [ 388] chap.h │   │   ├── [7.3K] eap_common.c │   │   ├── [ 905] eap_common.h │   │   ├── [3.4K] eap_defs.h │   │   ├── [ 17K] eap_eke_common.c │   │   ├── [3.5K] eap_eke_common.h │   │   ├── [7.2K] eap_fast_common.c │   │   ├── [2.9K] eap_fast_common.h │   │   ├── [ 14K] eap_gpsk_common.c │   │   ├── [2.0K] eap_gpsk_common.h │   │   ├── [2.8K] eap_ikev2_common.c │   │   ├── [ 832] eap_ikev2_common.h │   │   ├── [4.4K] eap_pax_common.c │   │   ├── [2.2K] eap_pax_common.h │   │   ├── [1.7K] eap_peap_common.c │   │   ├── [ 425] eap_peap_common.h │   │   ├── [1.5K] eap_psk_common.c │   │   ├── [1.7K] eap_psk_common.h │   │   ├── [ 14K] eap_pwd_common.c │   │   ├── [2.6K] eap_pwd_common.h │   │   ├── [ 11K] eap_sake_common.c │   │   ├── [2.4K] eap_sake_common.h │   │   ├── [ 31K] eap_sim_common.c │   │   ├── [7.6K] eap_sim_common.h │   │   ├── [2.6K] eap_tlv_common.h │   │   ├── [1.6K] eap_ttls.h │   │   ├── [ 784] eap_wsc_common.c │   │   ├── [ 644] eap_wsc_common.h │   │   ├── [ 17K] ikev2_common.c │   │   ├── [8.1K] ikev2_common.h │   │   └── [ 517] Makefile │   ├── [4.0K] eapol_auth │   │   ├── [7.5K] eapol_auth_dump.c │   │   ├── [ 32K] eapol_auth_sm.c │   │   ├── [3.3K] eapol_auth_sm.h │   │   ├── [5.1K] eapol_auth_sm_i.h │   │   └── [ 262] Makefile │   ├── [4.0K] eapol_supp │   │   ├── [ 59K] eapol_supp_sm.c │   │   ├── [ 14K] eapol_supp_sm.h │   │   └── [ 273] Makefile │   ├── [4.0K] eap_peer │   │   ├── [ 43K] eap_aka.c │   │   ├── [ 85K] eap.c │   │   ├── [ 27K] eap_config.h │   │   ├── [ 20K] eap_eke.c │   │   ├── [ 48K] eap_fast.c │   │   ├── [ 21K] eap_fast_pac.c │   │   ├── [1.4K] eap_fast_pac.h │   │   ├── [ 19K] eap_gpsk.c │   │   ├── [3.3K] eap_gtc.c │   │   ├── [ 12K] eap.h │   │   ├── [ 14K] eap_i.h │   │   ├── [ 13K] eap_ikev2.c │   │   ├── [ 11K] eap_leap.c │   │   ├── [2.8K] eap_md5.c │   │   ├── [8.6K] eap_methods.c │   │   ├── [2.7K] eap_methods.h │   │   ├── [ 25K] eap_mschapv2.c │   │   ├── [2.1K] eap_otp.c │   │   ├── [ 14K] eap_pax.c │   │   ├── [ 37K] eap_peap.c │   │   ├── [1.5K] eap_proxy_dummy.c │   │   ├── [1.4K] eap_proxy.h │   │   ├── [ 13K] eap_psk.c │   │   ├── [ 29K] eap_pwd.c │   │   ├── [ 13K] eap_sake.c │   │   ├── [ 35K] eap_sim.c │   │   ├── [ 11K] eap_tls.c │   │   ├── [ 36K] eap_tls_common.c │   │   ├── [3.9K] eap_tls_common.h │   │   ├── [ 10K] eap_tnc.c │   │   ├── [ 48K] eap_ttls.c │   │   ├── [4.2K] eap_vendor_test.c │   │   ├── [ 14K] eap_wsc.c │   │   ├── [ 30K] ikev2.c │   │   ├── [1.4K] ikev2.h │   │   ├── [ 396] Makefile │   │   ├── [3.6K] mschapv2.c │   │   ├── [ 834] mschapv2.h │   │   ├── [ 30K] tncc.c │   │   └── [ 994] tncc.h │   ├── [4.0K] eap_server │   │   ├── [4.5K] eap.h │   │   ├── [6.8K] eap_i.h │   │   ├── [1.7K] eap_methods.h │   │   ├── [ 36K] eap_server_aka.c │   │   ├── [ 57K] eap_server.c │   │   ├── [ 21K] eap_server_eke.c │   │   ├── [ 42K] eap_server_fast.c │   │   ├── [ 16K] eap_server_gpsk.c │   │   ├── [4.9K] eap_server_gtc.c │   │   ├── [3.7K] eap_server_identity.c │   │   ├── [ 14K] eap_server_ikev2.c │   │   ├── [3.8K] eap_server_md5.c │   │   ├── [4.3K] eap_server_methods.c │   │   ├── [ 15K] eap_server_mschapv2.c │   │   ├── [ 15K] eap_server_pax.c │   │   ├── [ 36K] eap_server_peap.c │   │   ├── [ 13K] eap_server_psk.c │   │   ├── [ 27K] eap_server_pwd.c │   │   ├── [ 13K] eap_server_sake.c │   │   ├── [ 23K] eap_server_sim.c │   │   ├── [ 11K] eap_server_tls.c │   │   ├── [ 13K] eap_server_tls_common.c │   │   ├── [ 13K] eap_server_tnc.c │   │   ├── [ 36K] eap_server_ttls.c │   │   ├── [3.9K] eap_server_vendor_test.c │   │   ├── [ 12K] eap_server_wsc.c │   │   ├── [ 41K] eap_sim_db.c │   │   ├── [2.8K] eap_sim_db.h │   │   ├── [2.8K] eap_tls_common.h │   │   ├── [ 30K] ikev2.c │   │   ├── [1.4K] ikev2.h │   │   ├── [ 317] Makefile │   │   ├── [ 27K] tncs.c │   │   └── [1.2K] tncs.h │   ├── [4.0K] fst │   │   ├── [5.1K] fst.c │   │   ├── [1.9K] fst_ctrl_aux.c │   │   ├── [2.5K] fst_ctrl_aux.h │   │   ├── [4.7K] fst_ctrl_defs.h │   │   ├── [ 23K] fst_ctrl_iface.c │   │   ├── [1.2K] fst_ctrl_iface.h │   │   ├── [1.8K] fst_defs.h │   │   ├── [ 13K] fst_group.c │   │   ├── [1.9K] fst_group.h │   │   ├── [8.3K] fst.h │   │   ├── [1.7K] fst_iface.c │   │   ├── [3.3K] fst_iface.h │   │   ├── [1.3K] fst_internal.h │   │   ├── [ 40K] fst_session.c │   │   ├── [2.9K] fst_session.h │   │   └── [ 95] Makefile │   ├── [4.0K] l2_packet │   │   ├── [7.7K] l2_packet_freebsd.c │   │   ├── [5.8K] l2_packet.h │   │   ├── [ 13K] l2_packet_linux.c │   │   ├── [ 14K] l2_packet_ndis.c │   │   ├── [2.9K] l2_packet_none.c │   │   ├── [9.7K] l2_packet_pcap.c │   │   ├── [6.4K] l2_packet_privsep.c │   │   ├── [9.4K] l2_packet_winpcap.c │   │   └── [ 243] Makefile │   ├── [ 318] lib.rules │   ├── [ 377] Makefile │   ├── [4.0K] p2p │   │   ├── [ 413] Makefile │   │   ├── [ 22K] p2p_build.c │   │   ├── [145K] p2p.c │   │   ├── [8.6K] p2p_dev_disc.c │   │   ├── [ 45K] p2p_go_neg.c │   │   ├── [ 26K] p2p_group.c │   │   ├── [ 80K] p2p.h │   │   ├── [ 25K] p2p_i.h │   │   ├── [ 21K] p2p_invitation.c │   │   ├── [ 23K] p2p_parse.c │   │   ├── [ 49K] p2p_pd.c │   │   ├── [ 22K] p2p_sd.c │   │   └── [ 12K] p2p_utils.c │   ├── [4.0K] pae │   │   ├── [ 16K] ieee802_1x_cp.c │   │   ├── [1.6K] ieee802_1x_cp.h │   │   ├── [104K] ieee802_1x_kay.c │   │   ├── [7.8K] ieee802_1x_kay.h │   │   ├── [9.3K] ieee802_1x_kay_i.h │   │   ├── [4.8K] ieee802_1x_key.c │   │   ├── [1.0K] ieee802_1x_key.h │   │   ├── [ 11K] ieee802_1x_secy_ops.c │   │   ├── [2.6K] ieee802_1x_secy_ops.h │   │   └── [ 95] Makefile │   ├── [4.0K] radius │   │   ├── [ 307] Makefile │   │   ├── [ 42K] radius.c │   │   ├── [ 45K] radius_client.c │   │   ├── [6.4K] radius_client.h │   │   ├── [ 14K] radius_das.c │   │   ├── [1.5K] radius_das.h │   │   ├── [ 12K] radius.h │   │   ├── [ 76K] radius_server.c │   │   └── [7.0K] radius_server.h │   ├── [4.0K] rsn_supp │   │   ├── [ 430] Makefile │   │   ├── [ 18K] pmksa_cache.c │   │   ├── [4.5K] pmksa_cache.h │   │   ├── [ 15K] preauth.c │   │   ├── [1.9K] preauth.h │   │   ├── [ 82K] tdls.c │   │   ├── [128K] wpa.c │   │   ├── [ 29K] wpa_ft.c │   │   ├── [ 14K] wpa.h │   │   ├── [ 17K] wpa_ie.c │   │   ├── [1.4K] wpa_ie.h │   │   └── [ 12K] wpa_i.h │   ├── [4.0K] tls │   │   ├── [4.6K] asn1.c │   │   ├── [2.4K] asn1.h │   │   ├── [5.4K] bignum.c │   │   ├── [1.1K] bignum.h │   │   ├── [ 76K] libtommath.c │   │   ├── [ 595] Makefile │   │   ├── [7.3K] pkcs1.c │   │   ├── [ 872] pkcs1.h │   │   ├── [ 16K] pkcs5.c │   │   ├── [ 404] pkcs5.h │   │   ├── [5.1K] pkcs8.c │   │   ├── [ 436] pkcs8.h │   │   ├── [8.8K] rsa.c │   │   ├── [ 770] rsa.h │   │   ├── [ 23K] tlsv1_client.c │   │   ├── [2.4K] tlsv1_client.h │   │   ├── [2.7K] tlsv1_client_i.h │   │   ├── [ 23K] tlsv1_client_ocsp.c │   │   ├── [ 40K] tlsv1_client_read.c │   │   ├── [ 26K] tlsv1_client_write.c │   │   ├── [ 15K] tlsv1_common.c │   │   ├── [9.5K] tlsv1_common.h │   │   ├── [ 32K] tlsv1_cred.c │   │   ├── [1.4K] tlsv1_cred.h │   │   ├── [ 13K] tlsv1_record.c │   │   ├── [1.9K] tlsv1_record.h │   │   ├── [ 24K] tlsv1_server.c │   │   ├── [2.2K] tlsv1_server.h │   │   ├── [2.3K] tlsv1_server_i.h │   │   ├── [ 34K] tlsv1_server_read.c │   │   ├── [ 28K] tlsv1_server_write.c │   │   ├── [ 53K] x509v3.c │   │   └── [4.7K] x509v3.h │   ├── [4.0K] utils │   │   ├── [4.5K] base64.c │   │   ├── [ 653] base64.h │   │   ├── [1.4K] bitfield.c │   │   ├── [ 558] bitfield.h │   │   ├── [2.6K] browser-android.c │   │   ├── [5.9K] browser.c │   │   ├── [ 451] browser.h │   │   ├── [2.4K] browser-system.c │   │   ├── [3.1K] browser-wpadebug.c │   │   ├── [1.4K] build_config.h │   │   ├── [ 23K] common.c │   │   ├── [ 15K] common.h │   │   ├── [5.4K] const_time.h │   │   ├── [3.7K] crc32.c │   │   ├── [ 297] crc32.h │   │   ├── [ 20K] edit.c │   │   ├── [ 612] edit.h │   │   ├── [3.8K] edit_readline.c │   │   ├── [1.8K] edit_simple.c │   │   ├── [ 32K] eloop.c │   │   ├── [ 14K] eloop.h │   │   ├── [ 15K] eloop_win.c │   │   ├── [2.0K] ext_password.c │   │   ├── [ 855] ext_password.h │   │   ├── [ 713] ext_password_i.h │   │   ├── [1.7K] ext_password_test.c │   │   ├── [ 45K] http_curl.c │   │   ├── [1.7K] http-utils.h │   │   ├── [1.1K] includes.h │   │   ├── [1.0K] ip_addr.c │   │   ├── [ 608] ip_addr.h │   │   ├── [ 13K] json.c │   │   ├── [1.0K] json.h │   │   ├── [2.4K] list.h │   │   ├── [ 633] Makefile │   │   ├── [ 438] module_tests.h │   │   ├── [ 20K] os.h │   │   ├── [8.7K] os_internal.c │   │   ├── [3.3K] os_none.c │   │   ├── [ 15K] os_unix.c │   │   ├── [4.7K] os_win32.c │   │   ├── [ 38K] pcsc_funcs.c │   │   ├── [1.4K] pcsc_funcs.h │   │   ├── [ 508] platform.h │   │   ├── [ 12K] radiotap.c │   │   ├── [ 11K] radiotap.h │   │   ├── [2.9K] radiotap_iter.h │   │   ├── [5.2K] state_machine.h │   │   ├── [8.3K] trace.c │   │   ├── [1.9K] trace.h │   │   ├── [ 28K] utils_module_tests.c │   │   ├── [1.8K] uuid.c │   │   ├── [ 439] uuid.h │   │   ├── [7.4K] wpabuf.c │   │   ├── [4.1K] wpabuf.h │   │   ├── [ 19K] wpa_debug.c │   │   ├── [ 12K] wpa_debug.h │   │   ├── [9.1K] xml_libxml2.c │   │   ├── [9.3K] xml-utils.c │   │   └── [4.0K] xml-utils.h │   └── [4.0K] wps │   ├── [8.0K] http_client.c │   ├── [1.2K] http_client.h │   ├── [ 690] http.h │   ├── [ 23K] httpread.c │   ├── [4.0K] httpread.h │   ├── [6.4K] http_server.c │   ├── [1.1K] http_server.h │   ├── [ 637] Makefile │   ├── [4.8K] ndef.c │   ├── [7.8K] upnp_xml.c │   ├── [ 797] upnp_xml.h │   ├── [ 14K] wps_attr_build.c │   ├── [ 16K] wps_attr_parse.c │   ├── [3.5K] wps_attr_parse.h │   ├── [7.2K] wps_attr_process.c │   ├── [ 18K] wps.c │   ├── [ 21K] wps_common.c │   ├── [ 10K] wps_defs.h │   ├── [ 10K] wps_dev_attr.c │   ├── [1.8K] wps_dev_attr.h │   ├── [ 41K] wps_enrollee.c │   ├── [ 50K] wps_er.c │   ├── [2.5K] wps_er.h │   ├── [4.9K] wps_er_ssdp.c │   ├── [ 29K] wps.h │   ├── [7.0K] wps_i.h │   ├── [ 12K] wps_module_tests.c │   ├── [101K] wps_registrar.c │   ├── [2.4K] wps_upnp_ap.c │   ├── [ 36K] wps_upnp.c │   ├── [ 11K] wps_upnp_event.c │   ├── [1.3K] wps_upnp.h │   ├── [6.6K] wps_upnp_i.h │   ├── [ 25K] wps_upnp_ssdp.c │   ├── [ 37K] wps_upnp_web.c │   └── [ 47K] wps_validate.c ├── [6.1K] README.md ├── [ 67] run_crash_esp_EAP.sh ├── [ 67] run_hostapd_normal.sh └── [ 66] run_zero_pmk_EAP.sh 37 directories, 694 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。