from abc import ABCMeta, abstractmethod __author__ = 'itamar' class HostExploiter(object): __metaclass__ = ABCMeta _target_os_type = [] def is_os_supported(self, host): return host.os.get('type') in self._target_os_type @abstractmethod def exploit_host(self, host, depth=-1, src_path=None): raise NotImplementedError() from win_ms08_067 import Ms08_067_Exploiter from wmiexec import WmiExploiter from smbexec import SmbExploiter from rdpgrinder import RdpExploiter from sshexec import SSHExploiter