Class: Msf::Exe::ElfInjector::X86
- Inherits:
-
Object
- Object
- Msf::Exe::ElfInjector::X86
- Defined in:
- lib/msf/core/exe/elf_injector/x86.rb
Overview
Builds an x86 trampoline that forks before running the payload.
Constant Summary collapse
- ASSEMBLY =
%q{ pushfd pushad mov eax, 2 int 0x80 test eax, eax jz child popad popfd jmp entrypoint child: popad popfd }
Instance Method Summary collapse
-
#generate ⇒ String
Encoded x86 trampoline.
-
#initialize(entrypoint:, injected_address:) ⇒ X86
constructor
A new instance of X86.
Constructor Details
#initialize(entrypoint:, injected_address:) ⇒ X86
Returns a new instance of X86.
25 26 27 28 |
# File 'lib/msf/core/exe/elf_injector/x86.rb', line 25 def initialize(entrypoint:, injected_address:) @entrypoint = entrypoint @injected_address = injected_address end |
Instance Method Details
#generate ⇒ String
Returns Encoded x86 trampoline.
31 32 33 34 35 |
# File 'lib/msf/core/exe/elf_injector/x86.rb', line 31 def generate shellcode = Metasm::Shellcode.assemble(Metasm::Ia32.new, ASSEMBLY) shellcode.base_addr = @injected_address shellcode.encode_string('entrypoint' => @entrypoint) end |