From bc6bf1c4f3962585ec19cda6137f2c20feba0bd7 Mon Sep 17 00:00:00 2001 From: sjanusz-r7 Date: Fri, 16 Feb 2024 20:22:11 +0000 Subject: [PATCH] Add Proxies support to creating a session with mssql_login --- lib/metasploit/framework/login_scanner/mssql.rb | 2 +- lib/rex/proto/mssql/client.rb | 3 ++- modules/auxiliary/scanner/mssql/mssql_login.rb | 1 + modules/auxiliary/scanner/mysql/mysql_login.rb | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) 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 8b87135480..edf80b3dc6 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]) ]) diff --git a/modules/auxiliary/scanner/mysql/mysql_login.rb b/modules/auxiliary/scanner/mysql/mysql_login.rb index 9a6ced2b34..16dbd13b74 100644 --- a/modules/auxiliary/scanner/mysql/mysql_login.rb +++ b/modules/auxiliary/scanner/mysql/mysql_login.rb @@ -71,7 +71,7 @@ class MetasploitModule < Msf::Auxiliary scanner = Metasploit::Framework::LoginScanner::MySQL.new( host: ip, port: rport, - proxies: datastore['PROXIES'], + proxies: datastore['Proxies'], cred_details: cred_collection, stop_on_success: datastore['STOP_ON_SUCCESS'], bruteforce_speed: datastore['BRUTEFORCE_SPEED'],