Windows Inject PE Files, Windows x86 Reverse Named Pipe (SMB) Stager - Metasploit


This page contains detailed information about how to use the payload/windows/peinject/reverse_named_pipe metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: Windows Inject PE Files, Windows x86 Reverse Named Pipe (SMB) Stager
Module: payload/windows/peinject/reverse_named_pipe
Source code: modules/payloads/stagers/windows/reverse_named_pipe.rb
Disclosure date: -
Last modification time: 2020-09-22 02:56:51 +0000
Supported architecture(s): x86
Supported platform(s): Windows
Target service / protocol: -
Target network port(s): -
List of CVEs: -

Inject a custom native PE file into the exploited process using a reflective PE loader. The reflective PE loader will execute the pre-mapped PE image starting from the address of entry after performing image base relocation and API address resolution. This module requires a PE file that contains relocation data and a valid (uncorrupted) import table. PE files with CLR(C#/.NET executables), bounded imports, and TLS callbacks are not currently supported. Also PE files which use resource loading might crash. . Connect back to the attacker via a named pipe pivot

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


msf > use payload/windows/peinject/reverse_named_pipe
msf payload(reverse_named_pipe) > show options
    ... show and set options ...
msf payload(reverse_named_pipe) > generate

To learn how to generate payload/windows/peinject/reverse_named_pipe with msfvenom, please read this.

Required Options


  • PE: The local path to the PE file to upload

Go back to menu.

Msfconsole Usage


Here is how the windows/peinject/reverse_named_pipe payload looks in the msfconsole:

msf6 > use payload/windows/peinject/reverse_named_pipe

msf6 payload(windows/peinject/reverse_named_pipe) > show info

       Name: Windows Inject PE Files, Windows x86 Reverse Named Pipe (SMB) Stager
     Module: payload/windows/peinject/reverse_named_pipe
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 289
       Rank: Normal

Provided by:
  ege <[email protected]>
  OJ Reeves

Basic options:
Name      Current Setting  Required  Description
----      ---------------  --------  -----------
EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
PE                         yes       The local path to the PE file to upload
PIPEHOST  .                yes       Host of the pipe to connect to
PIPENAME  msf-pipe         yes       Name of the pipe to listen on

Description:
  Inject a custom native PE file into the exploited process using a 
  reflective PE loader. The reflective PE loader will execute the 
  pre-mapped PE image starting from the address of entry after 
  performing image base relocation and API address resolution. This 
  module requires a PE file that contains relocation data and a valid 
  (uncorrupted) import table. PE files with CLR(C#/.NET executables), 
  bounded imports, and TLS callbacks are not currently supported. Also 
  PE files which use resource loading might crash. . Connect back to 
  the attacker via a named pipe pivot

Module Options


This is a complete list of options available in the windows/peinject/reverse_named_pipe payload:

msf6 payload(windows/peinject/reverse_named_pipe) > show options

Module options (payload/windows/peinject/reverse_named_pipe):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   PE                         yes       The local path to the PE file to upload
   PIPEHOST  .                yes       Host of the pipe to connect to
   PIPENAME  msf-pipe         yes       Name of the pipe to listen on

Advanced Options


Here is a complete list of advanced options supported by the windows/peinject/reverse_named_pipe payload:

msf6 payload(windows/peinject/reverse_named_pipe) > show advanced

Module advanced options (payload/windows/peinject/reverse_named_pipe):

   Name                       Current Setting  Required  Description
   ----                       ---------------  --------  -----------
   EnableStageEncoding        false            no        Encode the second stage payload
   PayloadUUIDName                             no        A human-friendly name to reference this unique payload (requires tracking)
   PayloadUUIDRaw                              no        A hex string representing the raw 8-byte PUID value for the UUID
   PayloadUUIDSeed                             no        A string to use when generating the payload UUID (deterministic)
   PayloadUUIDTracking        false            yes       Whether or not to automatically register generated UUIDs
   PingbackRetries            0                yes       How many additional successful pingbacks
   PingbackSleep              30               yes       Time (in seconds) to sleep between pingbacks
   PrependMigrate             false            yes       Spawns and runs shellcode in new process
   PrependMigrateProc                          no        Process to spawn and run shellcode in
   StageEncoder                                no        Encoder to use if EnableStageEncoding is set
   StageEncoderSaveRegisters                   no        Additional registers to preserve in the staged payload if EnableStageEncoding is set
   StageEncodingFallback      true             no        Fallback to no encoding if the selected StageEncoder is not compatible
   VERBOSE                    false            no        Enable detailed status messages
   WORKSPACE                                   no        Specify the workspace for this module

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


  • ege <egebalci[at]pm.me>
  • OJ Reeves

Version


This page has been produced using Metasploit Framework version 6.1.24-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.