Attackers don't need to directly hack into a programmable logic controller (PLC) to wreak havoc on an industrial process: they can target its configuration files and pivot from there.
Researchers over the past year have been exposing easily exploitable holes in the so-called project files that reside in industrial control system (ICS) software for PLCs. Nadav Erez, research team lead at Claroty, will demonstrate at DEF CON today one such attack on a PLC project file, that of Phoenix Contact's PLCnext Engineer software, which engineers use to configure the vendor's PLC. Phoenix Contact's vulnerable project file software, which was recently patched, is the latest in a series of such software programs from PLC vendors patched for flaws, including Mitsubishi, Rockwell, Schneider, and Siemens.
PLC project files or directories are created in the PLC vendor's engineering software to configure the PLC's settings — including the logic that programs it to control machinery or industrial processes. The ICS software, which is stored on an engineer's computer or file server, handles the project files for PLCs when they get programmed by the engineer. "The PLC is operating on its own ... but if you make any change to the project file, you probably download it to the PLC so it's updated with the latest configuration," Erez says.
It's a relatively simpler way for an attacker to get access to a PLC, too. "The barrier to attacking PLCs is getting the PLCs," he says.
The vulnerability in the PLCnext Engineer versions 1046008 2020.3.1 and earlier is in how the restricted directory is accessed in the software such that an attacker can change the path of that file. The build settings of a project can be exploited so that an attacker can run malicious code via those files.
Here's how an attack could unfold: An attacker first would need to obtain the ICS software associated with a specific PLC product, something Erez says is relatively simple to purchase online. The attacker then could write scripts and manually edit a file to add malicious attributes, he says.
The next, and arguably the most difficult, step is convincing the engineer at the targeted organization to open the rigged project file. It's a social engineering exercise, either via a phishing email or even in an online support forum. The attacker could pose as another engineer having difficulty opening a project file, a scenario Erez paints like this: "'I've got this project file and my software version doesn't open it. Can you please help me? I saw on LinkedIn that you're an engineer working with Phoenix Contact devices ... maybe you can tell me what the issue was?'"
If the engineer falls for the ruse, downloads the file, and then opens it via their engineering software, the attacker is in. "Unlike opening a regular document or link, when you open a project file, you have to do it from a computer that's connected to a critical network segment ... the computer where you have the ICS software installed," he says. This gets the attacker to the ICS server — and a direct line to the PLC.
"If you have access to the PLCs, then it's pretty much game over for the PLCs," Erez says.
The bright spot with PLC project file vulnerabilities is that they're fixable via software. "It's not hardware or firmware on PLCs, so it's a lot easier to issue updates and for engineers to update the software," he says.
Erez says Claroty has reported dozens of these project file vulns to ICS vendors, and that until recently this was a lesser-studied vulnerability surface.
Spotting a PLC project-file attack would require monitoring the network to spot any unusual activity around the PLC as well as advanced endpoint protection for the Windows servers running the ICS software.
"We want ICS engineers to be aware that these files may have vulnerabilities inside of them," says Erez, who will present this research in the DEF CON ICS Village.