Pen Testing Industrial Control Systems

ICS/SCADA Penetration Testing: Where to Start

Educational resources

This article aims to point security professionals in the right direction to familiarize themselves with ICS/SCADA penetration testing basics. The intended audiences are those who are already proficient in the common internal, external, and web application testing methodology. After reading, security professionals should feel confident and knowledgeable about what steps need to be taken to become adept in the art of ICS/SCADA penetration testing.

Becoming proficient in Operational Technology

Penetration testing is an ever-expanding field with an untold number of specialties and niches. It can be described as a vast and intricate web of interrelated skills and knowledge bases. Not all niches are represented equally regarding the quantity or quality of learning materials. Common testing varieties such as web applications or internal testing have a plethora of learning materials. So much information is readily available that one person could seemingly always have educational resources and never run out. This cannot be said for more specialized testing varieties. Becoming proficient in Operational Technology (OT), Industrial Control Systems (ICS), and Supervisory Control and Data Acquisition (SCADA) network testing can appear daunting as there are fewer learning resources. Even though less training is available, there are still more than enough educational resources out there to develop significant skills in this high-demand niche.

Where to Start Learning about OT networks

Prior to joining Redbot Security, I had next to no SCADA testing experience apart from a few training exercises during my military service. Redbot Security is one of the few organizations with robust SCADA testing services. Naturally, shortly after joining the team, I was directed to our ICS/SCADA competency development path. Part of this training pipeline includes the Department of Homeland Security (DHS)/ Cybersecurity and Infrastructure Security Agency (CISA) ICS Cybersecurity 301V and 301L classes. The classes were originally a single in-person class but have been split into two classes, one virtual (301V) and the other in-person (301L). This divide was done to make the class more accessible. The 301V class is easily available, but the 301L class still needs to be completed. I myself have enrolled several times, often months in advance, and have yet to be accepted. One of the requirements of the 301L class is the successful completion of the 301V course. The virtual training consists of the following five sessions:

  • Session 1: Overview of Industrial Control Systems
  • Session 2: Network Discovery and Mapping
  • Session 3: Network Defense, Detection, and Analysis
  • Session 4: The Exploitation Process
  • Session 5: Network Attacks and Exploits

ICS/SCADA Concepts

To my surprise, much of the course included concepts found in traditional internal and web app penetration testing. Common strategies including NMAP scanning, using Metasploit to perform a Windows exploit, XSS attacks, and other traditional testing techniques and methodologies were discussed. The most informative section for a seasoned Penetration tester would likely be session one. Information in this section was new to me. They overviewed ICS terminology. All those SCADA buzzwords you have heard again and again will finally start making sense. The meaning and context of Remote Terminal Unit (RTU), Programmable Logic Controller (PLC), Operational Technology (OT), Modbus, and more ICS/SCADA-specific terminology are reviewed. At one point the course gives a walkthrough on PLC programming.  The instructor explains how to use ladder logic to program PLC devices. Afterward, several ladder logic exercises are required. These exercises can be completed using plcfiddle.com. This sort of hands-on training greatly assisted my understanding of how PLCs and other parts of the OT network functioned. Keith Cox, Redbot’s Principal Security Engineer, claims that the 301L course delves even deeper into the OT topography. These courses can be found at the CISA training website https://ics-training.inl.gov/.

Onsite SCADA Training

CISA has several other courses that touch on ICS/SCADA subjects. Redbot’s CISO and Lead Penetration Tester, Andrew Bindner, attended the 401L course aimed at security and compliance at the city, state, and national levels. At the 401L class, Mr. Bindner attended with foreign and domestic teams all focused on ramping up their security skill set. Again, this shows that few resources are available from quality trainers. Furthermore, as a consultant, expect to be waitlisted repeatedly to make room for teams actively working directly in sensitive environments. Overall, the benefit from taking the live, onsite classes is that CISA has built full labs with actual equipment and technologies in use today. This is an expensive endeavor that most security professionals cannot reproduce in a lab due to the expensive overhead cost.

Additional ICS/SCADA Testing Resources

Another excellent resource for learning SCADA hacking is, you guessed it, scadahacker.com. As the name implies, the site is a treasure trove of ICS/SCADA hacking content. In addition to highly accredited training, the site has an excellent library. The https://scadahacker.com/library directory is a compilation of incredible resources. There you can find all sorts of documents ranging from ICS vulnerabilities, assessment guidelines, best practices, policies, standards, and even lists of tools used in or specifically designed for ICS/SCADA testing. One excellent research paper in the scadahacker.com library is Hacker Machine Interface – State of SCADA HMI Vulnerabilities. This document made by the Trend Micro Zero Day Initiative Team explains why hackers target Human Machine Interface (HMI) devices and the most common vulnerabilities found on these machines. The four vulnerability classes that were most prevalent were:

  • Memory corruption
  • Credential management
  • Lack of authentication/authorization and insecure defaults
  • Code injection

This, among many other documents in the scadahacker.com library, is an exceptional tool for learning the types of vulnerabilities and threats that plague ICS/SCADA networks. It is important to note that scadahacker.com is in the process of migrating to a new website. The new site, https://icscsi.org/, appears to offer the same/similar training and the library appears to have been copied as well.

Using these resources, a penetration tester can become familiar with SCADA networks and their vulnerabilities. The next big question is “Are there any SCADA-specific hacking tools?”. The answer to that question is a resounding “Yes!”. An excellent GitHub repository is filled with tools designed to keep SCADA system admins from sleeping at night. The repository at https://github.com/hslatman/awesome-industrial-control-system-security has links to a large variety of tools and educational resources for SCADA hacking and security. Bear in mind that SCADA networks are sensitive, and there are often millions of dollars and potentially human lives at risk. Be sure to thoroughly investigate and test any tools in a lab environment you intend to use on a SCADA network. Always place caution and safety first when deciding to use tools, scans, or attacks. Remember no training or tools beats real-life experience. Ensure that you are not testing SCADA networks without having first been brought up to speed by experienced ICS penetration testers.

Conclusion

Beginning the ICS/SCADA penetration testing learning journey can often appear insurmountable. The number of resources, when compared to any of the more common penetration testing varieties, seems limited. The task is not hopeless, there are quality resources out there. Resources such as the DHS/CISA 301 ICS Security courses, scadahacker.com, and large repositories of tools are available only a few clicks away. Hopefully, you now feel confident that you can begin your learning process and become a skilled and proficient ICS/SCADA penetration tester.

Related Articles

Cyber threat news feed

Check out the latest cybersecurity news around the globe