SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
All pictures are taken from
Dr StrangeLove movie

by Gleb Gritsai (as Alexander Timorin)
and Alexander Tlyapov


Group of security researchers focused on ICS/SCADA

to save Humanity from industrial disaster and to
keep Purity Of Essence
Sergey Gordeychik
Roman Ilin
Artem Chaykin
Dmitry Efanov
Andrey Medov
Alexander Zaitsev
Dmitry Sklyarov
Roman Ilin
Kirill Nesterov

Gleb Gritsai
Ilya Karpov
Yuriy Dyachenko
Yuri Goltsev
Sergey Scherbel
Dmitry Serebryannikov
Alexander Timorin
Alexander Tlyapov

Denis Baranov
Sergey Bobrov
Sergey Drozdov
Vladimir Kochetkov
Timur Yunusov
Dmitry Nagibin
Vyacheslav Egoshin
Evgeny Ermakov


Gleb Gritsai






Penetration tester @ptsecurity
ICS researcher and expert
Member of @scadasl

Alexander Tlyapov
Reverse engineer @ptsecurity
 ICS researcher
 Member of @scadasl



ICS 101




Industrial protocols (Gleb Gritsai)





This 101 is useless
Functions and weakness of protocols
Penetration tester’s view

WinCC architecture (Alexander Tlyapov)




Internal protocols
Authorization process
And how no to pay attention and get to serious stuff


HMI




PLC




Programmable Logic Controller

RTU




Human Machine Interface

Remote Telemetry Unit

IED, SCADA,
DSC, Sensor,
Actuator, …


Movinged from Serial to Ethernet




Actually five senses of ICS by






Sometimes to Radio (GSM, ZigBee, WiFi, etc)
Controlling physical processes
Delivering feedback

Available starting from OSI/ISO layer 3
Industry and application specific

Delivering real time data from sensor or configuring
network settings of PLC or reflashing RTU
 Operating in one subnet or providing remote telemetry
and supervisory




Developed without security in mind and in coders


“Times they are a changin‘”, but slowly


Manufacturing Message Specification
 A protocol, but more a specification for messaging




Originally developed at 1980
“Heavy”
 See MODBUS packet: [gw_unit; function; register; value]



Applications
 IED, PLC, SCADA, RTU



Vendors
 GE, Siemens, Schneider, Daimler, ABB


Domains

 Named memory regions for managing data/code blobs
 Abstraction for devices








Program invocations
Journals
Files (Yes, files)
Named variables and lists (groups of vars)
Events
 State machines for alarms and events




Operators station (HMI)
Init semaphores
 Concurrent access


IEC 62351-4 is security for IEC 61850-8-1
 IEC 61850-8-1 is MMS



Application level
 ACSE AARQ and AARE PDUs





Transport level – TLS (62351-3)
Access Control Lists
Original port 102 to 3782 if secured




Application security is in ACSE layer (i.e. Association
Control Service Element) which is rarely implemented
No password requirements defined for software




Welcome to the “123”

Application security is plain password


Bruteforce
 Just try to keep port alive as no locking exist



Interception
 Simple ARP spoofing is still a kill switch for ICS networks (do
this in labs or disconnected SCADAs if you care)


Access must be defined to every object
(according to standard)





Kind of: read, write, delete
Optional

TLS, srsly?



No options to set it up seen in products
Not supported (not even with stubs in code)


Discovery & Fingerprint
 Port 102 is also S7 and … - COTP (Connection Oriented
Transport Protocol) & TPKT (Transport packet)
 “Identify” request for Vendor, Model and Version



Enumeration of objects
 Enumerate everything: Domains, Variables, Files, etc
 Good thing – named variables (no need for db with
tags/registers/etc description) for understanding logic
 Domains: IEDInverter, IEDBattery, IEDPhysical_Measurements
 Variables for IEDBattery: ZBAT1$MX$Vol, ZBAT1$MX$Amp,
ZBAT1$ST$Health
 Better than WriteCoil(coil=X, value=Y)


Open source libs - easy to extract API for better
code coverage while fuzzing PLCs, IEDs, RTUs, …




Ain’t it fun fuzzing embedded devices

Lot’s of open source libs, single DLL APIs and
simulators


libiec61850 is C and free
 http://libiec61850.com



openmuc is java and free
 http://openmuc.org/



Smartgridware and others non free, but trial
 http://www.smartgridware.com/
 http://nettedautomation.com/iec61850li/dll/index.html




Is actually IEC 61870-5-104
Master, Slave, Master-Slave
No security mechanisms in standard and in
implementations




Extensible and vice versa by design




Vendors publish checklists with supported functions

Mainly for gathering telemetry in electricity
distribution and power system automation




Except the IP addresses of Masters defined on Slaves

interrogations

Can feature control functions


write, command, execute


Discovery



TCP port 2404
Application level ASDU broadcast address
 As soon as RTU receives broadcast to enumerate IEC

104 endpoints it sends broadcast itself
 If there is an RTU nearby you’ll get infinite broadcast
 BCR (Binary Counter Reading) hack with frozen binary
counter can mitigate this
 Do it at home unless … don’t do it


Reading data




Writing data




Done by interrogations which provides set of
controlled data
Inspect vendor document on supported protocol
features

Simulators, libraries and fingerprint tool
 https://github.com/atimorin/PoC2013/blob/master/i

ec-60870-5-104/iec-60870-5-104.py
 https://code.google.com/p/mrts-ng/
 https://code.google.com/p/sim104/
IEC 104 travels
over dedicated
network

Remote Control

IEC 104



Power plant 1

Power plant 2

Power Plant N




IEC 104 flows through
RTU to SCADA Server
SCADA Server
reads/writes data
as requested

Power plant 1

FW: IEC 104 port opened
RTU

FW: IEC 104 port opened

SCADA Server
Open/Close
the Door
PLC
Remote Control

IEC 104, SMB,
HTTP, etc

corp.company.loc

Power plant 1

Power plant 2

Power Plant N

office.pp1.company.loc

office.pp2.company.loc

office.ppN.company.loc


corp.company.loc

Now this does
look like
typical pentest

Remote Control

IEC 104, SMB,
HTTP, etc

Internets

E-mail
Sharepoint
Remote applications
Web sites

Power plant 1

Power plant 2

Power Plant N

office.pp1.company.loc

office.pp2.company.loc

office.ppN.company.loc


corp.company.loc

Now this does
look like one of the
pentest attack
vectors

Remote Control

IEC 104, SMB,
HTTP, etc

Internets

E-mail
Sharepoint
Remote applications
Web sites

Power plant 1

Power plant 2

Power Plant N

office.pp1.company.loc

office.pp2.company.loc

office.ppN.company.loc




Internal protocols
Authorization process
And how no to pay attention and get to serious
stuff
WinCC
Web-Client

Internet,
corp lan,
vpn’s

WinCC
DataMonitor

Some
networks
WinCC
SCADA-Clients

LAN

WinCC
Web-Client

WinCC
SCADA-Client
+Web-Server

WinCC
Servers

Engineering station
(TIA portal/PCS7)

PROFINET
PROFIBUS

PLC1

PLC2

WinCC
DataMonitor

PLC3
ActiveX components
for communication
and rendering of
HMI

Another component
of WinCC.
For example,
forwarding
commands to the
PLC via the S7
protocol

IIS extension
SCSWebBridgex.dll
Manages SCS
connection and
converts data to PAL

CCEServer.exe
Yep-Yep, again)

CCEServer.exe
WinCC core:
Manages requests of
components

WebNavigatorRT.exe
Rendering HMI and
command
transmission
•
•
•
•

The POST requests from the client contains the binary data of SCS
protocol
Basic-authorization
Authorization is “two-stage” (we’ll cover this later)
For the real identification of client a specially “generated” ID is
used





SQL query to database (using COM objects)
Verification "special" Windows User
The "hardcode" and etc.

For successful authentication any path will do
Authentication of
user in the database
through the COM
object on the server

Getting ServerID
and the “magic”
activity for the
password to
WebBridge

Using received
"magic" password to
work with
SCSWebBridgeX
Oh! En/c(r)ypt[10]n!

ServerID = Base64(RC2(pass, key)), where key
= MD5(dll hardcode)
And forget that before
we entered a another
password...

Not my department password!
Sql injection in Basic-authorization.
It is too hard for me.
Passwords in database is
not plaintext…
CVE-2013-0676
But, it’s just XOR with very secret string.

CVE-2013-0678
This is my
encryptionkey
So, we have another way to get ServerID and later access
SCSWebBridgex.dll
Still not quite ...






"Magic" password = MD5(WNUSR_DC92D7179E29.WinPassword)
Stored in the registry and encrypted with DPAPI. But with no luck.
Wrong flag allows any users (including Guest) on this host to get
password for special Siemens user. BTW, this user is local admin.

Password generation features very good charset, but chars used
uniquely and length is 12 to 14 chars which is not making cracking
MD5 harder




All further communications authorized with
this password
For dispatching requests a special ID is used
that is generated ... in some weird and funny
way
Offset

Description

Size

0

AlwaysNULL

4

4

dwCode

4

8

Unknown

4

12

DataLen

4

16

ID

4

20

DataChunkNum

4

24

CRC

4

28

ChuckLen

4

32

DataChunkStart

…
Transmitted ID represents index and identifier in
the pool of objects which is responsible for storing
the data and dispatching requests

Offset

Description

Size

0

PoolID

2

2

PoolIndex

2
HMI

Other
components

CCEServer

PLC
Communication

License
server

To start communication components must call CAL_StartListen in the service
CCEServer. This function is passing all the necessary information about the
component. Such as:
• Component’s GUID
• His PID
• Required callbacks
• Etc


During initial communications SCS packet is transmitted with GUID
describing target component






According to received identifier component's object is looked up

Further communication occurs in the context of an established
connection, through a protocol called CAL
The mechanism of data transmission in the CAL protocol is
based on a global MappedSections
For sending data:
Section = ("GlobalSCS%08X%04X%04X%04XSAM", PID, SomeW, MapKey, Null);

ReadyEvent = ("GlobalSCS%08X%04X%04X%04XSAN", PID, SomeW, MapKey, Null);
SendEvent = ("GlobalSCS%08X%04X%04X%04XSAF", PID, SomeW, MapKey, Null);
For receiving data:
Section = ("GlobalSCS%08X%04X%04X%04XASM", PID, SomeW, MapKey, Null);
ReadyEvent = ("GlobalSCS%08X%04X%04X%04XASN", PID, SomeW, MapKey, Null);
ReciveEvent = ("GlobalSCS%08X%04X%04X%04XASF", PID, SomeW, MapKey, Null);


SQLi for retrieving HMI user passwords from db
 And XOR decryption tool







Hardcoded credentials for retrieving ServerID
Crack ServerID for Siemens windows user
Use ServerID for communication WebBridge
Session hijacking for privilege escalation on HMI
Exploiting architecture weakness to use arbitrary
components of WinCC (like PLC comms)
Contact despair:
Gleb Gritsai
ggritsai@ptsecurity.com
@repdet

Alexander Tlyapov
atlyapov@ptsecurity.com
@Rigros1

Más contenido relacionado

La actualidad más candente

SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]
SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]
SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]qqlan
 
SCADA StrangeLove 2: We already know
SCADA StrangeLove 2:  We already knowSCADA StrangeLove 2:  We already know
SCADA StrangeLove 2: We already knowqqlan
 
Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation  Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation Sergey Gordeychik
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяEkaterina Melnik
 
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentesters
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentestersAlexander Timorin, Dmitry Efanov. Industrial protocols for pentesters
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentestersPositive Hack Days
 
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...Positive Hack Days
 
Scada Security & Penetration Testing
Scada Security & Penetration TestingScada Security & Penetration Testing
Scada Security & Penetration TestingAhmed Sherif
 
BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101Wavestone
 
Greater China Cyber Threat Landscape - ISC 2016
Greater China Cyber Threat Landscape - ISC 2016Greater China Cyber Threat Landscape - ISC 2016
Greater China Cyber Threat Landscape - ISC 2016Sergey Gordeychik
 
Security testing in critical systems
Security testing in critical systemsSecurity testing in critical systems
Security testing in critical systemsPeter Wood
 
Man in the middle attacks on IEC 60870-5-104
Man in the middle attacks on IEC 60870-5-104Man in the middle attacks on IEC 60870-5-104
Man in the middle attacks on IEC 60870-5-104pgmaynard
 
Kaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the CloudKaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the Cloudqqlan
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentestersPositive Hack Days
 
Adventures in Femtoland: 350 Yuan for Invaluable Fun
Adventures in Femtoland: 350 Yuan for Invaluable FunAdventures in Femtoland: 350 Yuan for Invaluable Fun
Adventures in Femtoland: 350 Yuan for Invaluable Funarbitrarycode
 
The Great Train Robbery: Fast and Furious
The Great Train Robbery: Fast and FuriousThe Great Train Robbery: Fast and Furious
The Great Train Robbery: Fast and FuriousSergey Gordeychik
 
SCADA deep inside: protocols and security mechanisms
SCADA deep inside: protocols and security mechanismsSCADA deep inside: protocols and security mechanisms
SCADA deep inside: protocols and security mechanismsAleksandr Timorin
 
Internet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCInternet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCqqlan
 
Protecting Your DNP3 Networks
Protecting Your DNP3 NetworksProtecting Your DNP3 Networks
Protecting Your DNP3 NetworksChris Sistrunk
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...arnaudsoullie
 
DEF CON 23 - NSM 101 for ICS
DEF CON 23 - NSM 101 for ICSDEF CON 23 - NSM 101 for ICS
DEF CON 23 - NSM 101 for ICSChris Sistrunk
 

La actualidad más candente (20)

SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]
SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]
SCADA StrangeLove: Too Smart Grid in da Cloud [31c3]
 
SCADA StrangeLove 2: We already know
SCADA StrangeLove 2:  We already knowSCADA StrangeLove 2:  We already know
SCADA StrangeLove 2: We already know
 
Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation  Recon: Hopeless relay protection for substation automation
Recon: Hopeless relay protection for substation automation
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имя
 
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentesters
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentestersAlexander Timorin, Dmitry Efanov. Industrial protocols for pentesters
Alexander Timorin, Dmitry Efanov. Industrial protocols for pentesters
 
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
 
Scada Security & Penetration Testing
Scada Security & Penetration TestingScada Security & Penetration Testing
Scada Security & Penetration Testing
 
BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101
 
Greater China Cyber Threat Landscape - ISC 2016
Greater China Cyber Threat Landscape - ISC 2016Greater China Cyber Threat Landscape - ISC 2016
Greater China Cyber Threat Landscape - ISC 2016
 
Security testing in critical systems
Security testing in critical systemsSecurity testing in critical systems
Security testing in critical systems
 
Man in the middle attacks on IEC 60870-5-104
Man in the middle attacks on IEC 60870-5-104Man in the middle attacks on IEC 60870-5-104
Man in the middle attacks on IEC 60870-5-104
 
Kaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the CloudKaspersky SAS SCADA in the Cloud
Kaspersky SAS SCADA in the Cloud
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
 
Adventures in Femtoland: 350 Yuan for Invaluable Fun
Adventures in Femtoland: 350 Yuan for Invaluable FunAdventures in Femtoland: 350 Yuan for Invaluable Fun
Adventures in Femtoland: 350 Yuan for Invaluable Fun
 
The Great Train Robbery: Fast and Furious
The Great Train Robbery: Fast and FuriousThe Great Train Robbery: Fast and Furious
The Great Train Robbery: Fast and Furious
 
SCADA deep inside: protocols and security mechanisms
SCADA deep inside: protocols and security mechanismsSCADA deep inside: protocols and security mechanisms
SCADA deep inside: protocols and security mechanisms
 
Internet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCInternet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLC
 
Protecting Your DNP3 Networks
Protecting Your DNP3 NetworksProtecting Your DNP3 Networks
Protecting Your DNP3 Networks
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
 
DEF CON 23 - NSM 101 for ICS
DEF CON 23 - NSM 101 for ICSDEF CON 23 - NSM 101 for ICS
DEF CON 23 - NSM 101 for ICS
 

Similar a SCADA deep inside:protocols and software architecture

Positive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysPositive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysqqlan
 
Automatski - The Internet of Things - Security in IoT
Automatski - The Internet of Things - Security in IoTAutomatski - The Internet of Things - Security in IoT
Automatski - The Internet of Things - Security in IoTautomatskicorporation
 
Root via sms. 4G security assessment
Root via sms. 4G security assessment Root via sms. 4G security assessment
Root via sms. 4G security assessment Sergey Gordeychik
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack webhostingguy
 
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Sergey Gordeychik
 
Cisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsCisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsManuel Santander
 
A New Framework for Detection
A New Framework for DetectionA New Framework for Detection
A New Framework for DetectionSourcefire VRT
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -evechiportal
 
Scada strange love uwn-stuxnet
Scada strange love   uwn-stuxnetScada strange love   uwn-stuxnet
Scada strange love uwn-stuxnetPositive Hack Days
 
Black ops of tcp2005 japan
Black ops of tcp2005 japanBlack ops of tcp2005 japan
Black ops of tcp2005 japanDan Kaminsky
 
Vishwanath rakesh ece 561
Vishwanath rakesh ece 561Vishwanath rakesh ece 561
Vishwanath rakesh ece 561RAKESH_CSU
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NamePositive Hack Days
 
Practical non blocking microservices in java 8
Practical non blocking microservices in java 8Practical non blocking microservices in java 8
Practical non blocking microservices in java 8Michal Balinski
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
 
lamacchia-palladium
lamacchia-palladiumlamacchia-palladium
lamacchia-palladiumNed Hayes
 
Application Security
Application SecurityApplication Security
Application Securityflorinc
 

Similar a SCADA deep inside:protocols and software architecture (20)

Positive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysPositive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-rays
 
Automatski - The Internet of Things - Security in IoT
Automatski - The Internet of Things - Security in IoTAutomatski - The Internet of Things - Security in IoT
Automatski - The Internet of Things - Security in IoT
 
Root via sms. 4G security assessment
Root via sms. 4G security assessment Root via sms. 4G security assessment
Root via sms. 4G security assessment
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
 
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
Root via SMS: 4G access level security assessment, Sergey Gordeychik, Alexand...
 
Cisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designsCisco Malware: A new risk to consider in perimeter security designs
Cisco Malware: A new risk to consider in perimeter security designs
 
Iot Security
Iot SecurityIot Security
Iot Security
 
A New Framework for Detection
A New Framework for DetectionA New Framework for Detection
A New Framework for Detection
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
 
Scada strange love uwn-stuxnet
Scada strange love   uwn-stuxnetScada strange love   uwn-stuxnet
Scada strange love uwn-stuxnet
 
Scada strange love.
Scada strange love.Scada strange love.
Scada strange love.
 
AMIT Resume
AMIT  ResumeAMIT  Resume
AMIT Resume
 
Black ops of tcp2005 japan
Black ops of tcp2005 japanBlack ops of tcp2005 japan
Black ops of tcp2005 japan
 
Vishwanath rakesh ece 561
Vishwanath rakesh ece 561Vishwanath rakesh ece 561
Vishwanath rakesh ece 561
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the Name
 
Practical non blocking microservices in java 8
Practical non blocking microservices in java 8Practical non blocking microservices in java 8
Practical non blocking microservices in java 8
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
 
lamacchia-palladium
lamacchia-palladiumlamacchia-palladium
lamacchia-palladium
 
IoT security zigbee -- Null Meet bangalore
IoT security zigbee -- Null Meet bangaloreIoT security zigbee -- Null Meet bangalore
IoT security zigbee -- Null Meet bangalore
 
Application Security
Application SecurityApplication Security
Application Security
 

Más de qqlan

D1 t1 t. yunusov k. nesterov - bootkit via sms
D1 t1   t. yunusov k. nesterov - bootkit via smsD1 t1   t. yunusov k. nesterov - bootkit via sms
D1 t1 t. yunusov k. nesterov - bootkit via smsqqlan
 
Миссиоцентрический подход к кибербезопасности АСУ ТП
Миссиоцентрический подход к кибербезопасности АСУ ТПМиссиоцентрический подход к кибербезопасности АСУ ТП
Миссиоцентрический подход к кибербезопасности АСУ ТПqqlan
 
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...qqlan
 
Best of Positive Research 2013
Best of Positive Research 2013Best of Positive Research 2013
Best of Positive Research 2013qqlan
 
Web-style Wireless IDS attacks, Sergey Gordeychik
Web-style Wireless IDS attacks, Sergey GordeychikWeb-style Wireless IDS attacks, Sergey Gordeychik
Web-style Wireless IDS attacks, Sergey Gordeychikqqlan
 
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...qqlan
 
Pt infosec - 2014 - импортозамещение
Pt   infosec - 2014 - импортозамещениеPt   infosec - 2014 - импортозамещение
Pt infosec - 2014 - импортозамещениеqqlan
 
SCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHCSCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHCqqlan
 
Firebird Interbase Database engine hacks or rtfm
Firebird Interbase Database engine hacks or rtfmFirebird Interbase Database engine hacks or rtfm
Firebird Interbase Database engine hacks or rtfmqqlan
 
Positive Technologies Application Inspector
Positive Technologies Application InspectorPositive Technologies Application Inspector
Positive Technologies Application Inspectorqqlan
 
Database honeypot by design
Database honeypot by designDatabase honeypot by design
Database honeypot by designqqlan
 
Positive Technologies Application Inspector
Positive Technologies Application InspectorPositive Technologies Application Inspector
Positive Technologies Application Inspectorqqlan
 
Black Hat: XML Out-Of-Band Data Retrieval
Black Hat: XML Out-Of-Band Data RetrievalBlack Hat: XML Out-Of-Band Data Retrieval
Black Hat: XML Out-Of-Band Data Retrievalqqlan
 
PT - Siemens WinCC Flexible Security Hardening Guide
PT - Siemens WinCC Flexible Security Hardening GuidePT - Siemens WinCC Flexible Security Hardening Guide
PT - Siemens WinCC Flexible Security Hardening Guideqqlan
 
Positive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening GuidePositive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening Guideqqlan
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and backqqlan
 
Denis Baranov: Root via XSS
Denis Baranov: Root via XSSDenis Baranov: Root via XSS
Denis Baranov: Root via XSSqqlan
 
How to hack a telecom and stay alive
How to hack a telecom and stay aliveHow to hack a telecom and stay alive
How to hack a telecom and stay aliveqqlan
 
Как взломать телеком и остаться в живых
Как взломать телеком и остаться в живыхКак взломать телеком и остаться в живых
Как взломать телеком и остаться в живыхqqlan
 
Sergey Gordeychik - Russian.Leaks
Sergey Gordeychik - Russian.LeaksSergey Gordeychik - Russian.Leaks
Sergey Gordeychik - Russian.Leaksqqlan
 

Más de qqlan (20)

D1 t1 t. yunusov k. nesterov - bootkit via sms
D1 t1   t. yunusov k. nesterov - bootkit via smsD1 t1   t. yunusov k. nesterov - bootkit via sms
D1 t1 t. yunusov k. nesterov - bootkit via sms
 
Миссиоцентрический подход к кибербезопасности АСУ ТП
Миссиоцентрический подход к кибербезопасности АСУ ТПМиссиоцентрический подход к кибербезопасности АСУ ТП
Миссиоцентрический подход к кибербезопасности АСУ ТП
 
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...
ABUSE THEIR CLOUDS. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ ГЛАЗАМИ ПЕНТЕСТЕРА, ЮРИЙ ГОЛЬЦЕВ, СЕ...
 
Best of Positive Research 2013
Best of Positive Research 2013Best of Positive Research 2013
Best of Positive Research 2013
 
Web-style Wireless IDS attacks, Sergey Gordeychik
Web-style Wireless IDS attacks, Sergey GordeychikWeb-style Wireless IDS attacks, Sergey Gordeychik
Web-style Wireless IDS attacks, Sergey Gordeychik
 
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...
G. Gritsai, A. Timorin, Y. Goltsev, R. Ilin, S. Gordeychik, and A. Karpin, “S...
 
Pt infosec - 2014 - импортозамещение
Pt   infosec - 2014 - импортозамещениеPt   infosec - 2014 - импортозамещение
Pt infosec - 2014 - импортозамещение
 
SCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHCSCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHC
 
Firebird Interbase Database engine hacks or rtfm
Firebird Interbase Database engine hacks or rtfmFirebird Interbase Database engine hacks or rtfm
Firebird Interbase Database engine hacks or rtfm
 
Positive Technologies Application Inspector
Positive Technologies Application InspectorPositive Technologies Application Inspector
Positive Technologies Application Inspector
 
Database honeypot by design
Database honeypot by designDatabase honeypot by design
Database honeypot by design
 
Positive Technologies Application Inspector
Positive Technologies Application InspectorPositive Technologies Application Inspector
Positive Technologies Application Inspector
 
Black Hat: XML Out-Of-Band Data Retrieval
Black Hat: XML Out-Of-Band Data RetrievalBlack Hat: XML Out-Of-Band Data Retrieval
Black Hat: XML Out-Of-Band Data Retrieval
 
PT - Siemens WinCC Flexible Security Hardening Guide
PT - Siemens WinCC Flexible Security Hardening GuidePT - Siemens WinCC Flexible Security Hardening Guide
PT - Siemens WinCC Flexible Security Hardening Guide
 
Positive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening GuidePositive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening Guide
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and back
 
Denis Baranov: Root via XSS
Denis Baranov: Root via XSSDenis Baranov: Root via XSS
Denis Baranov: Root via XSS
 
How to hack a telecom and stay alive
How to hack a telecom and stay aliveHow to hack a telecom and stay alive
How to hack a telecom and stay alive
 
Как взломать телеком и остаться в живых
Как взломать телеком и остаться в живыхКак взломать телеком и остаться в живых
Как взломать телеком и остаться в живых
 
Sergey Gordeychik - Russian.Leaks
Sergey Gordeychik - Russian.LeaksSergey Gordeychik - Russian.Leaks
Sergey Gordeychik - Russian.Leaks
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

SCADA deep inside:protocols and software architecture

  • 1. All pictures are taken from Dr StrangeLove movie by Gleb Gritsai (as Alexander Timorin) and Alexander Tlyapov
  • 2.  Group of security researchers focused on ICS/SCADA to save Humanity from industrial disaster and to keep Purity Of Essence Sergey Gordeychik Roman Ilin Artem Chaykin Dmitry Efanov Andrey Medov Alexander Zaitsev Dmitry Sklyarov Roman Ilin Kirill Nesterov Gleb Gritsai Ilya Karpov Yuriy Dyachenko Yuri Goltsev Sergey Scherbel Dmitry Serebryannikov Alexander Timorin Alexander Tlyapov Denis Baranov Sergey Bobrov Sergey Drozdov Vladimir Kochetkov Timur Yunusov Dmitry Nagibin Vyacheslav Egoshin Evgeny Ermakov
  • 3.  Gleb Gritsai     Penetration tester @ptsecurity ICS researcher and expert Member of @scadasl Alexander Tlyapov Reverse engineer @ptsecurity  ICS researcher  Member of @scadasl 
  • 4.  ICS 101   Industrial protocols (Gleb Gritsai)    This 101 is useless Functions and weakness of protocols Penetration tester’s view WinCC architecture (Alexander Tlyapov)    Internal protocols Authorization process And how no to pay attention and get to serious stuff
  • 5.
  • 6.  HMI   PLC   Programmable Logic Controller RTU   Human Machine Interface Remote Telemetry Unit IED, SCADA, DSC, Sensor, Actuator, …
  • 7.  Movinged from Serial to Ethernet   Actually five senses of ICS by     Sometimes to Radio (GSM, ZigBee, WiFi, etc) Controlling physical processes Delivering feedback Available starting from OSI/ISO layer 3 Industry and application specific Delivering real time data from sensor or configuring network settings of PLC or reflashing RTU  Operating in one subnet or providing remote telemetry and supervisory   Developed without security in mind and in coders  “Times they are a changin‘”, but slowly
  • 8.  Manufacturing Message Specification  A protocol, but more a specification for messaging   Originally developed at 1980 “Heavy”  See MODBUS packet: [gw_unit; function; register; value]  Applications  IED, PLC, SCADA, RTU  Vendors  GE, Siemens, Schneider, Daimler, ABB
  • 9.  Domains  Named memory regions for managing data/code blobs  Abstraction for devices      Program invocations Journals Files (Yes, files) Named variables and lists (groups of vars) Events  State machines for alarms and events   Operators station (HMI) Init semaphores  Concurrent access
  • 10.  IEC 62351-4 is security for IEC 61850-8-1  IEC 61850-8-1 is MMS  Application level  ACSE AARQ and AARE PDUs    Transport level – TLS (62351-3) Access Control Lists Original port 102 to 3782 if secured
  • 11.   Application security is in ACSE layer (i.e. Association Control Service Element) which is rarely implemented No password requirements defined for software   Welcome to the “123” Application security is plain password  Bruteforce  Just try to keep port alive as no locking exist  Interception  Simple ARP spoofing is still a kill switch for ICS networks (do this in labs or disconnected SCADAs if you care)
  • 12.  Access must be defined to every object (according to standard)    Kind of: read, write, delete Optional TLS, srsly?   No options to set it up seen in products Not supported (not even with stubs in code)
  • 13.  Discovery & Fingerprint  Port 102 is also S7 and … - COTP (Connection Oriented Transport Protocol) & TPKT (Transport packet)  “Identify” request for Vendor, Model and Version  Enumeration of objects  Enumerate everything: Domains, Variables, Files, etc  Good thing – named variables (no need for db with tags/registers/etc description) for understanding logic  Domains: IEDInverter, IEDBattery, IEDPhysical_Measurements  Variables for IEDBattery: ZBAT1$MX$Vol, ZBAT1$MX$Amp, ZBAT1$ST$Health  Better than WriteCoil(coil=X, value=Y)
  • 14.  Open source libs - easy to extract API for better code coverage while fuzzing PLCs, IEDs, RTUs, …   Ain’t it fun fuzzing embedded devices Lot’s of open source libs, single DLL APIs and simulators  libiec61850 is C and free  http://libiec61850.com  openmuc is java and free  http://openmuc.org/  Smartgridware and others non free, but trial  http://www.smartgridware.com/  http://nettedautomation.com/iec61850li/dll/index.html
  • 15.    Is actually IEC 61870-5-104 Master, Slave, Master-Slave No security mechanisms in standard and in implementations   Extensible and vice versa by design   Vendors publish checklists with supported functions Mainly for gathering telemetry in electricity distribution and power system automation   Except the IP addresses of Masters defined on Slaves interrogations Can feature control functions  write, command, execute
  • 16.  Discovery   TCP port 2404 Application level ASDU broadcast address  As soon as RTU receives broadcast to enumerate IEC 104 endpoints it sends broadcast itself  If there is an RTU nearby you’ll get infinite broadcast  BCR (Binary Counter Reading) hack with frozen binary counter can mitigate this  Do it at home unless … don’t do it
  • 17.  Reading data   Writing data   Done by interrogations which provides set of controlled data Inspect vendor document on supported protocol features Simulators, libraries and fingerprint tool  https://github.com/atimorin/PoC2013/blob/master/i ec-60870-5-104/iec-60870-5-104.py  https://code.google.com/p/mrts-ng/  https://code.google.com/p/sim104/
  • 18. IEC 104 travels over dedicated network Remote Control IEC 104  Power plant 1 Power plant 2 Power Plant N
  • 19.   IEC 104 flows through RTU to SCADA Server SCADA Server reads/writes data as requested Power plant 1 FW: IEC 104 port opened RTU FW: IEC 104 port opened SCADA Server Open/Close the Door PLC
  • 20. Remote Control IEC 104, SMB, HTTP, etc corp.company.loc Power plant 1 Power plant 2 Power Plant N office.pp1.company.loc office.pp2.company.loc office.ppN.company.loc
  • 21.  corp.company.loc Now this does look like typical pentest Remote Control IEC 104, SMB, HTTP, etc Internets E-mail Sharepoint Remote applications Web sites Power plant 1 Power plant 2 Power Plant N office.pp1.company.loc office.pp2.company.loc office.ppN.company.loc
  • 22.  corp.company.loc Now this does look like one of the pentest attack vectors Remote Control IEC 104, SMB, HTTP, etc Internets E-mail Sharepoint Remote applications Web sites Power plant 1 Power plant 2 Power Plant N office.pp1.company.loc office.pp2.company.loc office.ppN.company.loc
  • 23.    Internal protocols Authorization process And how no to pay attention and get to serious stuff
  • 25. ActiveX components for communication and rendering of HMI Another component of WinCC. For example, forwarding commands to the PLC via the S7 protocol IIS extension SCSWebBridgex.dll Manages SCS connection and converts data to PAL CCEServer.exe Yep-Yep, again) CCEServer.exe WinCC core: Manages requests of components WebNavigatorRT.exe Rendering HMI and command transmission
  • 26. • • • • The POST requests from the client contains the binary data of SCS protocol Basic-authorization Authorization is “two-stage” (we’ll cover this later) For the real identification of client a specially “generated” ID is used
  • 27.    SQL query to database (using COM objects) Verification "special" Windows User The "hardcode" and etc. For successful authentication any path will do
  • 28.
  • 29. Authentication of user in the database through the COM object on the server Getting ServerID and the “magic” activity for the password to WebBridge Using received "magic" password to work with SCSWebBridgeX
  • 30. Oh! En/c(r)ypt[10]n! ServerID = Base64(RC2(pass, key)), where key = MD5(dll hardcode)
  • 31. And forget that before we entered a another password... Not my department password!
  • 32. Sql injection in Basic-authorization. It is too hard for me.
  • 33. Passwords in database is not plaintext… CVE-2013-0676
  • 34. But, it’s just XOR with very secret string. CVE-2013-0678
  • 36. So, we have another way to get ServerID and later access SCSWebBridgex.dll
  • 38.     "Magic" password = MD5(WNUSR_DC92D7179E29.WinPassword) Stored in the registry and encrypted with DPAPI. But with no luck. Wrong flag allows any users (including Guest) on this host to get password for special Siemens user. BTW, this user is local admin. Password generation features very good charset, but chars used uniquely and length is 12 to 14 chars which is not making cracking MD5 harder
  • 39.   All further communications authorized with this password For dispatching requests a special ID is used that is generated ... in some weird and funny way
  • 41. Transmitted ID represents index and identifier in the pool of objects which is responsible for storing the data and dispatching requests Offset Description Size 0 PoolID 2 2 PoolIndex 2
  • 42.
  • 43. HMI Other components CCEServer PLC Communication License server To start communication components must call CAL_StartListen in the service CCEServer. This function is passing all the necessary information about the component. Such as: • Component’s GUID • His PID • Required callbacks • Etc
  • 44.  During initial communications SCS packet is transmitted with GUID describing target component
  • 45.    According to received identifier component's object is looked up Further communication occurs in the context of an established connection, through a protocol called CAL The mechanism of data transmission in the CAL protocol is based on a global MappedSections
  • 46.
  • 47. For sending data: Section = ("GlobalSCS%08X%04X%04X%04XSAM", PID, SomeW, MapKey, Null); ReadyEvent = ("GlobalSCS%08X%04X%04X%04XSAN", PID, SomeW, MapKey, Null); SendEvent = ("GlobalSCS%08X%04X%04X%04XSAF", PID, SomeW, MapKey, Null); For receiving data: Section = ("GlobalSCS%08X%04X%04X%04XASM", PID, SomeW, MapKey, Null); ReadyEvent = ("GlobalSCS%08X%04X%04X%04XASN", PID, SomeW, MapKey, Null); ReciveEvent = ("GlobalSCS%08X%04X%04X%04XASF", PID, SomeW, MapKey, Null);
  • 48.  SQLi for retrieving HMI user passwords from db  And XOR decryption tool      Hardcoded credentials for retrieving ServerID Crack ServerID for Siemens windows user Use ServerID for communication WebBridge Session hijacking for privilege escalation on HMI Exploiting architecture weakness to use arbitrary components of WinCC (like PLC comms)