mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-22 07:10:47 -08:00
Set MACs before every wifi function
This commit is contained in:
@@ -1717,6 +1717,7 @@ void MenuFunctions::RunSetup()
|
|||||||
display_obj.clearScreen();
|
display_obj.clearScreen();
|
||||||
this->drawStatusBar();
|
this->drawStatusBar();
|
||||||
wifi_scan_obj.StartScan(WIFI_SCAN_EVIL_PORTAL, TFT_ORANGE);
|
wifi_scan_obj.StartScan(WIFI_SCAN_EVIL_PORTAL, TFT_ORANGE);
|
||||||
|
wifi_scan_obj.setMac();
|
||||||
});
|
});
|
||||||
this->addNodes(&wifiAttackMenu, text_table1[54], TFTRED, NULL, DEAUTH_SNIFF, [this]() {
|
this->addNodes(&wifiAttackMenu, text_table1[54], TFTRED, NULL, DEAUTH_SNIFF, [this]() {
|
||||||
display_obj.clearScreen();
|
display_obj.clearScreen();
|
||||||
@@ -1943,10 +1944,10 @@ void MenuFunctions::RunSetup()
|
|||||||
});
|
});
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*this->addNodes(&wifiGeneralMenu, "Generate AP MAC", TFTLIGHTGREY, NULL, 0, [this]() {
|
this->addNodes(&wifiGeneralMenu, "Generate AP MAC", TFTLIGHTGREY, NULL, 0, [this]() {
|
||||||
this->changeMenu(genAPMacMenu.parentMenu);
|
this->changeMenu(&genAPMacMenu);
|
||||||
wifi_scan_obj.RunGenerateRandomMac(true);
|
wifi_scan_obj.RunGenerateRandomMac(true);
|
||||||
});*/
|
});
|
||||||
|
|
||||||
// Menu for generating and setting access point MAC
|
// Menu for generating and setting access point MAC
|
||||||
genAPMacMenu.parentMenu = &wifiGeneralMenu;
|
genAPMacMenu.parentMenu = &wifiGeneralMenu;
|
||||||
|
|||||||
@@ -575,6 +575,15 @@ void WiFiScan::RunSetup() {
|
|||||||
this->ble_initialized = true;
|
this->ble_initialized = true;
|
||||||
|
|
||||||
this->shutdownBLE();
|
this->shutdownBLE();
|
||||||
|
esp_wifi_init(&cfg);
|
||||||
|
esp_wifi_set_mode(WIFI_AP_STA);
|
||||||
|
esp_wifi_start();
|
||||||
|
this->wifi_initialized = true;
|
||||||
|
esp_wifi_get_mac(WIFI_IF_STA, this->sta_mac);
|
||||||
|
delay(10);
|
||||||
|
esp_wifi_get_mac(WIFI_IF_AP, this->ap_mac);
|
||||||
|
this->setMac();
|
||||||
|
this->shutdownWiFi();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
this->initWiFi(1);
|
this->initWiFi(1);
|
||||||
@@ -882,6 +891,7 @@ void WiFiScan::startWiFiAttacks(uint8_t scan_mode, uint16_t color, String title_
|
|||||||
esp_wifi_set_mode(WIFI_MODE_AP);
|
esp_wifi_set_mode(WIFI_MODE_AP);
|
||||||
esp_wifi_set_config(WIFI_IF_AP, &ap_config);
|
esp_wifi_set_config(WIFI_IF_AP, &ap_config);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
|
esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
|
||||||
|
|
||||||
//WiFi.mode(WIFI_AP_STA);
|
//WiFi.mode(WIFI_AP_STA);
|
||||||
@@ -1072,6 +1082,7 @@ String WiFiScan::getStaMAC()
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_err_t mac_status = esp_wifi_get_mac(WIFI_IF_STA, mac);
|
esp_err_t mac_status = esp_wifi_get_mac(WIFI_IF_STA, mac);
|
||||||
this->wifi_initialized = true;
|
this->wifi_initialized = true;
|
||||||
sprintf(macAddrChr,
|
sprintf(macAddrChr,
|
||||||
@@ -1095,6 +1106,7 @@ String WiFiScan::getApMAC()
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_err_t mac_status = esp_wifi_get_mac(WIFI_IF_AP, mac);
|
esp_err_t mac_status = esp_wifi_get_mac(WIFI_IF_AP, mac);
|
||||||
this->wifi_initialized = true;
|
this->wifi_initialized = true;
|
||||||
sprintf(macAddrChr,
|
sprintf(macAddrChr,
|
||||||
@@ -1617,6 +1629,7 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
//if (scan_mode == WIFI_SCAN_TARGET_AP_FULL)
|
//if (scan_mode == WIFI_SCAN_TARGET_AP_FULL)
|
||||||
@@ -1700,39 +1713,31 @@ void WiFiScan::RunClearSSIDs() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void WiFiScan::RunGenerateRandomMac(bool ap) {
|
void WiFiScan::setMac() {
|
||||||
uint8_t custom_mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
|
|
||||||
generateRandomMac(custom_mac);
|
|
||||||
esp_err_t result;
|
esp_err_t result;
|
||||||
|
result = esp_wifi_set_mac(WIFI_IF_AP, this->ap_mac);
|
||||||
String custom_mac_str = macToString(custom_mac);
|
if (result != ESP_OK) Serial.printf("Failed to set AP MAC: %s | 0x%X\n", macToString(this->ap_mac), result);
|
||||||
|
else Serial.println("Successfully set AP MAC: " + macToString(this->ap_mac));
|
||||||
Serial.println("Setting custom MAC: " + (String)custom_mac_str);
|
result = esp_wifi_set_mac(WIFI_IF_STA, this->sta_mac);
|
||||||
//esp_wifi_init(&cfg);
|
if (result != ESP_OK) Serial.printf("Failed to set STA MAC: %s | 0x%X\n", macToString(this->sta_mac), result);
|
||||||
//esp_wifi_start();
|
else Serial.println("Successfully set STA MAC: " + macToString(this->sta_mac));
|
||||||
//this->wifi_initialized = true;
|
|
||||||
|
|
||||||
if (ap) result = esp_wifi_set_mac(WIFI_IF_AP, custom_mac);
|
|
||||||
else result = esp_wifi_set_mac(WIFI_IF_STA, custom_mac);
|
|
||||||
|
|
||||||
//this->shutdownWiFi();
|
|
||||||
|
|
||||||
if (result == ESP_OK) {
|
|
||||||
Serial.printf("[SUCCESS] Changed MAC for %s to %02X:%02X:%02X:%02X:%02X:%02X\n",
|
|
||||||
(!ap) ? "STA" : "AP",
|
|
||||||
custom_mac[0], custom_mac[1], custom_mac[2], custom_mac[3], custom_mac[4], custom_mac[5]);
|
|
||||||
} else {
|
|
||||||
Serial.printf("[ERROR] Failed to change MAC for %s. Error code: 0x%X\n",
|
|
||||||
(!ap) ? "STA" : "AP", result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WiFiScan::RunGenerateRandomMac(bool ap) {
|
||||||
|
if (ap) generateRandomMac(this->ap_mac);
|
||||||
|
else generateRandomMac(this->sta_mac);
|
||||||
|
|
||||||
|
if (ap) Serial.println("Setting AP MAC: " + macToString(this->ap_mac));
|
||||||
|
else Serial.println("Setting STA MAC: " + macToString(this->sta_mac));
|
||||||
|
|
||||||
#ifdef HAS_DISPLAY
|
#ifdef HAS_DISPLAY
|
||||||
display_obj.tft.setTextWrap(false);
|
display_obj.tft.setTextWrap(false);
|
||||||
display_obj.tft.setFreeFont(NULL);
|
display_obj.tft.setFreeFont(NULL);
|
||||||
display_obj.tft.setCursor(0, 100);
|
display_obj.tft.setCursor(0, 100);
|
||||||
display_obj.tft.setTextSize(1);
|
display_obj.tft.setTextSize(1);
|
||||||
display_obj.tft.setTextColor(TFT_CYAN);
|
display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK);
|
||||||
display_obj.tft.println("Set MAC: " + (String)custom_mac_str);
|
if (ap) display_obj.tft.println("Setting AP MAC: " + macToString(this->ap_mac));
|
||||||
|
else display_obj.tft.println("Setting STA MAC: " + macToString(this->sta_mac));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2185,6 +2190,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&wifiSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&wifiSnifferCallback);
|
||||||
@@ -2290,6 +2296,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
|
|||||||
}
|
}
|
||||||
|
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
if (scan_mode == WIFI_SCAN_ACTIVE_EAPOL)
|
if (scan_mode == WIFI_SCAN_ACTIVE_EAPOL)
|
||||||
@@ -2329,6 +2336,7 @@ void WiFiScan::RunMimicFlood(uint8_t scan_mode, uint16_t color) {
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_AP_STA);
|
esp_wifi_set_mode(WIFI_AP_STA);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous_filter(NULL);
|
esp_wifi_set_promiscuous_filter(NULL);
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_max_tx_power(78);
|
esp_wifi_set_max_tx_power(78);
|
||||||
@@ -2373,6 +2381,7 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&beaconSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&beaconSnifferCallback);
|
||||||
@@ -2640,6 +2649,7 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&beaconSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&beaconSnifferCallback);
|
||||||
@@ -2695,6 +2705,7 @@ void WiFiScan::RunStationScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&stationSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&stationSnifferCallback);
|
||||||
@@ -2744,6 +2755,7 @@ void WiFiScan::RunRawScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&rawSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&rawSnifferCallback);
|
||||||
@@ -2789,6 +2801,7 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&deauthSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&deauthSnifferCallback);
|
||||||
@@ -2850,6 +2863,7 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
|
|||||||
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
||||||
esp_wifi_set_mode(WIFI_MODE_NULL);
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
||||||
esp_wifi_start();
|
esp_wifi_start();
|
||||||
|
this->setMac();
|
||||||
esp_wifi_set_promiscuous(true);
|
esp_wifi_set_promiscuous(true);
|
||||||
esp_wifi_set_promiscuous_filter(&filt);
|
esp_wifi_set_promiscuous_filter(&filt);
|
||||||
esp_wifi_set_promiscuous_rx_cb(&probeSnifferCallback);
|
esp_wifi_set_promiscuous_rx_cb(&probeSnifferCallback);
|
||||||
|
|||||||
@@ -182,6 +182,9 @@ class WiFiScan
|
|||||||
// Wardriver thanks to https://github.com/JosephHewitt
|
// Wardriver thanks to https://github.com/JosephHewitt
|
||||||
struct mac_addr mac_history[mac_history_len];
|
struct mac_addr mac_history[mac_history_len];
|
||||||
|
|
||||||
|
uint8_t ap_mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
|
||||||
|
uint8_t sta_mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
uint mac_history_cursor = 0;
|
uint mac_history_cursor = 0;
|
||||||
uint8_t channel_hop_delay = 1;
|
uint8_t channel_hop_delay = 1;
|
||||||
@@ -439,6 +442,7 @@ class WiFiScan
|
|||||||
|
|
||||||
wifi_config_t ap_config;
|
wifi_config_t ap_config;
|
||||||
|
|
||||||
|
void setMac();
|
||||||
void renderRawStats();
|
void renderRawStats();
|
||||||
void renderPacketRate();
|
void renderPacketRate();
|
||||||
void displayAnalyzerString(String str);
|
void displayAnalyzerString(String str);
|
||||||
|
|||||||
Reference in New Issue
Block a user