Skip to content

Commit 1a8746f

Browse files
committed
fix: updated warning messages, inverted is_weak_key logic
1 parent acfaf52 commit 1a8746f

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

lib/msf/base/sessions/meterpreter.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,9 @@ def bootstrap(datastore = {}, handler = nil)
175175
end
176176

177177
session.commands.concat(session.core.get_loaded_extension_commands('core'))
178-
if session.tlv_enc_key[:is_weak_key]
179-
print_warning('Meterpreter session is using a weak encryption key.')
178+
if session.tlv_enc_key[:weak_key?]
179+
print_warning("Meterpreter session #{session.sid} is using a weak encryption key.")
180+
print_warning('Meterpreter start up operations have been aborted. Use the session at your own risk.')
180181
return nil
181182
end
182183
# Unhook the process prior to loading stdapi to reduce logging/inspection by any AV/PSP

lib/rex/post/meterpreter/client_core.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,7 @@ def negotiate_tlv_encryption(timeout: client.comm_timeout)
774774

775775
if key_dec_data.length == 17 || key_dec_data.length == 33
776776
sym_key = key_dec_data[0, key_dec_data.length - 1]
777-
is_weak_key = key_dec_data[key_dec_data.length - 1] == "\x01"
777+
is_weak_key = key_dec_data[key_dec_data.length - 1] != "\x00"
778778
else
779779
sym_key = key_dec_data
780780
end
@@ -789,7 +789,7 @@ def negotiate_tlv_encryption(timeout: client.comm_timeout)
789789
{
790790
key: sym_key,
791791
type: key_type,
792-
is_weak_key: is_weak_key
792+
weak_key?: is_weak_key
793793
}
794794
end
795795

0 commit comments

Comments
 (0)