diff --git a/lib/msf/core/handler/reverse_http.rb b/lib/msf/core/handler/reverse_http.rb
index 5b0db244b5..025e127608 100644
--- a/lib/msf/core/handler/reverse_http.rb
+++ b/lib/msf/core/handler/reverse_http.rb
@@ -52,16 +52,38 @@ module ReverseHttp
register_advanced_options(
[
-
- OptString.new('MeterpreterUserAgent', [false, 'The user-agent that the payload should use for communication', Rex::UserAgent.shortest]),
- OptString.new('MeterpreterServerName', [false, 'The server header that the handler will send in response to requests', 'Apache']),
- OptAddress.new('ReverseListenerBindAddress', [false, 'The specific IP address to bind to on the local system']),
- OptBool.new('OverrideRequestHost', [false, 'Forces a specific host and port instead of using what the client requests, defaults to LHOST:LPORT', false]),
- OptString.new('OverrideLHOST', [false, 'When OverrideRequestHost is set, use this value as the host name for secondary requests']),
- OptPort.new('OverrideLPORT', [false, 'When OverrideRequestHost is set, use this value as the port number for secondary requests']),
- OptString.new('OverrideScheme', [false, 'When OverrideRequestHost is set, use this value as the scheme for secondary requests, e.g http or https']),
- OptString.new('HttpUnknownRequestResponse', [false, 'The returned HTML response body when the handler receives a request that is not from a payload', '
It works!
']),
- OptBool.new('IgnoreUnknownPayloads', [false, 'Whether to drop connections from payloads using unknown UUIDs', false])
+ OptAddress.new('ReverseListenerBindAddress',
+ 'The specific IP address to bind to on the local system'
+ ),
+ OptBool.new('OverrideRequestHost',
+ 'Forces a specific host and port instead of using what the client requests, defaults to LHOST:LPORT',
+ ),
+ OptString.new('OverrideLHOST',
+ 'When OverrideRequestHost is set, use this value as the host name for secondary requests'
+ ),
+ OptPort.new('OverrideLPORT',
+ 'When OverrideRequestHost is set, use this value as the port number for secondary requests'
+ ),
+ OptString.new('OverrideScheme',
+ 'When OverrideRequestHost is set, use this value as the scheme for secondary requests, e.g http or https'
+ ),
+ OptString.new('HttpUserAgent',
+ 'The user-agent that the payload should use for communication',
+ default: Rex::UserAgent.shortest,
+ aliases: ['MeterpreterUserAgent']
+ ),
+ OptString.new('HttpServerName',
+ 'The server header that the handler will send in response to requests',
+ default: 'Apache',
+ aliases: ['MeterpreterServerName']
+ ),
+ OptString.new('HttpUnknownRequestResponse',
+ 'The returned HTML response body when the handler receives a request that is not from a payload',
+ default: 'It works!
'
+ ),
+ OptBool.new('IgnoreUnknownPayloads',
+ 'Whether to drop connections from payloads using unknown UUIDs'
+ )
], Msf::Handler::ReverseHttp)
end
@@ -204,7 +226,7 @@ module ReverseHttp
raise ex if (ex)
- self.service.server_name = datastore['MeterpreterServerName']
+ self.service.server_name = datastore['HttpServerName']
# Add the new resource
service.add_resource((luri + "/").gsub("//", "/"),
@@ -245,14 +267,14 @@ protected
info = {}
return @proxy_settings if @proxy_settings
- if datastore['PayloadProxyHost'].to_s == ''
+ if datastore['HttpProxyHost'].to_s == ''
@proxy_settings = info
return @proxy_settings
end
- info[:host] = datastore['PayloadProxyHost'].to_s
- info[:port] = (datastore['PayloadProxyPort'] || 8080).to_i
- info[:type] = datastore['PayloadProxyType'].to_s
+ info[:host] = datastore['HttpProxyHost'].to_s
+ info[:port] = (datastore['HttpProxyPort'] || 8080).to_i
+ info[:type] = datastore['HttpProxyType'].to_s
uri_host = info[:host]
@@ -266,11 +288,11 @@ protected
info[:info] = "socks=#{info[:info]}"
else
info[:info] = "http://#{info[:info]}"
- if datastore['PayloadProxyUser'].to_s != ''
- info[:username] = datastore['PayloadProxyUser'].to_s
+ if datastore['HttpProxyUser'].to_s != ''
+ info[:username] = datastore['HttpProxyUser'].to_s
end
- if datastore['PayloadProxyPass'].to_s != ''
- info[:password] = datastore['PayloadProxyPass'].to_s
+ if datastore['HttpProxyPass'].to_s != ''
+ info[:password] = datastore['HttpProxyPass'].to_s
end
end
diff --git a/lib/msf/core/handler/reverse_https_proxy.rb b/lib/msf/core/handler/reverse_https_proxy.rb
index 997316f688..1642460ad5 100644
--- a/lib/msf/core/handler/reverse_https_proxy.rb
+++ b/lib/msf/core/handler/reverse_https_proxy.rb
@@ -38,13 +38,13 @@ module ReverseHttpsProxy
register_options(
[
- OptAddressLocal.new('LHOST', [ true, "The local listener hostname" ,"127.0.0.1"]),
- OptPort.new('LPORT', [ true, "The local listener port", 8443 ]),
- OptString.new('PayloadProxyHost', [true, "The proxy server's IP address", "127.0.0.1"]),
- OptPort.new('PayloadProxyPort', [true, "The proxy port to connect to", 8080 ]),
- OptEnum.new('PayloadProxyType', [true, 'The proxy type, HTTP or SOCKS', 'HTTP', ['HTTP', 'SOCKS']]),
- OptString.new('PayloadProxyUser', [ false, "An optional username for HTTP proxy authentication"]),
- OptString.new('PayloadProxyPass', [ false, "An optional password for HTTP proxy authentication"])
+ OptAddressLocal.new('LHOST', "The local listener hostname", default: "127.0.0.1"),
+ OptPort.new('LPORT', "The local listener port", default: 8443),
+ OptString.new('HttpProxyHost', "The proxy server's IP address", required: true, default: "127.0.0.1", aliases: ['PayloadProxyHost']),
+ OptPort.new('HttpProxyPort', "The proxy port to connect to", required: true, default: 8080, aliases: ['PayloadProxyPort']),
+ OptEnum.new('HttpProxyType', 'The proxy type, HTTP or SOCKS', enums: ['HTTP', 'SOCKS'], aliases: ['PayloadProxyType']),
+ OptString.new('HttpProxyUser', "An optional username for HTTP proxy authentication", aliases: ['PayloadProxyUser']),
+ OptString.new('HttpProxyPass', "An optional password for HTTP proxy authentication", aliases: ['PayloadProxyPass'])
], Msf::Handler::ReverseHttpsProxy)
register_advanced_options(
diff --git a/lib/msf/core/payload/java/reverse_http.rb b/lib/msf/core/payload/java/reverse_http.rb
index 3e6cb675c8..b0c1fc0d66 100644
--- a/lib/msf/core/payload/java/reverse_http.rb
+++ b/lib/msf/core/payload/java/reverse_http.rb
@@ -67,7 +67,7 @@ module Payload::Java::ReverseHttp
c = ''
c << "Spawn=#{ds["Spawn"] || 2}\n"
- c << "HeaderUser-Agent=#{ds["MeterpreterUserAgent"]}\n" if ds["MeterpreterUserAgent"]
+ c << "HeaderUser-Agent=#{ds["HttpUserAgent"]}\n" if ds["HttpUserAgent"]
c << "HeaderHost=#{ds["HttpHeaderHost"]}\n" if ds["HttpHeaderHost"]
c << "HeaderReferer=#{ds["HttpHeaderReferer"]}\n" if ds["HttpHeaderReferer"]
c << "HeaderCookie=#{ds["HttpHeaderCookie"]}\n" if ds["HttpHeaderCookie"]
diff --git a/lib/msf/core/payload/multi/reverse_http.rb b/lib/msf/core/payload/multi/reverse_http.rb
index 008f99f5a0..9d9f45de1c 100644
--- a/lib/msf/core/payload/multi/reverse_http.rb
+++ b/lib/msf/core/payload/multi/reverse_http.rb
@@ -23,14 +23,13 @@ module Payload::Multi::ReverseHttp
def initialize(*args)
super
register_advanced_options([
- OptInt.new('StagerURILength', [false, 'The URI length for the stager (at least 5 bytes)']),
- OptInt.new('StagerRetryCount', [false, 'The number of times the stager should retry if the first connect fails', 10],
- aliases: ['ReverseConnectRetries']),
- OptString.new('PayloadProxyHost', [false, 'An optional proxy server IP address or hostname']),
- OptPort.new('PayloadProxyPort', [false, 'An optional proxy server port']),
- OptString.new('PayloadProxyUser', [false, 'An optional proxy server username']),
- OptString.new('PayloadProxyPass', [false, 'An optional proxy server password']),
- OptEnum.new('PayloadProxyType', [false, 'The type of HTTP proxy (HTTP or SOCKS)', 'HTTP', ['HTTP', 'SOCKS']])
+ OptInt.new('StagerURILength', 'The URI length for the stager (at least 5 bytes)'),
+ OptInt.new('StagerRetryCount', 'The number of times the stager should retry if the first connect fails', default: 10, aliases: ['ReverseConnectRetries']),
+ OptString.new('HttpProxyHost', 'An optional proxy server IP address or hostname', aliases: ['PayloadProxyHost']),
+ OptPort.new('HttpProxyPort', 'An optional proxy server port', aliases: ['PayloadProxyPort']),
+ OptString.new('HttpProxyUser', 'An optional proxy server username', aliases: ['PayloadProxyUser']),
+ OptString.new('HttpProxyPass', 'An optional proxy server password', aliases: ['PayloadProxyPass']),
+ OptEnum.new('HttpProxyType', 'The type of HTTP proxy (HTTP or SOCKS)', enums: ['HTTP', 'SOCKS'], aliases: ['PayloadProxyType'])
])
end
@@ -67,4 +66,3 @@ module Payload::Multi::ReverseHttp
end
end
-
diff --git a/lib/msf/core/payload/python/meterpreter_loader.rb b/lib/msf/core/payload/python/meterpreter_loader.rb
index 370e28dc51..0b8c97210b 100644
--- a/lib/msf/core/payload/python/meterpreter_loader.rb
+++ b/lib/msf/core/payload/python/meterpreter_loader.rb
@@ -88,9 +88,9 @@ module Payload::Python::MeterpreterLoader
end
met.sub!("SESSION_GUID = \'\'", "SESSION_GUID = \'#{session_guid}\'")
- http_user_agent = opts[:http_user_agent] || ds['MeterpreterUserAgent']
- http_proxy_host = opts[:http_proxy_host] || ds['PayloadProxyHost'] || ds['PROXYHOST']
- http_proxy_port = opts[:http_proxy_port] || ds['PayloadProxyPort'] || ds['PROXYPORT']
+ http_user_agent = opts[:http_user_agent] || ds['HttpUserAgent']
+ http_proxy_host = opts[:http_proxy_host] || ds['HttpProxyHost'] || ds['PROXYHOST']
+ http_proxy_port = opts[:http_proxy_port] || ds['HttpProxyPort'] || ds['PROXYPORT']
http_header_host = opts[:header_host] || ds['HttpHeaderHost']
http_header_cookie = opts[:header_cookie] || ds['HttpHeaderCookie']
http_header_referer = opts[:header_referer] || ds['HttpHeaderReferer']
diff --git a/lib/msf/core/payload/python/reverse_http.rb b/lib/msf/core/payload/python/reverse_http.rb
index 8f133d034d..9dac5a71cd 100644
--- a/lib/msf/core/payload/python/reverse_http.rb
+++ b/lib/msf/core/payload/python/reverse_http.rb
@@ -13,8 +13,8 @@ module Payload::Python::ReverseHttp
super(info)
register_options(
[
- OptString.new('PayloadProxyHost', [ false, "The proxy server's IP address" ]),
- OptPort.new('PayloadProxyPort', [ true, "The proxy port to connect to", 8080 ]),
+ OptString.new('HttpProxyHost', [ false, "The proxy server's IP address" ], aliases: ['PayloadProxyHost']),
+ OptPort.new('HttpProxyPort', [ true, "The proxy port to connect to", 8080 ], aliases: ['PayloadProxyHost']),
OptString.new('HttpHeaderHost', [false, 'An optional value to use for the Host HTTP header']),
OptString.new('HttpHeaderCookie', [false, 'An optional value to use for the Cookie HTTP header']),
OptString.new('HttpHeaderReferer', [false, 'An optional value to use for the Referer HTTP header'])
@@ -29,9 +29,9 @@ module Payload::Python::ReverseHttp
opts.merge!({
host: ds['LHOST'] || '127.127.127.127',
port: ds['LPORT'],
- proxy_host: ds['PayloadProxyHost'],
- proxy_port: ds['PayloadProxyPort'],
- user_agent: ds['MeterpreterUserAgent'],
+ proxy_host: ds['HttpProxyHost'],
+ proxy_port: ds['HttpProxyPort'],
+ user_agent: ds['HttpUserAgent'],
header_host: ds['HttpHeaderHost'],
header_cookie: ds['HttpHeaderCookie'],
header_referer: ds['HttpHeaderReferer']
diff --git a/lib/msf/core/payload/transport_config.rb b/lib/msf/core/payload/transport_config.rb
index 3c9972c0cf..284347e1cb 100644
--- a/lib/msf/core/payload/transport_config.rb
+++ b/lib/msf/core/payload/transport_config.rb
@@ -60,12 +60,12 @@ module Msf::Payload::TransportConfig
lhost: opts[:lhost] || ds['LHOST'],
lport: (opts[:lport] || ds['LPORT']).to_i,
uri: uri,
- ua: ds['MeterpreterUserAgent'],
- proxy_host: ds['PayloadProxyHost'],
- proxy_port: ds['PayloadProxyPort'],
- proxy_type: ds['PayloadProxyType'],
- proxy_user: ds['PayloadProxyUser'],
- proxy_pass: ds['PayloadProxyPass'],
+ ua: ds['HttpUserAgent'],
+ proxy_host: ds['HttpProxyHost'],
+ proxy_port: ds['HttpProxyPort'],
+ proxy_type: ds['HttpProxyType'],
+ proxy_user: ds['HttpProxyUser'],
+ proxy_pass: ds['HttpProxyPass'],
custom_headers: get_custom_headers(ds)
}.merge(timeout_config(opts))
end
diff --git a/lib/msf/core/payload/windows/reverse_http.rb b/lib/msf/core/payload/windows/reverse_http.rb
index 5ee674b3ac..3d6729b199 100644
--- a/lib/msf/core/payload/windows/reverse_http.rb
+++ b/lib/msf/core/payload/windows/reverse_http.rb
@@ -32,14 +32,14 @@ module Payload::Windows::ReverseHttp
OptInt.new('StagerRetryCount', [false, 'The number of times the stager should retry if the first connect fails', 10],
aliases: ['ReverseConnectRetries']),
OptInt.new('StagerRetryWait', [false, 'Number of seconds to wait for the stager between reconnect attempts', 5]),
- OptString.new('PayloadProxyHost', [false, 'An optional proxy server IP address or hostname']),
- OptPort.new('PayloadProxyPort', [false, 'An optional proxy server port']),
- OptString.new('PayloadProxyUser', [false, 'An optional proxy server username']),
- OptString.new('PayloadProxyPass', [false, 'An optional proxy server password']),
- OptEnum.new('PayloadProxyType', [false, 'The type of HTTP proxy (HTTP or SOCKS)', 'HTTP', ['HTTP', 'SOCKS']]),
- OptString.new('HttpHeaderHost', [false, 'An optional value to use for the Host HTTP header']),
- OptString.new('HttpHeaderCookie', [false, 'An optional value to use for the Cookie HTTP header']),
- OptString.new('HttpHeaderReferer', [false, 'An optional value to use for the Referer HTTP header'])
+ OptString.new('HttpProxyHost', 'An optional proxy server IP address or hostname', aliases: ['PayloadProxyHost']),
+ OptPort.new('HttpProxyPort', 'An optional proxy server port', aliases: ['PayloadProxyPort']),
+ OptString.new('HttpProxyUser', 'An optional proxy server username', aliases: ['PayloadProxyUser']),
+ OptString.new('HttpProxyPass', 'An optional proxy server password', aliases: ['PayloadProxyPass']),
+ OptEnum.new('HttpProxyType', 'The type of HTTP proxy (HTTP or SOCKS)', enums: ['HTTP', 'SOCKS'], aliases: ['PayloadProxyType']),
+ OptString.new('HttpHeaderHost', 'An optional value to use for the Host HTTP header'),
+ OptString.new('HttpHeaderCookie', 'An optional value to use for the Cookie HTTP header'),
+ OptString.new('HttpHeaderReferer', 'An optional value to use for the Referer HTTP header')
], self.class)
end
@@ -60,12 +60,12 @@ module Payload::Windows::ReverseHttp
if self.available_space.nil? || required_space <= self.available_space
conf[:url] = luri + generate_uri(opts)
conf[:exitfunk] = ds['EXITFUNC']
- conf[:ua] = ds['MeterpreterUserAgent']
- conf[:proxy_host] = ds['PayloadProxyHost']
- conf[:proxy_port] = ds['PayloadProxyPort']
- conf[:proxy_user] = ds['PayloadProxyUser']
- conf[:proxy_pass] = ds['PayloadProxyPass']
- conf[:proxy_type] = ds['PayloadProxyType']
+ conf[:ua] = ds['HttpUserAgent']
+ conf[:proxy_host] = ds['HttpProxyHost']
+ conf[:proxy_port] = ds['HttpProxyPort']
+ conf[:proxy_user] = ds['HttpProxyUser']
+ conf[:proxy_pass] = ds['HttpProxyPass']
+ conf[:proxy_type] = ds['HttpProxyType']
conf[:custom_headers] = get_custom_headers(ds)
else
# Otherwise default to small URIs
diff --git a/lib/msf/core/payload/windows/reverse_winhttp.rb b/lib/msf/core/payload/windows/reverse_winhttp.rb
index f30dbefa15..380a3141da 100644
--- a/lib/msf/core/payload/windows/reverse_winhttp.rb
+++ b/lib/msf/core/payload/windows/reverse_winhttp.rb
@@ -21,7 +21,7 @@ module Payload::Windows::ReverseWinHttp
def initialize(*args)
super
register_advanced_options([
- OptBool.new('PayloadProxyIE', [false, 'Enable use of IE proxy settings', true])
+ OptBool.new('HttpProxyIE', 'Enable use of IE proxy settings', default: true, aliases: ['PayloadProxyIE'])
], self.class)
end
@@ -41,13 +41,13 @@ module Payload::Windows::ReverseWinHttp
conf[:uri] = luri + generate_uri
conf[:exitfunk] = ds['EXITFUNC']
conf[:verify_cert_hash] = opts[:verify_cert_hash]
- conf[:proxy_host] = ds['PayloadProxyHost']
- conf[:proxy_port] = ds['PayloadProxyPort']
- conf[:proxy_user] = ds['PayloadProxyUser']
- conf[:proxy_pass] = ds['PayloadProxyPass']
- conf[:proxy_type] = ds['PayloadProxyType']
+ conf[:proxy_host] = ds['HttpProxyHost']
+ conf[:proxy_port] = ds['HttpProxyPort']
+ conf[:proxy_user] = ds['HttpProxyUser']
+ conf[:proxy_pass] = ds['HttpProxyPass']
+ conf[:proxy_type] = ds['HttpProxyType']
conf[:retry_count] = ds['StagerRetryCount']
- conf[:proxy_ie] = ds['PayloadProxyIE']
+ conf[:proxy_ie] = ds['HttpProxyIE']
conf[:custom_headers] = get_custom_headers(ds)
else
# Otherwise default to small URIs
diff --git a/lib/msf/core/payload/windows/x64/reverse_http.rb b/lib/msf/core/payload/windows/x64/reverse_http.rb
index 4821709236..4182e80e31 100644
--- a/lib/msf/core/payload/windows/x64/reverse_http.rb
+++ b/lib/msf/core/payload/windows/x64/reverse_http.rb
@@ -32,14 +32,14 @@ module Payload::Windows::ReverseHttp_x64
OptInt.new('StagerRetryCount', [false, 'The number of times the stager should retry if the first connect fails', 10],
aliases: ['ReverseConnectRetries']),
OptInt.new('StagerRetryWait', [false, 'Number of seconds to wait for the stager between reconnect attempts', 5]),
- OptString.new('PayloadProxyHost', [false, 'An optional proxy server IP address or hostname']),
- OptPort.new('PayloadProxyPort', [false, 'An optional proxy server port']),
- OptString.new('PayloadProxyUser', [false, 'An optional proxy server username']),
- OptString.new('PayloadProxyPass', [false, 'An optional proxy server password']),
- OptEnum.new('PayloadProxyType', [false, 'The type of HTTP proxy (HTTP or SOCKS)', 'HTTP', ['HTTP', 'SOCKS']]),
- OptString.new('HttpHeaderHost', [false, 'An optional value to use for the Host HTTP header']),
- OptString.new('HttpHeaderCookie', [false, 'An optional value to use for the Cookie HTTP header']),
- OptString.new('HttpHeaderReferer', [false, 'An optional value to use for the Referer HTTP header'])
+ OptString.new('HttpProxyHost', 'An optional proxy server IP address or hostname', aliases: ['PayloadProxyHost']),
+ OptPort.new('HttpProxyPort', 'An optional proxy server port', aliases: ['PayloadProxyPort']),
+ OptString.new('HttpProxyUser', 'An optional proxy server username', aliases: ['PayloadProxyUser']),
+ OptString.new('HttpProxyPass', 'An optional proxy server password', aliases: ['PayloadProxyPass']),
+ OptEnum.new('HttpProxyType', 'The type of HTTP proxy (HTTP or SOCKS)', enums: ['HTTP', 'SOCKS'], aliases: ['PayloadProxyType']),
+ OptString.new('HttpHeaderHost', 'An optional value to use for the Host HTTP header'),
+ OptString.new('HttpHeaderCookie', 'An optional value to use for the Cookie HTTP header'),
+ OptString.new('HttpHeaderReferer', 'An optional value to use for the Referer HTTP header')
], self.class)
end
@@ -65,12 +65,12 @@ module Payload::Windows::ReverseHttp_x64
if self.available_space.nil? || required_space <= self.available_space
conf[:url] = luri + generate_uri(opts)
conf[:exitfunk] = ds['EXITFUNC']
- conf[:ua] = ds['MeterpreterUserAgent']
- conf[:proxy_host] = ds['PayloadProxyHost']
- conf[:proxy_port] = ds['PayloadProxyPort']
- conf[:proxy_user] = ds['PayloadProxyUser']
- conf[:proxy_pass] = ds['PayloadProxyPass']
- conf[:proxy_type] = ds['PayloadProxyType']
+ conf[:ua] = ds['HttpUserAgent']
+ conf[:proxy_host] = ds['HttpProxyHost']
+ conf[:proxy_port] = ds['HttpProxyPort']
+ conf[:proxy_user] = ds['HttpProxyUser']
+ conf[:proxy_pass] = ds['HttpProxyPass']
+ conf[:proxy_type] = ds['HttpProxyType']
conf[:custom_headers] = get_custom_headers(ds)
else
# Otherwise default to small URIs
diff --git a/lib/msf/core/payload/windows/x64/reverse_winhttp.rb b/lib/msf/core/payload/windows/x64/reverse_winhttp.rb
index 358115e464..419946be1e 100644
--- a/lib/msf/core/payload/windows/x64/reverse_winhttp.rb
+++ b/lib/msf/core/payload/windows/x64/reverse_winhttp.rb
@@ -22,7 +22,7 @@ module Payload::Windows::ReverseWinHttp_x64
def initialize(*args)
super
register_advanced_options([
- OptBool.new('PayloadProxyIE', [false, 'Enable use of IE proxy settings', true])
+ OptBool.new('HttpProxyIE', 'Enable use of IE proxy settings', default: true, aliases: ['PayloadProxyIE'])
], self.class)
end
@@ -42,13 +42,13 @@ module Payload::Windows::ReverseWinHttp_x64
conf[:uri] = luri + generate_uri
conf[:exitfunk] = ds['EXITFUNC']
conf[:verify_cert_hash] = opts[:verify_cert_hash]
- conf[:proxy_host] = ds['PayloadProxyHost']
- conf[:proxy_port] = ds['PayloadProxyPort']
- conf[:proxy_user] = ds['PayloadProxyUser']
- conf[:proxy_pass] = ds['PayloadProxyPass']
- conf[:proxy_type] = ds['PayloadProxyType']
+ conf[:proxy_host] = ds['HttpProxyHost']
+ conf[:proxy_port] = ds['HttpProxyPort']
+ conf[:proxy_user] = ds['HttpProxyUser']
+ conf[:proxy_pass] = ds['HttpProxyPass']
+ conf[:proxy_type] = ds['HttpProxyType']
conf[:retry_count] = ds['StagerRetryCount']
- conf[:proxy_ie] = ds['PayloadProxyIE']
+ conf[:proxy_ie] = ds['HttpProxyIE']
conf[:custom_headers] = get_custom_headers(ds)
else
# Otherwise default to small URIs
diff --git a/modules/payloads/stagers/windows/reverse_https_proxy.rb b/modules/payloads/stagers/windows/reverse_https_proxy.rb
index 766c741332..ba77689d2a 100644
--- a/modules/payloads/stagers/windows/reverse_https_proxy.rb
+++ b/modules/payloads/stagers/windows/reverse_https_proxy.rb
@@ -80,8 +80,8 @@ module MetasploitModule
p[i, u.length] = u
# patch proxy info
- proxyhost = datastore['PayloadProxyHost'].to_s
- proxyport = datastore['PayloadProxyPort'].to_s || "8080"
+ proxyhost = datastore['HttpProxyHost'].to_s
+ proxyport = datastore['HttpProxyPort'].to_s || "8080"
if Rex::Socket.is_ipv6?(proxyhost)
proxyhost = "[#{proxyhost}]"
@@ -91,7 +91,7 @@ module MetasploitModule
if proxyport == "80"
proxyinfo = proxyhost
end
- if datastore['PayloadProxyType'].to_s == 'HTTP'
+ if datastore['HttpProxyType'].to_s == 'HTTP'
proxyinfo = 'http://' + proxyinfo
else #socks
proxyinfo = 'socks=' + proxyinfo
@@ -105,22 +105,22 @@ module MetasploitModule
p[proxyloc-4] = [calloffset].pack('V')[0]
# Authentication credentials have not been specified
- if datastore['PayloadProxyUser'].to_s == '' or
- datastore['PayloadProxyPass'].to_s == '' or
- datastore['PayloadProxyType'].to_s == 'SOCKS'
+ if datastore['HttpProxyUser'].to_s == '' ||
+ datastore['HttpProxyPass'].to_s == '' ||
+ datastore['HttpProxyType'].to_s == 'SOCKS'
jmp_offset = p.index("PROXY_AUTH_STOP") + 15 - p.index("PROXY_AUTH_START")
# Remove the authentication code
p = p.gsub(/PROXY_AUTH_START(.)*PROXY_AUTH_STOP/i, "")
else
- username_size_diff = 14 - datastore['PayloadProxyUser'].to_s.length
- password_size_diff = 14 - datastore['PayloadProxyPass'].to_s.length
+ username_size_diff = 14 - datastore['HttpProxyUser'].to_s.length
+ password_size_diff = 14 - datastore['HttpProxyPass'].to_s.length
jmp_offset =
16 + # PROXY_AUTH_START length
15 + # PROXY_AUTH_STOP length
- username_size_diff + # Difference between datastore PayloadProxyUser length and db "PayloadProxyUser length"
- password_size_diff # Same with PayloadProxyPass
+ username_size_diff + # Difference between datastore HttpProxyUser length and db "HttpProxyUser length"
+ password_size_diff # Same with HttpProxyPass
# Patch call offset
username_loc = p.index("PROXY_USERNAME")
@@ -131,8 +131,8 @@ module MetasploitModule
# Remove markers & change login/password
p = p.gsub("PROXY_AUTH_START","")
p = p.gsub("PROXY_AUTH_STOP","")
- p = p.gsub("PROXY_USERNAME", datastore['PayloadProxyUser'].to_s)
- p = p.gsub("PROXY_PASSWORD", datastore['PayloadProxyPass'].to_s)
+ p = p.gsub("PROXY_USERNAME", datastore['HttpProxyUser'].to_s)
+ p = p.gsub("PROXY_PASSWORD", datastore['HttpProxyPass'].to_s)
end
# Patch jmp dbl_get_server_host