Black Hat USA Registration Black Hat USA Registration Black Hat USA Briefings Black Hat USA Briefings Black Hat USA Training Black Hat USA Training Black Hat USA Schedule Black Hat USA Schedule Black Hat USA Sponsors Black Hat USA Sponsors Black Hat  USA Special Events Black Hat  USA Special Events Black Hat USA Venue Black Hat USA Venue

On This Page

Pentesting Smart Grid and SCADA with SamuraiSTFU

Justin Searle | July 29-30



Ends May 31



Ends July 24



Ends July 30


This is not your traditional SCADA security course! This course teaches hands-on penetration testing techniques used to test embedded electronic field devices, network protocols, RF communications, and controlling servers of ICS and Smart Grid systems like PLCs, RTUs, smart meters, Home Area Networks (HAN), smart appliances, SCADA, substation automation, and synchrophasors. This course is structured around the formal penetration testing methodology created by the National Energy Sector Cybersecurity Organization Resource (NESCOR), a United States Department of Energy project. Using this methodology and SamuraiSTFU (Security Testing Framework for Utilities), an open source Linux distribution for pentesting energy sector systems and other critical infrastructure, we'll perform hands-on penetration testing tasks on embedded electronic field devices, their RF communications, and the myriad of user interfaces used throughout smart grid systems. We’ll tie these techniques and exercises back to the smart grid devices that can be tested using these techniques. We will also do exercises on dissecting and fuzzing smart grid protocols like modbus, DNP3, IEC 61850, ICCP, ZigBee, C37.118, and C12.22. 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 ICS systems such as the energy sector’s “Smart Grid” brings great benefits for electric utilities and customer alike, however these benefits come at a cost from a security perspective. With increased functionality and addition inter-system communication, the smart grid brings with it a greater risk of compromise that both utilities and customers must accept. To minimize this risk, penetration testing must be performed to minimize vulnerabilities before attackers can exploit the critical infrastructures that exist in all countries around the world.

Course Outline

Day 1 – Pentesting ICS Network Protocols

  1. 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
  2. Different levels of network communication penetration testing
    • Testing of network mediums vs network protocols
    • Where security defenses should be place …… and tested
  3. Serial communications
    • RS-485 and RS-232
    • Modbus RTU
    • 16-bit unsigned registers and single bit coils
  4. 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
  5. 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

Day 2 – Pentesting ICS Field and Floor Devices

  1. 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
  2. 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
  3. 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
  4. 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
  5. Bus Snooping on embedded circuits
    • - Overview of bus snooping
    • - Hands-on exercise snooping busses
  6. 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

What Students Will Be Provided With

What Students Should Bring


Justin Searle is a Managing Partner of UtiliSec, specializing in Smart Grid security architecture design and penetration testing. Justin led the Smart Grid Security Architecture group in the creation of NIST Interagency Report 7628 and currently plays key roles in the Advanced Security Acceleration Project for the Smart Grid (ASAP-SG), National Electric Sector Cybersecurity Organization Resources (NESCOR), and Smart Grid Interoperability Panel (SGIP).

Justin has taught courses in hacking techniques, forensics, networking, and intrusion detection for multiple universities, corporations, and security conferences, and is currently an instructor for the SANS Institute.

In addition to electric power industry conferences, Justin frequently presents at top security conferences such as Black Hat, DEFCON, OWASP, and AusCERT. Justin co-leads prominent open source projects including the Samurai Web Testing Framework, Middler, Yokoso!, and Laudanum. Justin has an MBA in International Technology and is a CISSP and SANS GIAC certified Incident Handler (GCIH), Intrusion Analyst (GCIA), and Web Application Penetration Tester (GWAPT).