def do_use(self, module_name, module_reload=False): module_file = module.name_convert(module_name) module_type = module_name.split("/")[0] if Path(module_file).is_file(): self.module_name = module_name if module_reload: self.module_class = reload(self.module_class) else: self.module_class = import_module( "modules.{module_name}".format( module_name=module_name.replace("/", "."))) self.module_instance = self.module_class.Exploit() self.set_prompt(module_type=module_type, module_name=module_name) else: self.poutput("Module/Exploit not found.")
def db_rebuild(self, debug): global module_instance self.delete_table() self.create_table() erro = [] success = [] for directory_name, directories, filenames in os.walk("modules/"): for filename in filenames: if (filename not in ["__init__.py"] and not fnmatchcase(filename, "*.pyc") and fnmatchcase(filename, "*.py")): full_name = "{directory}/{filename}".format( directory=directory_name, filename=filename) module_name = name_convert(full_name) try: module_class = import_module( "modules.{module_name}".format( module_name=module_name.replace("/", "."))) success.append(module_name) module_instance = module_class.Exploit() except SyntaxError: erro.append(module_name) module_info = module_instance.get_info module_info["module_name"] = module_name try: getattr(module_instance, "check") module_info["check"] = "True" except AttributeError: module_info["check"] = "False" self.insert_module(module_info) if debug == "debug": for mod_erro in erro: print("{ye}modules not inset in database: [{red}{mod}{ye}]". format(red=Fore.RED, mod=mod_erro, ye=Fore.YELLOW)) for mod_sucess in success: print("modules insert success in database: [{red}{mod}{ye}]". format(red=Fore.GREEN, mod=mod_sucess, ye=Fore.YELLOW))
def db_rebuild(self): self.delete_table() self.create_table() for directory_name, directories, filenames in os.walk('modules/'): for filename in filenames: if filename not in ['__init__.py']\ and not fnmatchcase(filename, "*.pyc")\ and fnmatchcase(filename, "*.py"): full_name = "{directory}/{filename}".format( directory=directory_name, filename=filename) module_name = name_convert(full_name) module_class = import_module( "modules.{module_name}".format( module_name=module_name.replace("/", "."))) module_instance = module_class.Exploit() module_info = module_instance.get_info() module_info['module_name'] = module_name try: getattr(module_instance, 'check') module_info['check'] = 'True' except AttributeError: module_info['check'] = 'False' self.insert_module(module_info)