class Wpxf::Payloads::MeterpreterBindTcp

A Meterpreter bind TCP payload generator.

Public Class Methods

new() click to toggle source
Calls superclass method Wpxf::Options::new
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 9
def initialize
  super

  register_options([
    StringOption.new(
      name: 'rhost',
      required: true,
      desc: 'The address of the host listening for a connection'
    ),
    PortOption.new(
      name: 'lport',
      required: true,
      default: 4444,
      desc: 'The port being used to listen for incoming connections'
    ),
    BooleanOption.new(
      name: 'use_ipv6',
      required: true,
      default: false,
      desc: 'Bind to an IPv6 address'
    )
  ])
end

Public Instance Methods

constants() click to toggle source
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 53
def constants
  {
    'ip'   => host,
    'port' => lport
  }
end
host() click to toggle source
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 33
def host
  escape_single_quotes(datastore['rhost'])
end
lport() click to toggle source
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 37
def lport
  normalized_option_value('lport')
end
obfuscated_variables() click to toggle source
Calls superclass method Wpxf::Payload#obfuscated_variables
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 60
def obfuscated_variables
  super + %w[ip port srvsock s_type s res b a len suhosin_bypass]
end
raw() click to toggle source
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 45
def raw
  if use_ipv6
    DataFile.new('php', 'meterpreter_bind_tcp_ipv6.php').php_content
  else
    DataFile.new('php', 'meterpreter_bind_tcp.php').php_content
  end
end
use_ipv6() click to toggle source
# File lib/wpxf/payloads/meterpreter_bind_tcp.rb, line 41
def use_ipv6
  normalized_option_value('use_ipv6')
end