Module: Msf::Payload::Windows::ReflectiveLoader

Includes:
ReflectiveLoaderCommon
Included in:
MeterpreterLoader
Defined in:
lib/msf/core/payload/windows/reflective_loader.rb

Instance Method Summary collapse

Methods included from ReflectiveLoaderCommon

#build_reflective_loader, #datastore_reflective_loader_iv, #initialize

Instance Method Details

#reflective_loader(opts = {}) ⇒ String

Assemble the polymorphic x86 reflective loader shellcode with a fresh ROR13 IV. See Msf::Payload::Windows::ReflectiveLoaderCommon#build_reflective_loader for the patching pipeline.

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :iv (Integer)

    32-bit seed for ROR13 hashing (random when omitted)

Returns:

  • (String)

    assembled and patched x86 reflective loader shellcode

Raises:



12
13
14
15
16
17
18
19
20
# File 'lib/msf/core/payload/windows/reflective_loader.rb', line 12

def reflective_loader(opts = {})
  build_reflective_loader(opts, {
    graphml_path:      File.join(Msf::Config.install_root, 'data', 'shellcode', 'reflective_loader.x86.graphml'),
    arch:              ARCH_X86,
    metasm_arch:       Metasm::X86,
    iv_patch_prefixes: ['db 0xbf,', 'db 0xb8,'],
    dll_hash_base:     'db 0x81, 0xff,'
  })
end