Пример #1
0
    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.")
Пример #2
0
 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))
Пример #3
0
    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)