Course Description
This is not your traditional SCADA/ICS/IIoT security course! How many courses send you home with a $300 kit including your own PLC and a set of 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, synchrophasors, and even IoT. 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), and proprietary RF communications (433MHz, 869MHz, 915MHz). 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.
Course contents
Day 1 Outline – Assessing and Exploiting Controllers
Understanding basic control system concepts, systems, and devices
- Control system architectures
- PLCs, RTUs, and IEDs
- Understanding RTOS
- Industrial and non-Industrial
- What is IIoT and how it differs from IoT
- Field devices, buses, and loops
- DCS vs SCADA
Understanding controller logic
- Velocio PLCs vs other PLCs
- Hands-on exercise creating controller logic
- Hands-on exercise programming a PLC
- Hands-on exercise creating an HMI
- Architecture Reviews of major ICS and smart grid systems
- 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 ControlThings Platform
- Setting up the virtual machine
- Walk through the tools and functionality
- Introduction to the student hardware kits
Introduction to the NESCOR methodology for penetration testing
- Preparing for a penetration test
- Architecture reviews
- Testing the master servers
- Testing the user interfaces
- Testing the network communications
- Testing the embedded field devices
- End-to-end assessment
- Reporting
Types of ICS user interfaces
- Traditional applications
- Web applications
- Terminal interfaces
Pentesting maintenance 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 impersonating vendor endpoints with Python
- Exploiting vulnerabilities found during analysis
Day 2 Outline – Assessing and Exploiting ICS Communication Protocols
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
Pentesting Different Communication Layers
- Testing of communication mediums vs communication protocols
- Where security defenses should be place …… and tested
Serial communications
- RS-232, TIA-422, and TIA-485
- Fieldbus Protocols and Protocol Families
- Hands-on sniffing and injection of serial Modbus RTU
Pentesting TCP/IP based ICS protocols
- Protocol capture and analysis
- ModbusTCP, ProfiNet, EnternetIP/CIP, DNP3, IEC 104, IEC 61850, ICCP
- Dealing with unknown protocols
- Hands-on entropy analysis of network payloads
- Reverse engineering unknown protocols
- Hands-on ICS protocol fuzzing
Day 3 Outline – Assessing and Exploiting ICS RF Communications
Pentesting RF communications between master servers and field devices
- Examples of where RF is used in ICS and IIoT
- Overview of the RF Pentesting methodology
Capturing RF Signals
- Hardware used for different RF protocols
- SDR vs rfcat
- Comparison of different SDR hardware
- Finding the right frequencies
- Using the right antenna
- Hands-on RF spectrum analysis
- Hands-on RF signal capture
Analyzing the captured signal
- Spread Spectrum types and strategies
- Strategies for recovering frequency hopping
- Modulation and Demodulation
- Methods for identifying modulation type
- Hands-on traffic demodulation with Universal Radio Hacker (URH)
Data Extraction
- Understanding how data streams are assembled
- Hands-on analysis of data streams with URH
- Hands-on packetization with URH
RF Transmission
- Traffic transmission and exploitation
- Hardware needed for transmission
- Replaying attacks
- Signal transmission with URH
- Hands-on signal generation with rfcat and Great Scott Gadgets’ Yardstick
Requirements
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 engineers, technicians, analysts, managers, or penetration testers.
Recommended Reading before the Course
- For those with little or no ICS experience, these Wikipedia articles provide a brief introduction to the concepts and history of control systems that will be helpful to know for class.
- http://csrc.nist.gov/publications/nistpubs/800-82/SP800-82-final.pdf – NIST 800-82 is a great introduction to industrial control systems and the security issues surrounding them.
- http://nostarch.com/xboxfree – While this has nothing to do with control systems, it provides a great introduction to the concepts and techniques taught in this class to pentest embedded electronic hardware in ICS field/floor devices.
- http://kunststube.net/encoding – Understanding ASCII, Unicode, UTF-8, UTF-16, and UTF-32
System Requirements
- 64-bit processor with 64-bit operating system
- VT or other 64-bit virtualization settings enabled in your BIOS to run 64-bit VMs
- At least eight (8) GB of RAM, recommended sixteen (16) GB if possible
- At least fifty (50) GB of free hard drive space
- Windows 10.x installed on your host laptop or inside a VM
- VMware Workstation Player 15 (or later), VMware Workstation Pro 15 (or later), or VWware Fusion 11 (or later) installed BEFORE class begins.
REMARK: Other virtualization software such as Parallels, VirtualBox, or earlier versions of VMware products MAY WORK if the attendee is familiar with its functionality and takes full ownership of its configuration, however non-VMware software is not officially supported and VMware should be pre-installed as a backup just in case
- Access to an account with administrative permissions and the ability to disable all security software on their laptop such as Antivirus and/or firewalls if needed for the class
- If you are using Linux for your host machine, you will need ExFAT drivers installed for the USB drive
Resources Provided before the course (international shipping)
The following items (or rough equivalents depending on availability) are provided to each student before this virtual class is hosted (we will ship the material internationally) :
- Programmable Logic Controller (PLC)
- Software to program the PLC to keep (non-expiring)
- Software to program an HMI for the PLC (non-expiring)
- RTL-SDR (Software Defined Radio)
- Great Scott Gadgets Yardstick sub-GHz Radio
- Latest version of the Control Things Platform on USB
- Power for your laptop
- Internet connectivity may or may not be available depending on the facility hosting the course
- PDF version of the course slide deck
Trainers Biography
Tyler Robinson is the Managing Director of Network Operations at Nisos, Inc. As Managing Director of Network Operations Tyler leads a team of high performance security professionals within the offensive security field by simulating sophisticated adversaries, & creating scalable offensive security platforms using the latest techniques as seen in the wild.
Tyler serves as a highly technical operator on client engagements while managing & leading technical operations within Nisos. In addition to providing strategic guidance & advice to Nisos leadership along with new & existing clients, Tyler will help guide product development, offensive capabilities, & infrastructure to ensure future proof resiliency & excellence within the market space. Tyler will also be aiding in the effort of business development by representing & marketing the Nisos br& through training, conferences, speaking, & client cultivation.
Tyler directs the development of a world class offensive security capability, strategy, & program, including the leading & ownership of functional areas of Offensive services at Nisos, Inc. & Red Team operations, communications, & research. Tyler specializes in Red & Purple Teaming, APT threat modeling, blackbox network penetration testing, Physical/Social-Engineering Assessments. Tyler holds industry recognized certifications; these include GIAC, GPEN, GCIH, GWAPT, GCWN, GSEC.
Twitter : @tyler_robinson

Pablo Endres, Founder of SevenShift GmbH. Experienced security consultant and Professional Hacker. Published Author. Pablo’s career has taken place mostly doing security in a variety of industries, like Cloud Service providers, Banks, Telecommunications, contact centers, and universities. He holds a degree in computer engineering, as well as a handful security certifications: ISC2 CISSP, CompTIA Security+, and ISECOM’s OPSA + OPST.
Pablo has founded multiple companies in different continents and enjoys hacking, IoT, teaching, working with new technologies, startups, collaborating with Open Source projects, learning new things and being challenged.
In the last couple of years, he has been working mainly IoT security, testing dozens of devices and working with multiple platform providers to secure their solutions.
Twitter : @epablosensei
