Skip to content

Commit ebc7000

Browse files
committed
Support auto authentication for MSSQL
1 parent 100ac4b commit ebc7000

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

lib/rex/proto/mssql/client.rb

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,18 @@ def detect_platform_and_arch
135135
#
136136

137137
def mssql_login(user='sa', pass='', db='', domain_name='')
138-
if auth == Msf::Exploit::Remote::AuthOption::KERBEROS
138+
case auth
139+
when Msf::Exploit::Remote::AuthOption::AUTO
140+
if domain_name.blank?
141+
login_sql(user, pass, db, domain_name)
142+
else
143+
login_ntlm(user, pass, db, domain_name)
144+
end
145+
when Msf::Exploit::Remote::AuthOption::KERBEROS
139146
login_kerberos(user, pass, db, domain_name)
140-
elsif auth == Msf::Exploit::Remote::AuthOption::NTLM
147+
when Msf::Exploit::Remote::AuthOption::NTLM
141148
login_ntlm(user, pass, db, domain_name)
142-
else
149+
when Msf::Exploit::Remote::AuthOption::PLAINTEXT
143150
login_sql(user, pass, db, domain_name)
144151
end
145152
end
@@ -465,7 +472,7 @@ def login_ntlm(user, pass, db, domain_name)
465472
info[:login_ack] ? true : false
466473
end
467474

468-
def login_sql(user, pass, db, domain_name)
475+
def login_sql(user, pass, db, _domain_name)
469476
prelogin_data = mssql_prelogin
470477

471478
pkt_hdr = MsTdsHeader.new(

0 commit comments

Comments
 (0)