@@ -134,7 +134,7 @@ def __init__(self, args, db, target):
134134 # Authentication info
135135 self .password = ""
136136 self .username = ""
137- self .kerberos = bool (self .args .kerberos or self .args .use_kcache or self .args .aesKey )
137+ self .kerberos = bool (self .args .kerberos or self .args .use_kcache or self .args .aesKey or ( hasattr ( self . args , "delegate" ) and self . args . delegate ) )
138138 self .aesKey = None if not self .args .aesKey else self .args .aesKey [0 ]
139139 self .use_kcache = None if not self .args .use_kcache else self .args .use_kcache
140140 self .admin_privs = False
@@ -157,7 +157,7 @@ def __init__(self, args, db, target):
157157 else :
158158 return
159159
160- if self .args . kerberos :
160+ if self .kerberos :
161161 self .host = self .hostname
162162
163163 self .logger .info (f"Socket info: host={ self .host } , hostname={ self .hostname } , kerberos={ self .kerberos } , ipv6={ self .is_ipv6 } , link-local ipv6={ self .is_link_local_ipv6 } " )
@@ -469,8 +469,6 @@ def try_credentials(self, domain, username, owned, secret, cred_type, data=None)
469469 return False
470470 if self .args .continue_on_success and owned :
471471 return False
472- if hasattr (self .args , "delegate" ) and self .args .delegate :
473- self .args .kerberos = True
474472
475473 if self .args .jitter :
476474 jitter = self .args .jitter
@@ -485,7 +483,7 @@ def try_credentials(self, domain, username, owned, secret, cred_type, data=None)
485483
486484 with sem :
487485 if cred_type == "plaintext" :
488- if self .args . kerberos :
486+ if self .kerberos :
489487 self .logger .debug ("Trying to authenticate using Kerberos" )
490488 return self .kerberos_login (domain , username , secret , "" , "" , self .kdcHost , False )
491489 elif hasattr (self .args , "domain" ): # Some protocols don't use domain for login
@@ -498,7 +496,7 @@ def try_credentials(self, domain, username, owned, secret, cred_type, data=None)
498496 self .logger .debug ("Trying to authenticate using plaintext" )
499497 return self .plaintext_login (username , secret )
500498 elif cred_type == "hash" :
501- if self .args . kerberos :
499+ if self .kerberos :
502500 return self .kerberos_login (domain , username , "" , secret , "" , self .kdcHost , False )
503501 return self .hash_login (domain , username , secret )
504502 elif cred_type == "aesKey" :
0 commit comments