diff --git a/lib/rex/post/meterpreter/client_core.rb b/lib/rex/post/meterpreter/client_core.rb index cb24c0abb8d2..8c68e54c4cb9 100644 --- a/lib/rex/post/meterpreter/client_core.rb +++ b/lib/rex/post/meterpreter/client_core.rb @@ -343,7 +343,7 @@ def use(mod, opts = { }) unless commands.length > 0 image = nil path = nil - # If client.sys isn't setup, it's a Windows meterpreter + # If client.sys isn't setup, it's a Windows meterpreter if client.respond_to?(:sys) && !client.sys.config.sysinfo['BuildTuple'].blank? # Query the payload gem directly for the extension image image = MetasploitPayloads::Mettle.load_extension(client.sys.config.sysinfo['BuildTuple'], mod.downcase, suffix) @@ -688,7 +688,7 @@ def migrate(target_pid, writable_dir = nil, opts = {}) end # Renegotiate TLV encryption on the migrated session - client.tlv_enc_key = negotiate_tlv_encryption + secure # Load all the extensions that were loaded in the previous instance (using the correct platform/binary_suffix) client.ext.aliases.keys.each { |e| diff --git a/lib/rex/post/meterpreter/packet_dispatcher.rb b/lib/rex/post/meterpreter/packet_dispatcher.rb index 158378c80190..051bd3fc89e1 100644 --- a/lib/rex/post/meterpreter/packet_dispatcher.rb +++ b/lib/rex/post/meterpreter/packet_dispatcher.rb @@ -429,11 +429,13 @@ def receive_packet def monitor_stop if self.receiver_thread self.receiver_thread.kill + self.receiver_thread.join self.receiver_thread = nil end if self.dispatcher_thread self.dispatcher_thread.kill + self.dispatcher_thread.join self.dispatcher_thread = nil end end