From b509c148511fc994ea8a6fa45c99dccaa0fe8152 Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Tue, 27 Mar 2018 13:24:44 -0500 Subject: [PATCH] detect the whitespace needed when patching meterpreter --- lib/msf/core/payload/python/meterpreter_loader.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/msf/core/payload/python/meterpreter_loader.rb b/lib/msf/core/payload/python/meterpreter_loader.rb index 4216fae049..807efcbf0a 100644 --- a/lib/msf/core/payload/python/meterpreter_loader.rb +++ b/lib/msf/core/payload/python/meterpreter_loader.rb @@ -130,11 +130,13 @@ module Payload::Python::MeterpreterLoader # patch in any optional stageless tcp socket setup unless opts[:stageless_tcp_socket_setup].nil? + offset_string = "" + /(?\s+)# PATCH-SETUP-STAGELESS-TCP-SOCKET #/ =~ met socket_setup = opts[:stageless_tcp_socket_setup] socket_setup = socket_setup.split("\n") - socket_setup.map! {|line| " #{line}\n"} + socket_setup.map! {|line| "#{offset_string}#{line}\n"} socket_setup = socket_setup.join - met.sub!(" # PATCH-SETUP-STAGELESS-TCP-SOCKET #", socket_setup) + met.sub!("#{offset_string}# PATCH-SETUP-STAGELESS-TCP-SOCKET #", socket_setup) end met