예제 #1
0
    def is_os_supported(self, host):
        if host.os.get('type') in self._target_os_type and \
                        host.os.get('version') in self._windows_versions.keys():
            return True

        if not host.os.get('type') or (host.os.get('type') in self._target_os_type and not host.os.get('version')):
            is_smb_open,_ = check_port_tcp(host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                if smb_finger.get_host_fingerprint(host):
                    return host.os.get('type') in self._target_os_type and \
                            host.os.get('version') in self._windows_versions.keys()
        return False
예제 #2
0
    def is_os_supported(self):
        if self.host.os.get('type') in self._TARGET_OS_TYPE and \
                        self.host.os.get('version') in self._windows_versions.keys():
            return True

        if not self.host.os.get('type') or (
                        self.host.os.get('type') in self._TARGET_OS_TYPE and not self.host.os.get('version')):
            is_smb_open, _ = check_port_tcp(self.host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                if smb_finger.get_host_fingerprint(self.host):
                    return self.host.os.get('type') in self._TARGET_OS_TYPE and \
                           self.host.os.get('version') in self._windows_versions.keys()
        return False
예제 #3
0
    def is_os_supported(self):
        if super(SmbExploiter, self).is_os_supported():
            return True

        if not self.host.os.get('type'):
            is_smb_open, _ = check_tcp_port(self.host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                smb_finger.get_host_fingerprint(self.host)
            else:
                is_nb_open, _ = check_tcp_port(self.host.ip_addr, 139)
                if is_nb_open:
                    self.host.os['type'] = 'windows'
            return self.host.os.get('type') in self._TARGET_OS_TYPE
        return False
예제 #4
0
    def is_os_supported(self, host):
        if host.os.get('type') in self._target_os_type:
            return True

        if not host.os.get('type'):
            is_smb_open, _ = check_port_tcp(host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                smb_finger.get_host_fingerprint(host)
            else:
                is_nb_open, _ = check_port_tcp(host.ip_addr, 139)
                if is_nb_open:
                    host.os['type'] = 'windows'
            return host.os.get('type') in self._target_os_type
        return False
예제 #5
0
파일: smbexec.py 프로젝트: 0x0mar/monkey
    def is_os_supported(self, host):
        if host.os.get('type') in self._target_os_type:
            return True

        if not host.os.get('type'):
            is_smb_open,_ = check_port_tcp(host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                smb_finger.get_host_fingerprint(host)
            else:
                is_nb_open,_ = check_port_tcp(host.ip_addr, 139)
                if is_nb_open:
                    host.os['type'] = 'windows'
            return host.os.get('type') in self._target_os_type
        return False        
예제 #6
0
    def is_os_supported(self, host):
        if host.os.get('type') in self._target_os_type and \
                        host.os.get('version') in self._windows_versions.keys():
            return True

        if not host.os.get('type') or (host.os.get('type')
                                       in self._target_os_type
                                       and not host.os.get('version')):
            is_smb_open, _ = check_port_tcp(host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                if smb_finger.get_host_fingerprint(host):
                    return host.os.get('type') in self._target_os_type and \
                            host.os.get('version') in self._windows_versions.keys()
        return False
예제 #7
0
    def is_os_supported(self):
        if super(SmbExploiter, self).is_os_supported():
            return True

        if not self.host.os.get('type'):
            is_smb_open, _ = check_port_tcp(self.host.ip_addr, 445)
            if is_smb_open:
                smb_finger = SMBFinger()
                smb_finger.get_host_fingerprint(self.host)
            else:
                is_nb_open, _ = check_port_tcp(self.host.ip_addr, 139)
                if is_nb_open:
                    self.host.os['type'] = 'windows'
            return self.host.os.get('type') in self._TARGET_OS_TYPE
        return False