Module: Msf::Payload::Multi::ReverseHttp

Includes:
Msf::Payload::Multi, UUID::Options
Included in:
ReverseHttps
Defined in:
lib/msf/core/payload/multi/reverse_http.rb

Overview

Complex payload generation for arch-agnostic HTTP.

Constant Summary

Constants included from Rex::Payloads::Meterpreter::UriChecksum

Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_CONN, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_CONN_MAX_LEN, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_INITJ, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_INITN, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_INITP, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_INITW, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_INIT_CONN, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_MIN_LEN, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_MODES, Rex::Payloads::Meterpreter::UriChecksum::URI_CHECKSUM_UUID_MIN_LEN

Instance Method Summary collapse

Methods included from Msf::Payload::Multi

#apply_prepends, #handle_intermediate_stage, #replace_var

Methods included from UUID::Options

#generate_payload_uuid, #generate_uri_uuid_mode, #record_payload_uuid, #record_payload_uuid_url

Methods included from Rex::Payloads::Meterpreter::UriChecksum

#generate_uri_checksum, #generate_uri_uuid, #process_uri_resource, #uri_checksum_lookup

Instance Method Details

#generate(opts = {}) ⇒ Object

Generate the first stage


36
37
38
39
# File 'lib/msf/core/payload/multi/reverse_http.rb', line 36

def generate(opts={})
  # Not such thing as a first stage for multi/reverse_http
  ''
end

#initialize(*args) ⇒ Object

Register reverse_http specific options


23
24
25
26
27
28
29
30
31
# File 'lib/msf/core/payload/multi/reverse_http.rb', line 23

def initialize(*args)
  super
  register_advanced_options(
    [ OptInt.new('StagerURILength', 'The URI length for the stager (at least 5 bytes)') ] +
    Msf::Opt::stager_retry_options +
    Msf::Opt::http_header_options +
    Msf::Opt::http_proxy_options
  )
end

#stage_over_connection?Boolean

Do not transmit the stage over the connection. We handle this via HTTPS

Returns:

  • (Boolean)

52
53
54
# File 'lib/msf/core/payload/multi/reverse_http.rb', line 52

def stage_over_connection?
  false
end

#transport_config(opts = {}) ⇒ Object

Generate the transport-specific configuration


44
45
46
# File 'lib/msf/core/payload/multi/reverse_http.rb', line 44

def transport_config(opts={})
  transport_config_reverse_http(opts)
end

#wfs_delayObject

Always wait at least 20 seconds for this payload (due to staging delays)


59
60
61
# File 'lib/msf/core/payload/multi/reverse_http.rb', line 59

def wfs_delay
  20
end