From bf1fa2e816aaa2c0c27ef701aa6c252343f92e4e Mon Sep 17 00:00:00 2001 From: CarrotRub <95135114+CarrotRub@users.noreply.github.com> Date: Sun, 7 Apr 2024 17:53:20 +0200 Subject: [PATCH] Implemented user confirmation for known single device before initiating attack. Adding user confirmation before launching an attack, even when there's only one known device, enhances control and minimizes the risk of unintended actions. This simple feature provides users with reassurance and prevents accidental attacks. --- utils/menu_functions.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/utils/menu_functions.py b/utils/menu_functions.py index 2501b55..2affe1b 100644 --- a/utils/menu_functions.py +++ b/utils/menu_functions.py @@ -9,7 +9,12 @@ def get_target_address(): # Check if the returned list is from known devices or scanned devices if len(devices) == 1 and isinstance(devices[0], tuple) and len(devices[0]) == 2: # A single known device was chosen, no need to ask for selection - target_address = devices[0][0] + # I think it would be better to ask, as sometimes I do not want to chose this device and actually need solely to scan for actual devices. + confirm = input(f"Would you like to enter this device :\n{devices[0][1]} {devices[0][0]} ? (y/n)\n").strip().lower() + if confirm == 'y' or confirm == 'yes': + return devices[0][0] + elif confirm != 'y' or 'yes': + return else: # Show list of scanned devices for user selection for idx, (addr, name) in enumerate(devices): @@ -151,13 +156,14 @@ def main_menu(): print_fancy_ascii_art() print_menu() + def is_valid_mac_address(mac_address): # Regular expression to match a MAC address in the form XX:XX:XX:XX:XX:XX mac_address_pattern = re.compile(r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$') return mac_address_pattern.match(mac_address) is not None # Function to read DuckyScript from file -def read_duckyscript(filename='payload.txt'): +def read_duckyscript(filename): if os.path.exists(filename): with open(filename, 'r') as file: return [line.strip() for line in file.readlines()]