From 6d4cefdff7c03fe691fe79c904f8f9e1780da0a1 Mon Sep 17 00:00:00 2001 From: dledda-r7 Date: Tue, 16 Dec 2025 10:36:56 -0500 Subject: [PATCH] fix: fix erb for mettle payload generation --- .../singles/linux/aarch64/meterpreter_reverse_http.rb | 8 ++++---- .../singles/linux/aarch64/meterpreter_reverse_https.rb | 8 ++++---- .../singles/linux/aarch64/meterpreter_reverse_tcp.rb | 6 +++--- .../singles/linux/armle/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/armle/meterpreter_reverse_https.rb | 8 ++++---- .../singles/linux/armle/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/mips64/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/mips64/meterpreter_reverse_https.rb | 8 ++++---- .../singles/linux/mips64/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/mipsbe/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/mipsbe/meterpreter_reverse_https.rb | 7 ++++--- .../singles/linux/mipsbe/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/mipsle/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/mipsle/meterpreter_reverse_https.rb | 7 ++++--- .../singles/linux/mipsle/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/x64/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/x64/meterpreter_reverse_https.rb | 7 ++++--- .../payloads/singles/linux/x64/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/x86/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/x86/meterpreter_reverse_https.rb | 7 ++++--- .../payloads/singles/linux/x86/meterpreter_reverse_tcp.rb | 7 ++++--- .../singles/linux/zarch/meterpreter_reverse_http.rb | 7 ++++--- .../singles/linux/zarch/meterpreter_reverse_https.rb | 7 ++++--- .../singles/linux/zarch/meterpreter_reverse_tcp.rb | 7 ++++--- tools/modules/meterpreter_reverse.erb | 8 +++++--- 25 files changed, 100 insertions(+), 79 deletions(-) diff --git a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_http.rb index 42130483ca..3b902c2fa5 100644 --- a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_http.rb @@ -6,8 +6,8 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule - CachedSize = 1184672 + CachedSize = 1184672 include Msf::Payload::Single include Msf::Sessions::MeterpreterOptions::Linux @@ -42,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('aarch64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_https.rb index 106a183789..10d9233efc 100644 --- a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_https.rb @@ -6,8 +6,8 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule - CachedSize = 1184672 + CachedSize = 1184672 include Msf::Payload::Single include Msf::Sessions::MeterpreterOptions::Linux @@ -42,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('aarch64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb index 48fdbe07c0..67964f3a7a 100644 --- a/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb @@ -41,9 +41,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('aarch64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/armle/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/armle/meterpreter_reverse_http.rb index 237b998a5a..7a0ea250bd 100644 --- a/modules/payloads/singles/linux/armle/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/armle/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1106844 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('armv5l-linux-musleabi', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/armle/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/armle/meterpreter_reverse_https.rb index 48b7cfbbc7..3ed27e7077 100644 --- a/modules/payloads/singles/linux/armle/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/armle/meterpreter_reverse_https.rb @@ -6,8 +6,8 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule - CachedSize = 1106844 + CachedSize = 1106844 include Msf::Payload::Single include Msf::Sessions::MeterpreterOptions::Linux @@ -42,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('armv5l-linux-musleabi', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/armle/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/armle/meterpreter_reverse_tcp.rb index ac2f113682..baaa548137 100644 --- a/modules/payloads/singles/linux/armle/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/armle/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1106844 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('armv5l-linux-musleabi', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mips64/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/mips64/meterpreter_reverse_http.rb index ca3588a0f8..58ed64936b 100644 --- a/modules/payloads/singles/linux/mips64/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/mips64/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1685392 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips64-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mips64/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/mips64/meterpreter_reverse_https.rb index 4bf12a5c23..8c6db900b2 100644 --- a/modules/payloads/singles/linux/mips64/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/mips64/meterpreter_reverse_https.rb @@ -6,8 +6,8 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule - CachedSize = 1685392 + CachedSize = 1685392 include Msf::Payload::Single include Msf::Sessions::MeterpreterOptions::Linux @@ -42,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips64-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mips64/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/mips64/meterpreter_reverse_tcp.rb index 750e7a3ab5..c597f5fa92 100644 --- a/modules/payloads/singles/linux/mips64/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/mips64/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1685392 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips64-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_http.rb index 5467d18721..8ed51724b3 100644 --- a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1583440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_https.rb index e6499a31d2..fa573a232e 100644 --- a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_https.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1583440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_tcp.rb index eb37e4c3ad..0579b5cae5 100644 --- a/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1583440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mips-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_http.rb index c07da7e20e..6ab5f15eaf 100644 --- a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1588440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mipsel-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_https.rb index 89057a36b6..c073a8f6e4 100644 --- a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_https.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1588440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mipsel-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_tcp.rb index 5509822eb5..09b5bb6a58 100644 --- a/modules/payloads/singles/linux/mipsle/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/mipsle/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1588440 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('mipsel-linux-muslsf', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x64/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/x64/meterpreter_reverse_http.rb index 81e418f2f0..e604c7ade7 100644 --- a/modules/payloads/singles/linux/x64/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/x64/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1121480 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('x86_64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x64/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/x64/meterpreter_reverse_https.rb index 9ea6436b0a..cf178c1632 100644 --- a/modules/payloads/singles/linux/x64/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/x64/meterpreter_reverse_https.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1121480 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('x86_64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x64/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/x64/meterpreter_reverse_tcp.rb index a77bbece35..b62b8e9d6f 100644 --- a/modules/payloads/singles/linux/x64/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/x64/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1121480 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('x86_64-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x86/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/x86/meterpreter_reverse_http.rb index b09d41bce1..bc5baace0d 100644 --- a/modules/payloads/singles/linux/x86/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/x86/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1188612 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('i486-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x86/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/x86/meterpreter_reverse_https.rb index ac589cb001..6cbcfc26db 100644 --- a/modules/payloads/singles/linux/x86/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/x86/meterpreter_reverse_https.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1188612 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('i486-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/x86/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/x86/meterpreter_reverse_tcp.rb index ad55b6773b..7a4b8b222c 100644 --- a/modules/payloads/singles/linux/x86/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/x86/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1188612 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('i486-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/zarch/meterpreter_reverse_http.rb b/modules/payloads/singles/linux/zarch/meterpreter_reverse_http.rb index 35455a82b2..ed35a280ba 100644 --- a/modules/payloads/singles/linux/zarch/meterpreter_reverse_http.rb +++ b/modules/payloads/singles/linux/zarch/meterpreter_reverse_http.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1332048 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('s390x-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/zarch/meterpreter_reverse_https.rb b/modules/payloads/singles/linux/zarch/meterpreter_reverse_https.rb index 9a056ba3f9..2703da1350 100644 --- a/modules/payloads/singles/linux/zarch/meterpreter_reverse_https.rb +++ b/modules/payloads/singles/linux/zarch/meterpreter_reverse_https.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1332048 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('s390x-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/modules/payloads/singles/linux/zarch/meterpreter_reverse_tcp.rb b/modules/payloads/singles/linux/zarch/meterpreter_reverse_tcp.rb index b848f07440..6d5d57df13 100644 --- a/modules/payloads/singles/linux/zarch/meterpreter_reverse_tcp.rb +++ b/modules/payloads/singles/linux/zarch/meterpreter_reverse_tcp.rb @@ -6,6 +6,7 @@ # Module generated by tools/modules/generate_mettle_payloads.rb module MetasploitModule + CachedSize = 1332048 include Msf::Payload::Single @@ -41,9 +42,9 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('s390x-linux-musl', generate_config(opts)).to_binary :exec ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload end - payload + in_memory_load(payload) + payload end end diff --git a/tools/modules/meterpreter_reverse.erb b/tools/modules/meterpreter_reverse.erb index 03f8d458ff..05a48f7c85 100644 --- a/tools/modules/meterpreter_reverse.erb +++ b/tools/modules/meterpreter_reverse.erb @@ -40,9 +40,11 @@ module MetasploitModule }.merge(mettle_logging_config) payload = MetasploitPayloads::Mettle.new('<%= payload %>', generate_config(opts)).to_binary :exec <% if platform.downcase == 'linux' %>ds = opts[:datastore] || datastore - if ds['PayloadLinuxMinKernel'] == '3.17' - return in_memory_load(payload) + payload - end<% end %> + if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17') + return payload + end + in_memory_load(payload) + payload<% else %> payload + <% end %> end end