diff --git a/lib/metasploit/framework/login_scanner/mssql.rb b/lib/metasploit/framework/login_scanner/mssql.rb index 116edd4703..a1e5a1195d 100644 --- a/lib/metasploit/framework/login_scanner/mssql.rb +++ b/lib/metasploit/framework/login_scanner/mssql.rb @@ -77,7 +77,7 @@ module Metasploit } begin - client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port) + client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port, proxies) if client.mssql_login(credential.public, credential.private, '', credential.realm) result_options[:status] = Metasploit::Model::Login::Status::SUCCESSFUL if use_client_as_proof diff --git a/lib/rex/proto/mssql/client.rb b/lib/rex/proto/mssql/client.rb index bc5478b266..1c90dabd35 100644 --- a/lib/rex/proto/mssql/client.rb +++ b/lib/rex/proto/mssql/client.rb @@ -43,7 +43,7 @@ module Rex # @return [Integer] The delay between sending packets attr_accessor :send_delay - def initialize(framework_module, framework, rhost, rport = 1433) + def initialize(framework_module, framework, rhost, rport = 1433, proxies = nil) @framework_module = framework_module @framework = framework @connection_timeout = framework_module.datastore['ConnectTimeout'] || 30 @@ -60,6 +60,7 @@ module Rex @domain_controller_rhost = framework_module.datastore['DomainControllerRhost'] || '' @rhost = rhost @rport = rport + @proxies = proxies end # diff --git a/modules/auxiliary/scanner/mssql/mssql_login.rb b/modules/auxiliary/scanner/mssql/mssql_login.rb index 6b85f38219..f86cb7c16a 100644 --- a/modules/auxiliary/scanner/mssql/mssql_login.rb +++ b/modules/auxiliary/scanner/mssql/mssql_login.rb @@ -33,6 +33,7 @@ class MetasploitModule < Msf::Auxiliary } ) register_options([ + Opt::Proxies, OptBool.new('TDSENCRYPTION', [ true, 'Use TLS/SSL for TDS data "Force Encryption"', false]), OptBool.new('CreateSession', [false, 'Create a new session for every successful login', false]) ])