예제 #1
0
    def get_kerberos_cred(self):
        secret = None
        stye = None
        if self.krb_rc4_hmac is not None:
            stype = KerberosSecretType.RC4
            secret = self.krb_rc4_hmac

        if self.nt_hash is not None:
            stype = KerberosSecretType.RC4
            secret = self.nt_hash

        elif self.krb_aes128 is not None:
            stype = KerberosSecretType.AES
            secret = self.krb_aes128

        elif self.krb_aes256 is not None:
            stype = KerberosSecretType.AES
            secret = self.krb_aes256

        if stye is None:
            raise Exception('Couldnt figure out correct stype for credential!')

        kc = KerberosCredential()
        kc.add_secret(stype, secret)
        return kc
예제 #2
0
    def get_kerberos_cred(self):
        stype = None
        dbstype = self.stype.upper()
        if dbstype in ['PW', 'PASSWORD', 'PASS']:
            kc = KerberosCredential()
            kc.domain = self.domain
            kc.username = self.username
            kc.add_secret(KerberosSecretType.PASSWORD, self.secret)
            return kc
        elif dbstype in ['RC4', 'NT']:
            kc = KerberosCredential()
            kc.domain = self.domain
            kc.username = self.username
            kc.add_secret(KerberosSecretType.RC4, self.secret)
            return kc
        elif dbstype in ['AES', 'AES128', 'AES256']:
            kc = KerberosCredential()
            kc.domain = self.domain
            kc.username = self.username
            kc.add_secret(KerberosSecretType.AES, self.secret)
            return kc
        elif dbstype in ['KEYTAB']:
            kc = KerberosCredential.from_keytab(self.secret)
            kc.domain = self.domain
            kc.username = self.username
            return kc
        elif dbstype in ['KIRBI']:
            kc = KerberosCredential.from_kirbi(self.secret)
            return kc

        if stype is None:
            raise Exception('Couldnt figure out correct stype for customcred!')