Skip to content

Datastore options move from advanced to module options with exploit module that require cmd_interact payloads #21091

@cdelafuente-r7

Description

@cdelafuente-r7

It appears that some datastore options are displayed as advanced options and move to module options after running the module. It seems to happen only with module accepting cmd_interact payloads.

Steps to reproduce

  • Load the qnx/qconn/qconn_exec module and check the options
msf > use qnx/qconn/qconn_exec
[*] Using configured payload cmd/unix/interact
[*] No encoder configured, defaulting to cmd/base64
msf exploit(qnx/qconn/qconn_exec) > options

Module options (exploit/qnx/qconn/qconn_exec):

   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS                   yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   RPORT   8000             yes       The target port (TCP)
   SHELL   /bin/sh          yes       Path to system shell


Exploit target:

   Id  Name
   --  ----
   0   Automatic



View the full module info with the info, or info -d command.

msf exploit(qnx/qconn/qconn_exec) > advanced

Module advanced options (exploit/qnx/qconn/qconn_exec):

   Name                     Current Setting  Required  Description
   ----                     ---------------  --------  -----------
   AutoCheck                true             no        Run check before exploit
   CHOST                                     no        The local client address
   CPORT                                     no        The local client port
   ConnectTimeout           10               yes       Maximum number of seconds to establish a TCP connection
   ContextInformationFile                    no        The information file that contains context information
   DisablePayloadHandler    false            no        Disable the handler code for the selected payload
   EnableContextEncoding    false            no        Use transient context when encoding payloads
   ForceExploit             false            no        Override check result
   Proxies                                   no        A proxy chain of format type:host:port[,type:host:port][...]. Supported proxies: socks5, http, socks5h, sapni, socks4
   ...
  • run the module (it doesn't need to be successful)
msf exploit(qnx/qconn/qconn_exec) > run verbose=true rhost=127.0.0.1
  • recheck options
 msf exploit(qnx/qconn/qconn_exec) > options

Module options (exploit/qnx/qconn/qconn_exec):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CHOST                     no        The local client address
   CPORT                     no        The local client port
   Proxies                   no        A proxy chain of format type:host:port[,type:host:port][...]. Supported proxies: socks5, http, socks5h, sapni, socks4
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   RPORT    8000             yes       The target port (TCP)
   SHELL    /bin/sh          yes       Path to system shell


Exploit target:

   Id  Name
   --  ----
   0   Automatic



View the full module info with the info, or info -d command.

msf exploit(qnx/qconn/qconn_exec) > advanced

Module advanced options (exploit/qnx/qconn/qconn_exec):

   Name                     Current Setting  Required  Description
   ----                     ---------------  --------  -----------
   AutoCheck                true             no        Run check before exploit
   ConnectTimeout           10               yes       Maximum number of seconds to establish a TCP connection
   ContextInformationFile                    no        The information file that contains context information
   DisablePayloadHandler    false            no        Disable the handler code for the selected payload
   EnableContextEncoding    false            no        Use transient context when encoding payloads
   ForceExploit             false            no        Override check result
   SSL                      false            no        Negotiate SSL/TLS for outgoing connections
   SSLCipher                                 no        String for SSL cipher - "DHE-RSA-AES256-SHA" or "ADH"
   ...

Expected behavior

The options CHOST, CPORT and Proxies are still advanced options after running the module.

Current behavior

The options CHOST, CPORT and Proxies moved from advanced options to module options after running the module.

Metasploit version

msf exploit(qnx/qconn/qconn_exec) > version
Framework: 6.4.122-dev-04ff6f8767
Console  : 6.4.122-dev-04ff6f8767
$> git log -1 --pretty=oneline

04ff6f8767d71170cafe1dcab10955f7d54d0dc5 (HEAD, upstream/master, upstream/HEAD) automatic module_metadata_base.json update

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions