diff --git a/lib/msf/core/payload/python/meterpreter_loader.rb b/lib/msf/core/payload/python/meterpreter_loader.rb index d301b0b1bb..328fce5c38 100644 --- a/lib/msf/core/payload/python/meterpreter_loader.rb +++ b/lib/msf/core/payload/python/meterpreter_loader.rb @@ -157,9 +157,15 @@ module Payload::Python::MeterpreterLoader aes_encryptor = Rex::Text.encode_base64(Rex::Text.zlib_deflate(python_aes_source)) rsa_encryptor = Rex::Text.encode_base64(Rex::Text.zlib_deflate(python_rsa_source)) %Q? -import codecs,imp,base64,zlib -met_aes = imp.new_module('met_aes') -met_rsa = imp.new_module('met_rsa') +import codecs,base64,zlib +try: + import importlib.util + new_module = lambda x: importlib.util.spec_from_loader(x, loader=None) +except ImportError: + import imp + new_module = imp.new_module +met_aes = new_module('met_aes') +met_rsa = new_module('met_rsa') exec(compile(zlib.decompress(base64.b64decode(codecs.getencoder('utf-8')('#{aes_encryptor}')[0])),'met_aes','exec'), met_aes.__dict__) exec(compile(zlib.decompress(base64.b64decode(codecs.getencoder('utf-8')('#{rsa_encryptor}')[0])),'met_rsa','exec'), met_rsa.__dict__) sys.modules['met_aes'] = met_aes diff --git a/modules/payloads/singles/python/meterpreter_bind_tcp.rb b/modules/payloads/singles/python/meterpreter_bind_tcp.rb index cb613a9c7b..15a4e92539 100644 --- a/modules/payloads/singles/python/meterpreter_bind_tcp.rb +++ b/modules/payloads/singles/python/meterpreter_bind_tcp.rb @@ -6,7 +6,7 @@ module MetasploitModule - CachedSize = 116841 + CachedSize = 117045 include Msf::Payload::Single include Msf::Payload::Python diff --git a/modules/payloads/singles/python/meterpreter_reverse_http.rb b/modules/payloads/singles/python/meterpreter_reverse_http.rb index 79980528c3..3837275525 100644 --- a/modules/payloads/singles/python/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/python/meterpreter_reverse_http.rb @@ -6,7 +6,7 @@ module MetasploitModule - CachedSize = 116833 + CachedSize = 117037 include Msf::Payload::Single include Msf::Payload::Python diff --git a/modules/payloads/singles/python/meterpreter_reverse_https.rb b/modules/payloads/singles/python/meterpreter_reverse_https.rb index e38193e08f..9c01b35b44 100644 --- a/modules/payloads/singles/python/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/python/meterpreter_reverse_https.rb @@ -6,7 +6,7 @@ module MetasploitModule - CachedSize = 116833 + CachedSize = 117037 include Msf::Payload::Single include Msf::Payload::Python diff --git a/modules/payloads/singles/python/meterpreter_reverse_tcp.rb b/modules/payloads/singles/python/meterpreter_reverse_tcp.rb index a6e2b9c906..ec5ca0b2a1 100644 --- a/modules/payloads/singles/python/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/python/meterpreter_reverse_tcp.rb @@ -6,7 +6,7 @@ module MetasploitModule - CachedSize = 116741 + CachedSize = 116945 include Msf::Payload::Single include Msf::Payload::Python