@@ -2,23 +2,23 @@ PhoenixContact Programmable Logic Controllers are built are using a variant of P
2
2
Communicating using a proprietary protocol over ports TCP/1962 and TCP/41100 or TCP/20547.
3
3
It allows a remote user to read out the PLC Type, Firmware and Build number on port TCP/1962.
4
4
And also to read out the CPU State (Running or Stopped) AND start or stop the CPU on
5
- port TCP/20547 (confirmed for the PLC series ILC 15x and 17x)
6
- or TCP/41100 (confirmed for the ILC 39x series)
7
- other series may or may not work, a very big chance that they will
5
+ port TCP/20547 (confirmed for the PLC series ILC 15x and 17x)
6
+ or TCP/41100 (confirmed for the ILC 39x series)
7
+ other series may or may not work, a very big chance that they will
8
8
9
9
## Vulnerable Application
10
10
11
11
This is a hardware zero-day vulnerability that CANNOT be patched, the only mittigation is pulling the plug (literally),
12
- adding a separate network in front of it (Firewall, Router, IDS, IPS, network segmentation, etc...)
13
- or not allowing bad people on your network
12
+ adding a separate network in front of it (Firewall, Router, IDS, IPS, network segmentation, etc...)
13
+ or not allowing bad people on your network .
14
14
15
15
In general most, if not all, PLC's (computers that control engines, robots, conveyor belts, sensors, camera's, doorlocks, CRACs ...)
16
- have this vulnerability where, using their own tools, remote configuration and programming can be done * WITHOUT* authentication
17
- Investigators and underground hackers are just now creating simple tools to convert the often proprietary protocols into (simple) scripts
16
+ have this vulnerability where, using their own tools, remote configuration and programming can be done * WITHOUT* authentication.
17
+ Investigators and underground hackers are just now creating simple tools to convert the often proprietary protocols into (simple) scripts.
18
18
19
19
The most important word here is proprietary. Right now the only thing stopping very bad stuff from happening.
20
- PhoenixContact uses an (unnamed?) low-level protocol for connection, information exchange and configuration of its PLC devices
21
- This script utilises that protocol for finding information and switching the PLC mode from STOP to RUN and vice versa
20
+ PhoenixContact uses an (unnamed?) low-level protocol for connection, information exchange and configuration of its PLC devices.
21
+ This script utilises that protocol for finding information and switching the PLC mode from STOP to RUN and vice versa
22
22
23
23
## Verification Steps
24
24
@@ -106,4 +106,4 @@ msf auxiliary(phoenix_command) > set ACTION START
106
106
The module can also just read out the CPU mode and then reverse whatever it finds, RUN becomes STOP, STOP becomes RUN
107
107
```
108
108
msf auxiliary(phoenix_command) > set ACTION REV
109
- ```
109
+ ```
0 commit comments