# core/main_menu.py from InquirerPy import inquirer from core.utils import clear_screen from core.config import config from framework.reconnaissance.reconnaissance_menu import reconnaissance_menu # Corrected path for Reconnaissance Menu # Main Menu Function def main_menu(): while True: clear_screen() # Clear screen before displaying the main menu selection = inquirer.select( message="Select a Tactic:", choices=[ "Reconnaissance", "Initial Access", "Execution", "Persistence", "Privilege Escalation", "Defense Evasion", "Credential Access", "Discovery", "Lateral Movement", "Collection", "Command and Control", "Exfiltration", "Impact", "Resource Development", "Set Global Variable", "Show Global Variables", "Exit", ], qmark="", # Remove question mark pointer="👾" # Customize the pointer ).execute() # Call relevant function based on user selection if selection == "Exit": print("Exiting...") break elif selection == "Set Global Variable": config.prompt_set_variable() elif selection == "Show Global Variables": config.show_variables() elif selection == "Reconnaissance": reconnaissance_menu() # Navigate to Reconnaissance Menu else: # Handle options under construction print("This feature is under construction. Returning to the main menu...") input("Press Enter to continue...") if __name__ == "__main__": main_menu()