SlideShare una empresa de Scribd logo
1 de 77
Descargar para leer sin conexión
WINCC UNDER X-RAYS
              Sergey Gordeychik
              Denis Baranov
              Gleb Gritsai
   Sergey Gordeychik
       Positive Technologies CTO, Positive Hack Days
        Director and Scriptwriter, WASC board member
   Gleb Gritsai (@repdet)
       Principal Researcher, Network security and forensic
        expert, head of PHDays Challenges team
   Denis Baranov
      Head of AppSec group, researcher, member of
       PHDays Challenges team
    http://www.phdays.com http://blog.ptsecurity.com
                    http://scadasl.org
    Group of security researchers focused on ICS/SCADA


    to save Humanity from industrial disaster and to
               keep Purity Of Essence
Sergey Gordeychik     Gleb Gritsai            Denis Baranov
Roman Ilin            Ilya Karpov             Sergey Bobrov
Artem Chaykin         Yuriy Dyachenko         Sergey Drozdov
Dmitry Efanov         Yuri Goltsev            Vladimir Kochetkov
Andrey Medov          Sergey Scherbel         Timur Yunusov
Alexander Zaitsev     Dmitry Serebryannikov   Dmitry Nagibin
Dmitry Sklyarov       Alexander Timorin       Vyacheslav Egoshin
Ilya Smith            Roman Ilin              Alexander Tlyapov
   Common target during pentests
   Most common platform (market, ShodanHQ)
   Largest number of published and fixed bugs




http://www.ptsecurity.com/download/SCADA_analytics_english.pdf
   Siemens ProductCERT
     Reallyprofessional team
     Quick responses
     Patches!


   You guys rock!
   Invensys Wonderware
   Yokogawa
   ICONICS
   ….



   Stay tuned!
   Goals
     to automate security assessment of ICS
     platforms and environment
   Objectives
     to understand system
     to assess built-in security features
     to create security audit/hardening guides
     to automate process

Vulnerabilities – waste production
   WinCC Server
       Windows/MSSQL based SCADA
   WinCC Client (HMI)
       WinCC runtime + project
   WinCC Web Server (WebNavigator)
       IIS/MSSQL/ASP/ASP.NET/SOAP
   WinCC WebClient (HMI)
       ActiveX/HTML/JS
 Big Project
 Long History

 A lot of obsolete
     code
     features
     third   parties
    …
Remote management tool (FS/registry), HTTP
8080
Not started by default and shouldn't be running
ever

   No authentication at all
   XSSes
   Buffer overflow (GET /AAAAAA….AAAAA)
Function Encrypt (secret, PassWord)
  ' secret$ = the string you wish to encrypt or decrypt.
  ' PassWord$ = the password with which to encrypt the string.
  dim L, X, s, Char
  L = Len(PassWord)
  For X = 1 To Len(secret)
     Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) = 0),
1))
     'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char)
     s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char)
  Next
  Encrypt = Escape(s)
End Function
Function Decrypt (secret, PassWord)
    ' secret$ = the string you wish to encrypt or decrypt.
    ' PassWord$ = the password with which to encrypt the
string.
    dim L, X, s, Char
    secret = Unescape(secret)
    L = Len(PassWord)
    For X = 1 To Len(secret)
       Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) =
0), 1))
       'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char)
       s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char)
    Next
    Decrypt = s
End Function
Function EnDecrypt (secret, PassWord)
   ' secret$ = the string you wish to encrypt or decrypt.
   ' PassWord$ = the password with which to encrypt the string.
   dim L, X, s, Char
   secret = Unescape(secret)
   L = Len(PassWord)
   For X = 1 To Len(secret)
      Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) = 0), 1))
      'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char)
      s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char)
   Next
   Encrypt = Escape(s)
   Decrypt = s
End Function
To analyze:
 - Files not changed for a while

 - Third-party tools and libraries

To automate:
 - Control of change/commit dates

 - Host-level scanners/fingerprint tools

Processes:
 - Know your third-party!
1000

                                                                    899
 900


 800


 700


 600


 500


 400

                                                                                     285
 300


 200
                                                                               135
                                                         100              94               81
                                                    73         96
 100
                                          14   17
        1    2    9    7    6   10   11
   0
       1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
CompanyName   Adobe Systems Incorporated
CompanyName   Blue Sky Software
CompanyName   ClassWorks
CompanyName   Datalogics, Inc.
CompanyName   Free Software Foundation
CompanyName   IBM Corporation and others
CompanyName   InstallShield Software Corporation
CompanyName   Microsoft Corporation
CompanyName   OPC Foundation
CompanyName   Rogue Wave Software
CompanyName   Stingray Software Inc.
CompanyName   Syncfusion Inc.
CompanyName   The OpenSSL Project,
CompanyName   VisualTools Inc.
CompanyName   WexTech Systems, Inc.
   Available at /WebCenter/AutoComplete.asmx
   Well-documented
   Available at /WebCenter/AutoComplete.asmx
   Well Self-documented
  Undocumented method
Siemens.Simatic.WinCC.DataMonitor
                             /GetServerList
   SQL Servers in subnet enumeration
   SQL-type Injection
   XPath Injection (CVE-2012-2596)
   Path Traversal (CVE-2012-2597)
   XSS ~ 20 Instances (CVE-2012-2595)

      Fixed in Update 2 for WinCC V7.0 SP3

http://support.automation.siemens.com/WW/view/en/60984587
   Can help to exploit server-side vulnerabilities
   Operator’s browser is proxy to SCADAnet!





                        ?
    Anybody works with SCADA and Internet
    using same browser?
http://www.surfpatrol.ru/en/report
 A lot of “WinCCed” IE from
countries/companies/industries

   Special prize to guys from US for
    WinCC 6.X at 2012
   Lot of XSS and CSRF
       CVE-2012-3031
       CVE-2012-3028
   Lot of arbitrary file reading
       CVE-2012-3030
   SQL injection over SOAP
       CVE-2012-3032
   Username and password disclosure via ActiveX
    abuse
       CVE-2012-3034

                Fixed in Update 3 for WinCC V7.0 SP3

http://support.automation.siemens.com/WW/view/en/63472422
   Interesting objects and methods
       WebClientInstall.RegReader.RegRead
                         IsAdministrator()
                         IsPowerUser()
                         openConnection()



   Can’t use ShellExecute of something…
   Restricted but still exists for compatibility
   WinCCViewer ActiveX store credentials in innerHTML
   We can get it via XSS
   How this ActiveX gets Basic account plaintext?
   How to get Authorization header on Client?
   Why ActiveX need password?

   Lets check…
Not my department password!
Oh! En/c(r)ypt[10]n!
   ActiveX use hardcoded account to
    communicate with OPC Web bridge
   Password for WNUSR_DC92D7179E29
    generated during installation and probably
    strong
    Encrypted password for WNUSR_DC* can be
    obtained by request to WebBridge

   But WHY?
•   Hardcoded accounts (fixed)
•   MS SQL listening network from
    the box*
    •   “Security controller” restricts to Subnet
•   Two-tier architecture with
    Windows integrated auth and
    direct data access
    •   We don’t know how to make it secure
•   First noticed in May 2005
•   Published in April 2008
•   Abused by StuxNet in 2010
•   Fixed by Siemens in Nov 2010**
•   Still works almost everywhere

*Just for history
**WinCC V7.0 SP2 Update 1
•   {Hostname}_{Project}_TLG*
    •   TAG data


•   СС_{Project}_{Timestamp}*
    •   Project data and configuration
    •   Users, PLCs, Privileges
   Other procedures with SQLi
       [dbo].[sp_CCAlg_CreateTempTable]
       [dbo].[sp_ccalg_PrepareDataList]
       [dbo].[sp_ccalg_PrepareTraceDataList]
       [dbo].[sp_ccalg_ReadAlgBySchema]
       [dbo].[sp_ccalg_ReadData]
       [dbo].[sp_ccalg_ReadDataAMTPreselect]
   No way to exploit
   Or we don’t know
   Yet
•   Managed by PASSCS.EXE
•   Stored in dbo.PW_USER
•   Administrator:ADMINISTRATOR
•   Avgur2 > Avgur
THEY KNOW
MY ENCRYPTIONKEY!
   Some restrictions for SQL roles
     OPENROWSET
     Extended Stored Procedures
     SQL Agent functions
    …
   Not enough for distributed
    architecture
       High privileged account for proxy is
        used
   PdlRt.exe – graphic runtime
   CCRtsLoader.EXE – loader
   s7otbxsx.exe – network

   Inter process communication:
       RPC
       Sections (memory mapped files)

   BaseNamedObjectsTCPSharedMm and other
    interesting stuff
   Detecting active project:
    HKCUSoftwareSIEMENSWINCCControl
    CenterDefault Settings
     LastOpenPath
     LastProject
   Detecting MS SQL database name (timestamp)
      ArchiveManagerAlarmLogging
      ArchiveManagerTagLogging*

Obtaining information from database and system
objects
   What is Project?
     Collection of ActiveX/COM/.NET objects
     Event Handlers and other code (C/VB)
     Configuration files, XML and other



   Can Project be trusted?
   Ways to spread malware via Project?
   NO!
     Project itself is dynamic code
     It’s easy to patch it “on the fly”
     Vulnerabilities in data handlers
   How to abuse?
     Simplest   way – to patch event
     handlers
   Firmware is in Intel HEX format
   Several LZSS blobs and ARM code
   Blobs contain file system for PLC
   Web application source code


               … And ...
   ASCII armored certificate!
   For what?
   For built-in Certification Authority

               ?!?!??!!!??!

   Is there a private key?
   Hardcoded S7 PLC CA certificate (Dmitry Sklarov)

http://scadastrangelove.blogspot.com/2012/09/all-
your-plc-belong-to-us.html

   Multiple vulnerabilities in S7 1200 PLC Web
interface (Dmitriy Serebryannikov, Artem Chaikin,
Yury Goltsev, Timur Yunusov)

http://www.siemens.com/corporatetechnology/pool/
de/forschungsfelder/siemens_security_advisory_ssa-
279823.pdf
   MiniWeb WebServer and MWSL
    scripting languages (similar to WinCC
    Flexible)
   Ability to create and upload your own
    Web-pages
   InterNiche TCP/IP stack
   Can be protected by password
   Authentication – simple challenge-
    response
     Password hashed (SHA1) on client (TIA Portal)
     Server (PLC) provide 20 byte challenge
     Client calculate HMAC-SHA1(challenge,
      SHA1(password) as response
   Hardcore mix of Windows and Custom
    Authentication/Access Control
   Weak cryptography
   No AppSec at all (before us Siemens PCERT)
   Project is not trusted
   Some weakness in system-level design – no
    quick patches
   TIA portal Security Hardening Guide
     S7 protocol password brute force tool
     WinCC Forensic checklist




http://scadastrangelove.blogspot.com/search/label/Releases
   Simatic WinCC Security Hardening Guide

http://scadastrangelove.blogspot.com/2012/12/siemens-simatic-wincc-7x-security.html



   PLCScan tool

http://scadastrangelove.blogspot.com/2012/11/plcscan.html



   ICS/SCADA/PLC Google/Shodan Cheat
    Sheet
http://scadastrangelove.blogspot.com/2012/12/icsscadaplc-googleshodanhq-cheat-sheet.html
   New Siemens products (TIA Portal and 1500
    PLC family)

   S7 protocol vivisection

   OPC/distributed architecture protocol analysis
SCADA UNDER X-RAYS
All pictures are taken from
Engineer Garin movie and Google

Más contenido relacionado

La actualidad más candente

Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
Aleksandr Timorin
 
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
Positive Hack Days
 
SCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHCSCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHC
qqlan
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
qqlan
 
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
DefconRussia
 
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
Aleksandr Timorin
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
Positive Hack Days
 

La actualidad más candente (20)

Safety vs Security: How to Create Insecure Safety-Critical System
Safety vs Security: How to Create Insecure Safety-Critical SystemSafety vs Security: How to Create Insecure Safety-Critical System
Safety vs Security: How to Create Insecure Safety-Critical System
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
 
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
 
SCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHCSCADA StrangeLove Kaspersky SAS 2014 - LHC
SCADA StrangeLove Kaspersky SAS 2014 - LHC
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
 
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
 
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
Alexander Timorin, Alexander Tlyapov - SCADA deep inside protocols, security ...
 
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
 
Improving SCADA Security
Improving SCADA SecurityImproving SCADA Security
Improving SCADA Security
 
BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101BruCON 2015 - Pentesting ICS 101
BruCON 2015 - Pentesting ICS 101
 
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
 
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
 
RISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzakiRISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzaki
 
Security testing in critical systems
Security testing in critical systemsSecurity testing in critical systems
Security testing in critical systems
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
 
Home Automation Benchmarking Report
Home Automation Benchmarking ReportHome Automation Benchmarking Report
Home Automation Benchmarking Report
 
Scada Security & Penetration Testing
Scada Security & Penetration TestingScada Security & Penetration Testing
Scada Security & Penetration Testing
 
Zerovm backgroud
Zerovm backgroudZerovm backgroud
Zerovm backgroud
 
Slide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by SuzakiSlide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by Suzaki
 
SCADA hacking industrial-scale fun
SCADA hacking industrial-scale funSCADA hacking industrial-scale fun
SCADA hacking industrial-scale fun
 

Similar a Positive Technologies - S4 - Scada under x-rays

The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
Mario Heiderich
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
webhostingguy
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
michelemanzotti
 
Attacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit FrameworkAttacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit Framework
Chris Gates
 
Techniques of attacking ICS systems
Techniques of attacking ICS systems Techniques of attacking ICS systems
Techniques of attacking ICS systems
qqlan
 

Similar a Positive Technologies - S4 - Scada under x-rays (20)

The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
 
Whatever it takes - Fixing SQLIA and XSS in the process
Whatever it takes - Fixing SQLIA and XSS in the processWhatever it takes - Fixing SQLIA and XSS in the process
Whatever it takes - Fixing SQLIA and XSS in the process
 
SCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architectureSCADA deep inside:protocols and software architecture
SCADA deep inside:protocols and software architecture
 
Scada strange love.
Scada strange love.Scada strange love.
Scada strange love.
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
 
Fosdem10
Fosdem10Fosdem10
Fosdem10
 
You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It
You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing ItYou Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It
You Too Can Be a Radio Host Or How We Scaled a .NET Startup And Had Fun Doing It
 
OWASP an Introduction
OWASP an Introduction OWASP an Introduction
OWASP an Introduction
 
Being HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on PurposeBeing HAPI! Reverse Proxying on Purpose
Being HAPI! Reverse Proxying on Purpose
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
 
The top 10 security issues in web applications
The top 10 security issues in web applicationsThe top 10 security issues in web applications
The top 10 security issues in web applications
 
Attacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit FrameworkAttacking Oracle with the Metasploit Framework
Attacking Oracle with the Metasploit Framework
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.js
 
It’s All In The Name - Deral Heiland
It’s All In The Name - Deral HeilandIt’s All In The Name - Deral Heiland
It’s All In The Name - Deral Heiland
 
Automated malware analysis
Automated malware analysisAutomated malware analysis
Automated malware analysis
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile Web
 
Techniques of attacking ICS systems
Techniques of attacking ICS systems Techniques of attacking ICS systems
Techniques of attacking ICS systems
 
Node.js vs Play Framework
Node.js vs Play FrameworkNode.js vs Play Framework
Node.js vs Play Framework
 
Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2
 
Minor Mistakes In Web Portals
Minor Mistakes In Web PortalsMinor Mistakes In Web Portals
Minor Mistakes In Web Portals
 

Más de qqlan

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
 
Internet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCInternet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLC
qqlan
 
Database honeypot by design
Database honeypot by designDatabase honeypot by design
Database honeypot by design
qqlan
 
Positive Technologies Application Inspector
Positive Technologies Application InspectorPositive Technologies Application Inspector
Positive Technologies Application Inspector
qqlan
 
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
qqlan
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat SheetICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
qqlan
 
Positive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening GuidePositive Technologies WinCC Security Hardening Guide
Positive Technologies WinCC Security Hardening Guide
qqlan
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and back
qqlan
 
Denis Baranov: Root via XSS
Denis Baranov: Root via XSSDenis Baranov: Root via XSS
Denis Baranov: Root via XSS
qqlan
 

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 - импортозамещение
 
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
 
Internet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCInternet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLC
 
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
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat SheetICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
 
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
 
Как взломать телеком и остаться в живых
Как взломать телеком и остаться в живыхКак взломать телеком и остаться в живых
Как взломать телеком и остаться в живых
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Positive Technologies - S4 - Scada under x-rays

  • 1. WINCC UNDER X-RAYS Sergey Gordeychik Denis Baranov Gleb Gritsai
  • 2. Sergey Gordeychik  Positive Technologies CTO, Positive Hack Days Director and Scriptwriter, WASC board member  Gleb Gritsai (@repdet)  Principal Researcher, Network security and forensic expert, head of PHDays Challenges team  Denis Baranov  Head of AppSec group, researcher, member of PHDays Challenges team http://www.phdays.com http://blog.ptsecurity.com http://scadasl.org
  • 3. Group of security researchers focused on ICS/SCADA to save Humanity from industrial disaster and to keep Purity Of Essence Sergey Gordeychik Gleb Gritsai Denis Baranov Roman Ilin Ilya Karpov Sergey Bobrov Artem Chaykin Yuriy Dyachenko Sergey Drozdov Dmitry Efanov Yuri Goltsev Vladimir Kochetkov Andrey Medov Sergey Scherbel Timur Yunusov Alexander Zaitsev Dmitry Serebryannikov Dmitry Nagibin Dmitry Sklyarov Alexander Timorin Vyacheslav Egoshin Ilya Smith Roman Ilin Alexander Tlyapov
  • 4. Common target during pentests  Most common platform (market, ShodanHQ)  Largest number of published and fixed bugs http://www.ptsecurity.com/download/SCADA_analytics_english.pdf
  • 5. Siemens ProductCERT  Reallyprofessional team  Quick responses  Patches!  You guys rock!
  • 6. Invensys Wonderware  Yokogawa  ICONICS  ….  Stay tuned!
  • 7. Goals to automate security assessment of ICS platforms and environment  Objectives to understand system to assess built-in security features to create security audit/hardening guides to automate process Vulnerabilities – waste production
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. WinCC Server  Windows/MSSQL based SCADA  WinCC Client (HMI)  WinCC runtime + project  WinCC Web Server (WebNavigator)  IIS/MSSQL/ASP/ASP.NET/SOAP  WinCC WebClient (HMI)  ActiveX/HTML/JS
  • 15.  Big Project  Long History  A lot of obsolete  code  features  third parties …
  • 16.
  • 17. Remote management tool (FS/registry), HTTP 8080 Not started by default and shouldn't be running ever  No authentication at all  XSSes  Buffer overflow (GET /AAAAAA….AAAAA)
  • 18. Function Encrypt (secret, PassWord) ' secret$ = the string you wish to encrypt or decrypt. ' PassWord$ = the password with which to encrypt the string. dim L, X, s, Char L = Len(PassWord) For X = 1 To Len(secret) Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) = 0), 1)) 'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char) s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char) Next Encrypt = Escape(s) End Function
  • 19. Function Decrypt (secret, PassWord) ' secret$ = the string you wish to encrypt or decrypt. ' PassWord$ = the password with which to encrypt the string. dim L, X, s, Char secret = Unescape(secret) L = Len(PassWord) For X = 1 To Len(secret) Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) = 0), 1)) 'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char) s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char) Next Decrypt = s End Function
  • 20. Function EnDecrypt (secret, PassWord) ' secret$ = the string you wish to encrypt or decrypt. ' PassWord$ = the password with which to encrypt the string. dim L, X, s, Char secret = Unescape(secret) L = Len(PassWord) For X = 1 To Len(secret) Char = Asc(Mid(PassWord, (X Mod L) - L * ((X Mod L) = 0), 1)) 'Mid(secret, X, 1) = Chr(Asc(Mid(secret, X, 1)) Xor Char) s = s & Chr(Asc(Mid(secret, X, 1)) Xor Char) Next Encrypt = Escape(s) Decrypt = s End Function
  • 21. To analyze: - Files not changed for a while - Third-party tools and libraries To automate: - Control of change/commit dates - Host-level scanners/fingerprint tools Processes: - Know your third-party!
  • 22. 1000 899 900 800 700 600 500 400 285 300 200 135 100 94 81 73 96 100 14 17 1 2 9 7 6 10 11 0 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
  • 23. CompanyName Adobe Systems Incorporated CompanyName Blue Sky Software CompanyName ClassWorks CompanyName Datalogics, Inc. CompanyName Free Software Foundation CompanyName IBM Corporation and others CompanyName InstallShield Software Corporation CompanyName Microsoft Corporation CompanyName OPC Foundation CompanyName Rogue Wave Software CompanyName Stingray Software Inc. CompanyName Syncfusion Inc. CompanyName The OpenSSL Project, CompanyName VisualTools Inc. CompanyName WexTech Systems, Inc.
  • 24.
  • 25. Available at /WebCenter/AutoComplete.asmx  Well-documented
  • 26. Available at /WebCenter/AutoComplete.asmx  Well Self-documented
  • 27.  Undocumented method Siemens.Simatic.WinCC.DataMonitor /GetServerList
  • 28. SQL Servers in subnet enumeration  SQL-type Injection
  • 29.
  • 30. XPath Injection (CVE-2012-2596)  Path Traversal (CVE-2012-2597)  XSS ~ 20 Instances (CVE-2012-2595) Fixed in Update 2 for WinCC V7.0 SP3 http://support.automation.siemens.com/WW/view/en/60984587
  • 31. Can help to exploit server-side vulnerabilities  Operator’s browser is proxy to SCADAnet!  ? Anybody works with SCADA and Internet using same browser?
  • 33.  A lot of “WinCCed” IE from countries/companies/industries  Special prize to guys from US for WinCC 6.X at 2012
  • 34. Lot of XSS and CSRF  CVE-2012-3031  CVE-2012-3028  Lot of arbitrary file reading  CVE-2012-3030  SQL injection over SOAP  CVE-2012-3032  Username and password disclosure via ActiveX abuse  CVE-2012-3034 Fixed in Update 3 for WinCC V7.0 SP3 http://support.automation.siemens.com/WW/view/en/63472422
  • 35. Interesting objects and methods WebClientInstall.RegReader.RegRead IsAdministrator() IsPowerUser() openConnection()  Can’t use ShellExecute of something…  Restricted but still exists for compatibility
  • 36.
  • 37. WinCCViewer ActiveX store credentials in innerHTML  We can get it via XSS
  • 38. How this ActiveX gets Basic account plaintext?  How to get Authorization header on Client?  Why ActiveX need password?  Lets check…
  • 39.
  • 40. Not my department password!
  • 42. ActiveX use hardcoded account to communicate with OPC Web bridge  Password for WNUSR_DC92D7179E29 generated during installation and probably strong  Encrypted password for WNUSR_DC* can be obtained by request to WebBridge  But WHY?
  • 43.
  • 44.
  • 45.
  • 46. Hardcoded accounts (fixed) • MS SQL listening network from the box* • “Security controller” restricts to Subnet • Two-tier architecture with Windows integrated auth and direct data access • We don’t know how to make it secure
  • 47. First noticed in May 2005 • Published in April 2008 • Abused by StuxNet in 2010 • Fixed by Siemens in Nov 2010** • Still works almost everywhere *Just for history **WinCC V7.0 SP2 Update 1
  • 48.
  • 49. {Hostname}_{Project}_TLG* • TAG data • СС_{Project}_{Timestamp}* • Project data and configuration • Users, PLCs, Privileges
  • 50.
  • 51. Other procedures with SQLi  [dbo].[sp_CCAlg_CreateTempTable]  [dbo].[sp_ccalg_PrepareDataList]  [dbo].[sp_ccalg_PrepareTraceDataList]  [dbo].[sp_ccalg_ReadAlgBySchema]  [dbo].[sp_ccalg_ReadData]  [dbo].[sp_ccalg_ReadDataAMTPreselect]  No way to exploit  Or we don’t know  Yet
  • 52. Managed by PASSCS.EXE • Stored in dbo.PW_USER
  • 53.
  • 54. Administrator:ADMINISTRATOR • Avgur2 > Avgur
  • 55.
  • 57.
  • 58. Some restrictions for SQL roles  OPENROWSET  Extended Stored Procedures  SQL Agent functions …  Not enough for distributed architecture  High privileged account for proxy is used
  • 59.
  • 60. PdlRt.exe – graphic runtime  CCRtsLoader.EXE – loader  s7otbxsx.exe – network  Inter process communication:  RPC  Sections (memory mapped files)  BaseNamedObjectsTCPSharedMm and other interesting stuff
  • 61. Detecting active project: HKCUSoftwareSIEMENSWINCCControl CenterDefault Settings  LastOpenPath  LastProject  Detecting MS SQL database name (timestamp) ArchiveManagerAlarmLogging ArchiveManagerTagLogging* Obtaining information from database and system objects
  • 62. What is Project?  Collection of ActiveX/COM/.NET objects  Event Handlers and other code (C/VB)  Configuration files, XML and other  Can Project be trusted?  Ways to spread malware via Project?
  • 63. NO!  Project itself is dynamic code  It’s easy to patch it “on the fly”  Vulnerabilities in data handlers  How to abuse?  Simplest way – to patch event handlers
  • 64.
  • 65.
  • 66. Firmware is in Intel HEX format  Several LZSS blobs and ARM code  Blobs contain file system for PLC  Web application source code … And ...
  • 67. ASCII armored certificate!  For what?  For built-in Certification Authority ?!?!??!!!??!  Is there a private key?
  • 68.
  • 69. Hardcoded S7 PLC CA certificate (Dmitry Sklarov) http://scadastrangelove.blogspot.com/2012/09/all- your-plc-belong-to-us.html  Multiple vulnerabilities in S7 1200 PLC Web interface (Dmitriy Serebryannikov, Artem Chaikin, Yury Goltsev, Timur Yunusov) http://www.siemens.com/corporatetechnology/pool/ de/forschungsfelder/siemens_security_advisory_ssa- 279823.pdf
  • 70. MiniWeb WebServer and MWSL scripting languages (similar to WinCC Flexible)  Ability to create and upload your own Web-pages  InterNiche TCP/IP stack
  • 71. Can be protected by password  Authentication – simple challenge- response  Password hashed (SHA1) on client (TIA Portal)  Server (PLC) provide 20 byte challenge  Client calculate HMAC-SHA1(challenge, SHA1(password) as response
  • 72.
  • 73. Hardcore mix of Windows and Custom Authentication/Access Control  Weak cryptography  No AppSec at all (before us Siemens PCERT)  Project is not trusted  Some weakness in system-level design – no quick patches
  • 74. TIA portal Security Hardening Guide  S7 protocol password brute force tool  WinCC Forensic checklist http://scadastrangelove.blogspot.com/search/label/Releases
  • 75. Simatic WinCC Security Hardening Guide http://scadastrangelove.blogspot.com/2012/12/siemens-simatic-wincc-7x-security.html  PLCScan tool http://scadastrangelove.blogspot.com/2012/11/plcscan.html  ICS/SCADA/PLC Google/Shodan Cheat Sheet http://scadastrangelove.blogspot.com/2012/12/icsscadaplc-googleshodanhq-cheat-sheet.html
  • 76. New Siemens products (TIA Portal and 1500 PLC family)  S7 protocol vivisection  OPC/distributed architecture protocol analysis
  • 77. SCADA UNDER X-RAYS All pictures are taken from Engineer Garin movie and Google