Assessing and Exploiting Control Systems New

Very practical information from an industry expert facilitator. With a lot of ideas in a 5-day course. Excellent!

Ravindranath Goswami, PowerGen

You won't find this kind of material in other training options. Also the labs look great.

David Jimenez, Pemex

This is not your traditional SCADA/ICS/IoT security course! How many courses send you home with your own PLC and a set of hardware/RF hacking tools?!? This course teaches hands-on penetration testing techniques used to test individual components of a control system, including embedded electronic field devices, network protocols, RF communications, Human Machine Interfaces (HMIs), and various forms of master servers and their ICS applications. Skills you will learn in this course will apply directly to systems such as the Smart Grid, PLCs, RTUs, smart meters, building management, manufacturing, Home Area Networks (HAN), smart appliances, SCADA, substation automation, and synchrophasors. This course is structured around the formal penetration testing methodology created by UtiliSec for the United States Department of Energy. Using this methodology and Control Things Pentest Platform (previously SamuraiSTFU), an open source Linux distribution for pentesting energy sector systems and other critical infrastructure, we will perform hands-on penetration testing tasks on user interfaces (on master servers and field device maintenance interfaces), control system protocols (modbus, DNP3, IEC 60870-5-104), RF communications (433MHz, 869MHz, 915MHz), and embedded circuit attacks (memory dumping, bus snooping, JTAG, and firmware analysis).

We will tie these techniques and exercises back to control system devices that can be tested using these techniques. The course exercises will be performed on a mixture of real world and simulated devices to give students the most realistic experience as possible in a portable classroom setting.

Advances in modern control systems such as the energy sector's Smart Grid has brought great benefits for asset owners/operators and customers alike, however these benefits have often come at a cost from a security perspective. With increased functionality and addition inter-system communication, modern control systems bring a greater risk of compromise that vendors, asset owners/operators, and society in general must accept to realize the desired benefits. To minimize this risk, penetration testing in conjunction with other security assessment types must be performed to minimize vulnerabilities before attackers can exploit critical infrastructures that exist in all countries around the world. Ultimately, this is the goal of this course, to help you know how, when, and where this can be done safely in your control systems.

Notice:

SANS Hosted are a series of classes presented by other educational providers to complement your needs for training outside of our current course offerings.

Course Syllabus

CPE/CMU Credits: 6

Topics

Introduction to the NESCOR methodology for penetration testing

  • Preparing for a penetration test
  • Architecture reviews
  • Pentesting the master servers
  • Pentesting the user interfaces
  • Pentesting the network communications
  • Pentesting the embedded field devices
  • End-to-end assessment
  • Reporting

Architecture Reviews of major ICS and smart grid systems and protocols

  • Supervisory control and data acquisition (SCADA)
  • Distribution Grid Management (DGM) and Substation Automation (SA)
  • Wide Area Management, Protection, and Control (WAMPAC)
  • Demand Response (DR)
  • Distributed Energy Resources (DER)
  • Advanced Metering Infrastructure (AMI)
  • Electric Vehicles (EV)

Introduction to SamuraiSTFU (Security Testing Framework for Utilities)

  • Setting up the virtual machine
  • Walk through the tools and functionality
  • Introduction to the student hardware kits

Performing traditional network pentests on control systems

  • Overview of a traditional network penetration test methodology
  • Dangers of port and vulnerability scanning
  • Strategies to perform port and vulnerability scanning
  • Hands-on network pentesting of master servers

CPE/CMU Credits: 6

Topics

Type of ICS user interfaces

  • Traditional applications
  • Web applications
  • Terminal interfaces

User interface mapping

  • Hands-on request/response mapping and baselines
  • Hands-on technology fingerprinting
  • Hands-on functional analysis
  • Hands-on process flow modeling

Vulnerability discovery

  • Hands-on default configuration testing
  • Hands-on authentication testing
  • Hands-on session management testing
  • Hands-on authorization testing
  • Hands-on business logic testing
  • Hands-on input injection testing

Application exploitation

  • Identifying attack avenues
  • Vulnerability exploitation
  • Exploitation cleanup

CPE/CMU Credits: 6

Topics

Different levels of network communication penetration testing

  • Testing of network mediums vs network protocols
  • Where security defenses should be place...and tested

Serial communications

  • RS-485 and RS-232
  • Modbus RTU
  • 16-bit unsigned registers and single bit coils

Pentesting RF communications between master servers and field devices

  • Hands-on RF spectrum analysis and signal capture
  • Spread Spectrum types and strategies
  • Hands-on signal demodulation with GNU Radio
  • Hands-on network traffic extraction
  • Traffic transmission and exploitation

Pentesting TCP/IP based ICS protocols

  • Protocol capture and analysis
  • modbus, DNP3, IEC 61850, ICCP, ZigBee, C37.118, and C12.22
  • Dealing with unknown protocols
  • Hands-on entropy analysis of network payloads
  • Reverse engineering unknown protocols
  • Hands-on ICS protocol fuzzing

CPE/CMU Credits: 6

Topics

Pentesting technician interfaces on ICS field and floor devices

  • Functional analysis of field technician interfaces
  • Hands-on exercise capturing USB communications to tech interfaces
  • Hands-on exercise analyzing captured USB communications
  • Impersonating endpoints in field tech interface communications
  • Hands-on exercises fuzzing AMI Smart Meter c12.18 optical interfaces
  • Exploiting vulnerabilities found during analysis

Analyzing field and floor device firmware

  • Obtaining field and floor device firmware
  • Hands-on exercise disassembling firmware
  • Hands-on exercise analyzing disassembled firmware
  • Exploiting firmware flaws

Overview of pentesting field and floor device embedded circuits

  • Local attack through physically exposed devices
  • Expanding physical attacks to remote attacks
  • Cryptographic keys and firmware

Analysis of embedded electronics in ICS field and floor devices

  • Discussion of device disassembly
  • Component analysis on embedded circuits
  • Datasheet acquisition and analysis for target components

CPE/CMU Credits: 6

Topics

Dumping data at rest on embedded circuits

  • Using the Bus Pirate and other similar tools
  • Overview of I2C or two-wire serial protocol
  • Hands-on exercise dumping I2C EEPROMs
  • Overview of SPI serial protocol
  • Hands-on exercise dumping SPI EEPROMs
  • Overview of JTAG
  • Hands-on exercise interfacing with JTAG

Bus Snooping on embedded circuits

  • Overview of bus snooping
  • Hands-on exercise snooping busses

Analyzing data obtained from data dumping and bus snooping

  • Hands-on exercise doing string analysis of datasets
  • Hands-on exercise doing entropy analysis of datasets
  • Hands-on exercise doing systematic key searches through datasets
  • Hands-on exercise doing file carving from datasets

End-to-end analysis and reporting

  • Strategies for end-to-end analysis after targeted pentesting
  • Strategies for reporting and remediation recommendations

Conclusion

Overview

Day six is a special day where attendees can select to work deeper on topics covered in class. The instructor will be there to provide guidance and answer questions, but emphasis on this day is to do custom research, tool creation/enhancement, or further exploration.

Work on this day can be done individually or as small self-selected groups. Options include but are not limited to:

  • Creation of new ICS protocol fuzzers for Peach Fuzzer
  • Create/Enhance client tools for ICS protocol enumeration
  • Packetize data stream from 915MHz signal we extracted in class
  • Further USB decoding of USB traffic between the PLC and management software
  • Creation of programming or extraction tool for the PLC's management interface

CPE/CMU Credits: 6

Additional Information

  1. Laptop with at least two USB ports (three ports preferred). If you only have two USB ports and they are right next to each other, you will need to bring a USB extension cable.
  2. Latest VMware Player, VMware Workstation, VWware Fusion installed. Other virtualization software such as Parallels or VirtualBox will probably work if the attendee is familiar with its functionality, however VMware Player should be prepared as a backup just in case.
  3. Ability to disable all security software on their laptop such as Antivirus and/or firewalls
  4. At least twenty (20) GB of hard drive space
  5. At least four (4) GB of RAM

If you have additional questions about the laptop specifications, please contact laptop_prep@sans.org.

Basic penetration testing experience is desirable, but not required. It is assumed that attendees will have no knowledge of ICS, Smart Grid, SCADA, or critical infrastructure. This course is designed for intermediate level security professionals, be they developers, managers, or penetration testers.

Recommended Reading before the Course

http://nostarch.com/xboxfree - Great introduction to pentesting embedded electronic hardware

Course Objectives

  1. Attendees will be able to explain the steps and methodology used in performing penetration tests on Industrial Control and Smart Grid systems.
  2. Attendees will be able to use the free and open source tools in SamuraiSTFU to discover and identify vulnerabilities in web applications.
  3. Attendees will be able to exploit several hardware, network, user interface, and server-side vulnerabilities.

  • Latest version of the Control Things Pentest Platform on USB
  • PDF version of the course slide deck
  • A hardware PLC, programming software, and HMI software
  • Hardware pentest kit to test embedded electronics and proprietary RF communications

Additional Resources

Take your learning beyond the classroom. Explore our site network for additional resources related to this course's subject matter.

*CPE/CMU credits not offered for the SelfStudy delivery method


1 Training Result

*Course contents may vary depending upon location, see specific event description for details.