How to compromise PLC systems via stealthy Pin control attacks

Share this…

At the Black Hat Europe 2016 two security researchers devised undetectable attacks that could be used to hack PLC systems avoid being detected.

Security researchers at the Black Hat Europe 2016 have presented a new attack method that could be used to hack programmable logic controllers avoid being detected.

programmable logic controllers are essential components for the monitoring and controlling of physical processes in industrial environments.

In September, the security researcher Ali Abbasi, a Ph.D. candidate in the distributed and embedded system security group at University of Twente, Netherlands, and Majid Hashemi, an independent security researcher, announced the development of an undetectable PLC rootkit. The security duo has presented this week the undetectable PLC rootkit at the Black Hat Europe, held in London.

The security also presented a version of the PLC attack that leverages shellcode.  The title of the presentation if Ghost In The PLC: Designing An Undetectable Programmable Logic Controller Rootkit.

PLC rootkit

The security duo explained their PLC rootkit doesn’t target the PLC logic code like other similar malware making hard its detection.

The researchers explained that the activity of the PLC rootkit will go unnoticed even to systems that monitor the power consumption of the programmable logic controllers.

PLC systems receive input signals from sensors used to monitor the industrial processes and control them via actuators that are connected to I/O pins on an integrated circuit, so-called system on chip (SoC).

The malware interferes with the connection between PLC runtime and logic with the I/O peripherals. The malware resides in the dynamic memory of the industrial component and manipulates the I/O and PLC process, while the PLC is communicating with I/O block composed of output pins that handle the physical control of the process.

The PLC receives signals from the field from the input PINs (i.e. level of the liquid in a pipe) and controls the process through actuators that receive instructions from the output PINs of the PLC (i.e. control of a valve).

Clearly manipulating the I/O signals it is possible to interfere with any industrial process in a stealthy way, and this is what the PLC rootkit does.

“We demonstrate the attack capabilities offered by Pin Control attack, together with the minimal requirements for carrying out the attack.” the researchers wrote in their paper. “We argue that the attack capabilities include blocking the communication with a peripheral, causing physical damage to the peripheral, and manipulating values read or written by legitimate processes. We show how pin control can be exploited both with and without the attacker having kernel-level or root access.”


Abbasi and Hashemi have devised two distinct pin control attack methods.

In one case the attacker uses a malicious code to change the pin configuration, switching pins from input to output and vice-versa. In the second attack scenario, the attacker abuses of the multiplexing feature by changing the functionality of the same pin, in this way the programmable logic controller is not able to perform its intended function.

It is important to note that both PIN switch and PIN multiplexing don’t trigger any alert, for this reason, both attacks are able to bypass Intrusion Detection for Embedded Control Systems such as Autoscopy Jr.

The researchers demonstrated it is possible to write a rootkit to carry on the attack, but it requires root access to the programmable logic controller system. In the second scenario, if the attacker has the same privileges as the PLC runtime, he can exploit remotely an RCE vulnerability.

Both attacks can be used to cause a denial-of-service (DoS) condition and to control the physical process connected to the programmable logic controller. However, the experts pointed out that the non-root variant is more efficient, especially from a performance standpoint, but it’s less precise.

“Finally the novelty of our attack lies in the fact that to manipulate the physical process we do not modify the PLC logic instructions or firmware,” continues the researchers. “Instead, we target the interaction between the firmware and the PLC I/O. This can be achieved without leveraging traditional function hooking techniques and by placing the entire malicious code in dynamic memory (in rootkit version of the attack), thus circumventing detection mechanisms such as Autoscopy Jr. and Doppelganger. Additionally, the attack causes the PLC firmware to assume that it is interacting effectively with the I/O while, in reality, the connection between the I/O and the PLC process is being manipulated.”

The researchers believe the majority of programmable logic controllers on the market it vulnerable to their attacks, for this reason, they informed the various vendors.