Linux Execute Command - Metasploit


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

Module Overview


Name: Linux Execute Command
Module: payload/linux/x64/exec
Source code: modules/payloads/singles/linux/x64/exec.rb
Disclosure date: -
Last modification time: 2021-04-12 17:26:46 +0000
Supported architecture(s): x64
Supported platform(s): Linux
Target service / protocol: -
Target network port(s): -
List of CVEs: -

Execute an arbitrary command or just a /bin/sh shell

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/linux/x64/exec
msf payload(exec) > show options
    ... show and set options ...
msf payload(exec) > generate

To learn how to generate payload/linux/x64/exec with msfvenom, please read this.

Go back to menu.

Msfconsole Usage


Here is how the linux/x64/exec payload looks in the msfconsole:

msf6 > use payload/linux/x64/exec

msf6 payload(linux/x64/exec) > show info

       Name: Linux Execute Command
     Module: payload/linux/x64/exec
   Platform: Linux
       Arch: x64
Needs Admin: No
 Total size: 21
       Rank: Normal

Provided by:
  ricky
  Geyslan G. Bem <[email protected]>

Basic options:
Name  Current Setting  Required  Description
----  ---------------  --------  -----------
CMD                    no        The command string to execute

Description:
  Execute an arbitrary command or just a /bin/sh shell

Module Options


This is a complete list of options available in the linux/x64/exec payload:

msf6 payload(linux/x64/exec) > show options

Module options (payload/linux/x64/exec):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------
   CMD                    no        The command string to execute

Advanced Options


Here is a complete list of advanced options supported by the linux/x64/exec payload:

msf6 payload(linux/x64/exec) > show advanced

Module advanced options (payload/linux/x64/exec):

   Name                        Current Setting  Required  Description
   ----                        ---------------  --------  -----------
   AppendExit                  false            no        Append a stub that executes the exit(0) system call
   MeterpreterDebugLevel       0                yes       Set debug level for meterpreter 0-3 (Default output is strerr)
   NullFreeVersion             false            yes       Null-free shellcode version
   PrependChrootBreak          false            no        Prepend a stub that will break out of a chroot (includes setreuid to root)
   PrependFork                 false            no        Prepend a stub that starts the payload in its own process via fork
   PrependSetgid               false            no        Prepend a stub that executes the setgid(0) system call
   PrependSetregid             false            no        Prepend a stub that executes the setregid(0, 0) system call
   PrependSetresgid            false            no        Prepend a stub that executes the setresgid(0, 0, 0) system call
   PrependSetresuid            false            no        Prepend a stub that executes the setresuid(0, 0, 0) system call
   PrependSetreuid             false            no        Prepend a stub that executes the setreuid(0, 0) system call
   PrependSetuid               false            no        Prepend a stub that executes the setuid(0) system call
   RemoteMeterpreterDebugFile                   no        Redirect Debug Info to a Log File
   VERBOSE                     false            no        Enable detailed status messages
   WORKSPACE                                    no        Specify the workspace for this module

Go back to menu.

Error Messages


This module may fail with the following error messages:

Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.

CMD length has to be smaller than %d


Here is a relevant code snippet related to the "CMD length has to be smaller than %d" error message:

85:	      #
86:	      pushw_c_opt = "dd 0x632d6866" # pushw 0x632d (metasm doesn't support pushw)
87:	
88:	      if nullfreeversion
89:	        if cmd.length > 0xffff
90:	          raise RangeError, "CMD length has to be smaller than %d" % 0xffff, caller()
91:	        end
92:	        if cmd.length <= 0xff # 255
93:	          breg = "bl"
94:	        else
95:	          breg = "bx"

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


  • ricky
  • Geyslan G. Bem <geyslan[at]gmail.com>

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.