Module: Msf::Handler::ReverseHttpsProxy

Includes:
ReverseHttp
Defined in:
lib/msf/core/handler/reverse_https_proxy.rb

Overview

This handler implements the HTTP SSL tunneling interface.

Constant Summary

Constants included from Msf::Handler::ReverseHttp::UriChecksum

Msf::Handler::ReverseHttp::UriChecksum::URI_CHECKSUM_CONN, Msf::Handler::ReverseHttp::UriChecksum::URI_CHECKSUM_INITJ, Msf::Handler::ReverseHttp::UriChecksum::URI_CHECKSUM_INITW, Msf::Handler::ReverseHttp::UriChecksum::URI_CHECKSUM_PRECALC

Constants included from Msf::Handler

Claimed, Unused

Instance Attribute Summary

Attributes included from ReverseHttp

#service

Attributes included from Msf::Handler

#exploit_config, #parent_payload

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ReverseHttp

#cleanup_handler, #full_uri, #ipv6, #setup_handler, #ssl?, #start_handler, #stop_handler

Methods included from Msf::Handler::ReverseHttp::UriChecksum

#generate_uri_checksum, #process_uri_resource

Methods included from Msf::Handler

#add_handler, #cleanup_handler, #handle_connection, #handler, #handler_name, #setup_handler, #start_handler, #stop_handler, #wait_for_session, #wfs_delay

Class Method Details

.general_handler_typeObject

Returns the connection-described general handler type, in this case 'tunnel'.


29
30
31
# File 'lib/msf/core/handler/reverse_https_proxy.rb', line 29

def self.general_handler_type
  "tunnel"
end

.handler_typeObject

Returns the string representation of the handler type


21
22
23
# File 'lib/msf/core/handler/reverse_https_proxy.rb', line 21

def self.handler_type
  return "reverse_https_proxy"
end

Instance Method Details

#initialize(info = {}) ⇒ Object

Initializes the HTTP SSL tunneling handler.


36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/msf/core/handler/reverse_https_proxy.rb', line 36

def initialize(info = {})
  super

  register_options(
    [
      OptString.new('LHOST', [ true, "The local listener hostname" ,"127.0.0.1"]),
      OptPort.new('LPORT', [ true, "The local listener port", 8443 ]),
      OptString.new('PROXYHOST', [true, "The address of the http proxy to use" ,"127.0.0.1"]),
      OptInt.new('PROXYPORT', [ false, "The Proxy port to connect to", 8080 ]),
      OptEnum.new('PROXY_TYPE', [true, 'Http or Socks4 proxy type', 'HTTP', ['HTTP', 'SOCKS']]),
      OptString.new('PROXY_USERNAME', [ false, "An optional username for HTTP proxy authentification"]),
      OptString.new('PROXY_PASSWORD', [ false, "An optional password for HTTP proxy authentification"])
    ], Msf::Handler::ReverseHttpsProxy)

  register_advanced_options(
    [
      OptAddress.new('ReverseListenerBindAddress', [ false, 'The specific IP address to bind to on the local system']),
      OptInt.new('ReverseListenerBindPort', [ false, 'The port to bind to on the local system if different from LPORT' ])
    ], Msf::Handler::ReverseHttpsProxy)

end