Explorar el Código

Add attack command to CLI

Just Call Me Koko hace 3 años
padre
commit
d686353322
Se han modificado 5 ficheros con 60 adiciones y 28 borrados
  1. 1 1
      README.md
  2. 28 0
      esp32_marauder/CommandLine.cpp
  3. 29 25
      esp32_marauder/CommandLine.h
  4. 1 1
      esp32_marauder/configs.h
  5. 1 1
      esp32_marauder/lang_var.h

+ 1 - 1
README.md

@@ -3,7 +3,7 @@
 <!---[![Build Status](https://travis-ci.com/justcallmekoko/ESP32Marauder.svg?branch=master)](https://travis-ci.com/justcallmekoko/ESP32Marauder)--->
 <!---Shields/Badges https://shields.io/--->
 
-# ESP32 Marauder v0.9.5
+# ESP32 Marauder v0.9.7
 <p align="center"><img alt="Marauder logo" src="https://github.com/justcallmekoko/ESP32Marauder/blob/master/pictures/marauder3L.jpg?raw=true" width="300"></p>
 <p align="center">
   <b>A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32</b>

+ 28 - 0
esp32_marauder/CommandLine.cpp

@@ -146,8 +146,36 @@ void CommandLine::runCommand(String input) {
     else if (cmd_args.get(0) == SNIFF_PMKID_CMD) {
       wifi_scan_obj.StartScan(WIFI_SCAN_EAPOL, TFT_VIOLET);
     }
+
+    //// WiFi attack commands
+    // attack
+    if (cmd_args.get(0) == ATTACK_CMD) {
+      int attack_type_switch = this->argSearch(&cmd_args, "-t"); // Required
+  
+      if (attack_type_switch == -1) {
+        Serial.println("You must specify an attack type");
+        return;
+      }
+      else {
+        String attack_type = cmd_args.get(attack_type_switch + 1);
+  
+        // Branch on attack type
+        if (attack_type == ATTACK_TYPE_DEAUTH) {
+          #ifdef HAS_SCREEN
+            display_obj.clearScreen();
+            menu_function_obj.drawStatusBar();
+          #endif
+          wifi_scan_obj.StartScan(WIFI_ATTACK_DEAUTH, TFT_RED);
+        }
+        else {
+          Serial.println("Attack type not properly defined");
+          return;
+        }
+      }
+    }
   }
 
+
   //// WiFi aux commands
 
   // List access points

+ 29 - 25
esp32_marauder/CommandLine.h

@@ -34,6 +34,10 @@ const char PROGMEM SNIFF_PMKID_CMD[] = "sniffpmkid";
 const char PROGMEM STOPSCAN_CMD[] = "stopscan";
 
 // WiFi attack
+const char PROGMEM ATTACK_CMD[] = "attack";
+const char PROGMEM ATTACK_TYPE_DEAUTH[] = "deauth";
+const char PROGMEM ATTACK_TYPE_BEACON[] = "beacon";
+const char PROGMEM ATTACK_TYPE_PROBE[] = "probe";
 
 // WiFi Aux
 const char PROGMEM LIST_AP_CMD[] = "listap";
@@ -47,31 +51,31 @@ class CommandLine {
     int argSearch(LinkedList<String>* cmd_args, String key);
 
     const char* ascii_art =
-    "\n"
-    "              @@@@@@                        \n"
-    "              @@@@@@@@                      \n"
-    "              @@@@@@@@@@@                   \n"
-    "             @@@@@@  @@@@@@                 \n"
-    "          @@@@@@@      @@@@@@@              \n"
-    "        @@@@@@            @@@@@@            \n"
-    "     @@@@@@@                @@@@@@@         \n"
-    "   @@@@@@                      @@@@@@       \n"
-    "@@@@@@@              @@@@@@@@@@@@@@@@       \n"
-    "@@@@@                 @@@@@@@@@@@@@@@       \n"
-    "@@@@@                   @@@@@@@             \n"
-    "@@@@@                      @@@@@@           \n"
-    "@@@@@@                       @@@@@@@        \n"
-    "  @@@@@@                        @@@@@@@@@@@@\n"
-    "    @@@@@@@                         (@@@@@@ \n"
-    "       @@@@@@                     @@@@@@.   \n"
-    "         @@@@@@@               #@@@@@@      \n"
-    "            @@@@@@           @@@@@@         \n"
-    "              @@@@@@@     #@@@@@@           \n"
-    "                 @@@@@@ @@@@@@,             \n"
-    "                   @@@@@@@@@                \n"
-    "                      @@@@@@                \n"
-    "                        @@@@                \n"
-    "\n";
+    "\r\n"
+    "              @@@@@@                        \r\n"
+    "              @@@@@@@@                      \r\n"
+    "              @@@@@@@@@@@                   \r\n"
+    "             @@@@@@  @@@@@@                 \r\n"
+    "          @@@@@@@      @@@@@@@              \r\n"
+    "        @@@@@@            @@@@@@            \r\n"
+    "     @@@@@@@                @@@@@@@         \r\n"
+    "   @@@@@@                      @@@@@@       \r\n"
+    "@@@@@@@              @@@@@@@@@@@@@@@@       \r\n"
+    "@@@@@                 @@@@@@@@@@@@@@@       \r\n"
+    "@@@@@                   @@@@@@@             \r\n"
+    "@@@@@                      @@@@@@           \r\n"
+    "@@@@@@                       @@@@@@@        \r\n"
+    "  @@@@@@                        @@@@@@@@@@@@\r\n"
+    "    @@@@@@@                          @@@@@@ \r\n"
+    "       @@@@@@                     @@@@@@    \r\n"
+    "         @@@@@@@                @@@@@@      \r\n"
+    "            @@@@@@           @@@@@@         \r\n"
+    "              @@@@@@@      @@@@@@           \r\n"
+    "                 @@@@@@ @@@@@@              \r\n"
+    "                   @@@@@@@@@                \r\n"
+    "                      @@@@@@                \r\n"
+    "                        @@@@                \r\n"
+    "\r\n";
         
   public:
     CommandLine();

+ 1 - 1
esp32_marauder/configs.h

@@ -11,7 +11,7 @@
   //#define GENERIC_ESP32
   //#define MARAUDER_FLIPPER
 
-  #define MARAUDER_VERSION "v0.9.7"
+  #define MARAUDER_VERSION "v0.9.8"
 
   //// BUTTON DEFINITIONS
   #ifdef MARAUDER_MINI

+ 1 - 1
esp32_marauder/lang_var.h

@@ -174,6 +174,6 @@ PROGMEM const char *text_table0[] = {text0_0,text0_1, text0_2, text0_3, text0_4,
 PROGMEM const char *text_table1[] = {text1_0,text1_1,text1_2,text1_3,text1_4,text1_5,text1_6,text1_7,text1_8,text1_9,text1_10,text1_11,text1_12,text1_13,text1_14,text1_15,text1_16,text1_17,text1_18,text1_19,text1_20,text1_21,text1_22,text1_23,text1_24,text1_25,text1_26,text1_27,text1_28,text1_29,text1_30,text1_31,text1_32,text1_33,text1_34,text1_35,text1_36,text1_37,text1_38,text1_39,text1_40,text1_41,text1_42,text1_43,text1_44,text1_45,text1_46,text1_47,text1_48,text1_49,text1_50,text1_51,text1_52,text1_53,text1_54,text1_55,text1_56};
 PROGMEM const char *text_table2[] = {text2_0,text2_1,text2_2,text2_3,text2_4,text2_5,text2_6,text2_7,text2_8,text2_9,text2_10,text2_11,text2_12,text2_13,text2_14};
 PROGMEM const char *text_table3[] = {text3_0,text3_1,text3_2,text3_3,text3_4,text3_5};
-PROGMEM const char *text_table4[] = {text4_0,text4_1,text4_2,text4_3,text4_4,text4_5,text4_6,text4_7,text4_8,text4_9,text4_10,text4_11,text4_12,text4_13,text4_14,text4_15,text4_16,text4_17,text4_18,text4_19,text4_20,text4_21,text4_22,text4_23,text4_24,text4_25,text4_26,text4_27,text4_28,text4_29,text4_30,text4_31,text4_32,text4_33,text4_34,text4_35,text4_36,text4_37,text4_38,text4_39,text4_40,text4_41,text4_42,text4_43,text4_44};
+PROGMEM const char *text_table4[] = {text4_0,text4_1,text4_2,text4_3,text4_4,text4_5,text4_6,text4_7,text1_54,text4_9,text4_10,text4_11,text4_12,text4_13,text4_14,text4_15,text4_16,text4_17,text4_18,text4_19,text4_20,text4_21,text4_22,text4_23,text4_24,text4_25,text4_26,text4_27,text4_28,text4_29,text4_30,text4_31,text4_32,text4_33,text4_34,text4_35,text4_36,text4_37,text4_38,text4_39,text4_40,text4_41,text4_42,text4_43,text4_44};
 
 #endif