From 985641dbc48b120e539db9faff99b0cdcf7d4e33 Mon Sep 17 00:00:00 2001 From: HD Moore Date: Sat, 7 Feb 2015 11:27:57 -0600 Subject: [PATCH] Add missing Context, fixes #4723 --- lib/metasploit/framework/ftp/client.rb | 6 +++++- lib/metasploit/framework/login_scanner/snmp.rb | 2 +- lib/metasploit/framework/tcp/client.rb | 3 ++- lib/msf/core/exploit/ftp.rb | 6 +++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/metasploit/framework/ftp/client.rb b/lib/metasploit/framework/ftp/client.rb index 9e6bcdacec..3eedba0ea4 100644 --- a/lib/metasploit/framework/ftp/client.rb +++ b/lib/metasploit/framework/ftp/client.rb @@ -44,7 +44,11 @@ module Metasploit # convert port to FTP syntax datahost = "#{$1}.#{$2}.#{$3}.#{$4}" dataport = ($5.to_i * 256) + $6.to_i - self.datasocket = Rex::Socket::Tcp.create('PeerHost' => datahost, 'PeerPort' => dataport) + self.datasocket = Rex::Socket::Tcp.create( + 'PeerHost' => datahost, + 'PeerPort' => dataport, + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + ) end self.datasocket end diff --git a/lib/metasploit/framework/login_scanner/snmp.rb b/lib/metasploit/framework/login_scanner/snmp.rb index d2fd0d313a..006bbdc7ee 100644 --- a/lib/metasploit/framework/login_scanner/snmp.rb +++ b/lib/metasploit/framework/login_scanner/snmp.rb @@ -38,7 +38,7 @@ module Metasploit :Timeout => connection_timeout, :Retries => 2, :Transport => ::SNMP::RexUDPTransport, - :Socket => ::Rex::Socket::Udp.create + :Socket => ::Rex::Socket::Udp.create('Context' => { 'Msf' => framework, 'MsfExploit' => self }) ) result_options[:proof] = test_read_access(snmp_client) diff --git a/lib/metasploit/framework/tcp/client.rb b/lib/metasploit/framework/tcp/client.rb index ce001f3a30..f272032273 100644 --- a/lib/metasploit/framework/tcp/client.rb +++ b/lib/metasploit/framework/tcp/client.rb @@ -89,7 +89,8 @@ module Metasploit 'SSL' => dossl, 'SSLVersion' => opts['SSLVersion'] || ssl_version, 'Proxies' => proxies, - 'Timeout' => (opts['ConnectTimeout'] || connection_timeout || 10).to_i + 'Timeout' => (opts['ConnectTimeout'] || connection_timeout || 10).to_i, + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) # enable evasions on this socket set_tcp_evasions(nsock) diff --git a/lib/msf/core/exploit/ftp.rb b/lib/msf/core/exploit/ftp.rb index a1c8cc9589..adc0132b02 100644 --- a/lib/msf/core/exploit/ftp.rb +++ b/lib/msf/core/exploit/ftp.rb @@ -83,7 +83,11 @@ module Exploit::Remote::Ftp # convert port to FTP syntax datahost = "#{$1}.#{$2}.#{$3}.#{$4}" dataport = ($5.to_i * 256) + $6.to_i - self.datasocket = Rex::Socket::Tcp.create('PeerHost' => datahost, 'PeerPort' => dataport) + self.datasocket = Rex::Socket::Tcp.create( + 'PeerHost' => datahost, + 'PeerPort' => dataport, + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + ) end self.datasocket end