Logo
30 May 2025

The Hidden Security Risk on Our Factory Infrastructure

Motivation and Goals

Industrial Control Systems (ICS) are used to monitor and control industrial operations. They are often managed through SCADA (Supervisory Control and Data Acquisition) systems, which provide an interface for operators to watch and control physical processes.

ICS and SCADA devices are widely used in many important sectors, especially in critical infrastructure such as:

  • Power distribution
  • Water treatment and sewage systems
  • Manufacturing plants
  • Communication networks
  • Transportation systems

These systems control critical infrastructure, so any failure could cause serious damage. That’s why securing these systems is absolutely essential.

Examples of large incidents on ICS/SCADA environments include the attacks listed below:

  • In December 2015 in the Ukraine hackers (which were likely supported by Russia) left more than two hundred thousand people without electricity by remotely disconnecting several power stations
  • One of the biggest aluminum producers in the world, Hydro, was forced to switch to manual operations following a “severe” cyberattack
  • In Germany, hackers manipulated and disrupted a steel mill, resulting in massive damage
  • In Iran, an attack involving a computer worm, Stuxnet, damaged almost a fifth of the nuclear centrifuges and the damage is estimated to be 1 trillion USD

The goal of this research is to identify how many ICS/SCADA devices in Morocco are discoverable and accessible to anyone on the Internet. It also aims to discover their security status and vulnerabilities, and to provide recommendations for improving the overall security of these exposed systems.

ISC/SCADA Device Discoverability

The methodology relies on passive reconnaissance.(active reconnaissance is out of scope for this research ).

The main goal is to build a comprehensive list of protocols and their default port numbers used by ICS/SCADA devices. This is the first step in identifying potential ICS/SCADA systems.

Here are a few examples:

  • Siemens S7 – Port 102
  • ProConOS / Schleicher XCX 300 – Port 20547
  • Modbus/TCP – Port 502
  • PCWorx – Port 1962
  • Simatic (SNMP) – UDP Port 161
  • TLS (possibly for EtherNet/IP) – Port 10001

I used several internet scanning platforms Shodan, Censys, and ZoomEye — to identify devices that could be classified as ICS/SCADA systems.

  • Shodan is a search engine for internet-connected devices.
  • Censys provides detailed data on exposed assets across the internet.
  • ZoomEye is a Chinese search engine similar to Shodan, used to discover connected devices and services.

First, I collected all IP addresses located in Morocco from these platforms. Then, I removed any duplicate entries with the same IP address and port number. For each IP, I analyzed the metadata (also known as the banner), which is basically the response a device sends when it receives a connection request. I then compared the content of each banner against a list of positive and negative keywords. These keywords help determine whether a service is likely related to ICS/SCADA or not.

Findings :

After completing the filtering process, approximately 80 devices were identified as real ICS/SCADA systems exposed online. These devices came from various manufacturers.

  • Siemens – ~21 devices
  • Phoenix Contact – ~18 devices
  • Others – ~23 devices (various smaller vendors)
  • Veeder-Root – ~6 devices
  • Schneider Electric – ~3 devices
  • Omron – 1 device.

ICS/SCADA devices Vulnerabilities

Most of these ICS/SCADA systems are actually PLCs (Programmable Logic Controller), which are industrial computers used to control and automate machines and processes.

Post

PLCs that use the Modbus protocol (which communicates over port 502) often have no built-in authentication. This means they openly accept connections and allow anyone to read from and write data to the PLC. read about the modbus protocol

Many of these vulnerable PLCs are from Schneider Electric, as shown below. For example, we can read the COILS (which are like switches) in the PLC and also change their state, turning them ON (1) or OFF (0).

The read operation (Example)

Post

The write operation (Example)

Post

Changing these values can cause serious damage, depending on the industrial systems controlled by the PLCs. In any case, it is definitely dangerous. I have identified over 17 vulnerable SCADA systems affected by this issue.

Another type of exposed ICS device is the SCALANCE M874-3 (+21 devices), an industrial cellular router specifically designed for ICS/SCADA networks. These devices support the SNMP protocol, which enables monitoring, diagnostics, and network management of ICS environments, as demonstrated below.

Post

It was found that multiple instances are running outdated versions of OpenSSH with known critical and high-severity CVEs. Additionally, the SNMP protocol is vulnerable to brute-force attacks, which, if successfully exploited, could lead to full system compromise.

List of CVEs Identified in SCADA Systems:

  • CVE-2015-0987 (Omron CJ2M, CJ2H, CX-Programmer): Sensitive account information is sent without encryption, allowing attackers to intercept it and remotely compromise the device. Mitigation: Software update released by the manufacturer.
  • CVE-2015-1015 (Omron CJ2M/CJ2H): Unauthorized users can read sensitive information from the device. Mitigation: Software update released.
  • CVE-2017-2681 (Siemens, PROFINET protocol): Can cause a denial-of-service (DoS), requiring manual recovery. Mitigation: Software update available for some products.
  • CVE-2017-2680 (Siemens SIMATIC HMI Multi, S7-300/S7-400): Similar to CVE-2017-2681, crafted packets can disrupt devices, needing manual intervention. Mitigation: Software update released.
  • CVE-2017-12741 (Siemens Sinamics/SIMATIC/SIMOTION): Allows remote DoS, making the device inaccessible. Mitigation: Software update released.
  • CVE-2015-2177 (Siemens SIMATIC S7-300): Enables DoS attack without authentication, requiring cold restart. No direct update; mitigation involves VPN and access restrictions.
  • CVE-2016-9158 (Siemens SIMATIC S7-300 and S7-400): Exploitation forces device restart to recover. Mitigation: Software update released.
  • CVE-2016-9159 (Siemens SIMATIC S7-300 and S7-400, ISO-TSAP and Profibus): Allows unauthorized access to sensitive information including device credentials. Mitigation: Software update released.
  • CVE-2017-6030, CVE-2018-7789 to CVE-2018-7792 (Schneider Modicon): Allows attackers to obtain sensitive info, reboot, upload files, and change passwords. Mitigation: Software update released.
  • CVE-2015-7937 (Schneider Modicon M340): Remote execution of arbitrary code is possible. Mitigation: Software update released.
  • CVE-2016-7090 (Siemens SCALANCE): Unauthorized access to sensitive information. Mitigation: Software update released.

Several of the devices also expose critical services such as Telnet and FTP, which are susceptible to brute-force attacks due to weak or default credentials.

As shown below, one instance allowed anonymous FTP login with read access

Post

Another group of exposed PLCs discovered are Phoenix Contact ILC 191 ETH 2TX models. These devices, manufactured by Phoenix Contact, feature two Ethernet ports (2TX), which enable flexible network topologies such as daisy chaining. They are typically used for programming, SCADA/OPC communication, and web-based HMI access, and are commonly found running services on TCP port 1962.

Post

These devices are vulnerable in a way that allows a remote user to read the PLC type, firmware version, and build number via TCP port 1962. Additionally, an attacker can retrieve the CPU state and remotely start or stop the CPU. as shown below

Post

The consequences of exploiting these devices are similar to those of the Modbus-based systems mentioned earlier. For example, stopping the CPU could have serious or even damaging effects, especially if the PLC is controlling critical infrastructure such as a water treatment plant or an energy facility.

Another category of exposed devices discovered includes Automatic Tank Gauging (ATG) systems, particularly the TLS-350 ATG, which is commonly used in gas stations to monitor fuel levels in underground tanks over time. These systems are equipped with various safety features such as alarms, level sensors, and control mechanisms. The TLS-350 also enables remote monitoring and management of fueling operations, often integrating with fuel management software and enterprise resource planning (ERP) systems. Notably, it communicates over port 10001.Approximately six devices were identified, and below is an example of the banner received after establishing a TCP connection to one of the targets.

Post

An attacker could easily connect to the exposed port via Telnet to issue commands such as starting or stopping alerts and retrieve sensitive information, including data on fuel leaks and other critical system details.

While Rockwell Automation PLCs were rare in my findings, I did identify two exposed instances , both were CompactLogix 5370 models. These devices use the EtherNet/IP protocol over TCP/UDP port 44818. Many Rockwell PLCs, especially those running older firmware, don’t require authentication for critical actions like start, stop, or logic changes. As demonstrated below.

Post

They’re also known to be affected by serious vulnerabilities such as CVE-2021-22681, CVE-2016-0868, and CVE-2016-9355

Another area I explored was targeting exposed Human-Machine Interfaces (HMIs), which are web-based interfaces used to manage, control, and monitor ICS/SCADA systems. In total, I identified 14 HMIs exposed online, either completely unauthenticated or protected by default credentials, as illustrated below.

Post

Exposing these HMIs online poses a significant risk, as it may allow attackers to take control of the ICS if control functions are accessible. Even without write access, attackers could still retrieve sensitive information that may aid in further exploitation.

Recommendations and Suggested Actions

Securing ICS/SCADA systems can be challenging, but it’s essential—especially when these devices are part of critical infrastructure. The risks from exposed or outdated systems can be serious. Here are some practical steps that can help:

  • Restrict Internet Access: ICS/SCADA devices should never be directly exposed to the internet. Limit access using firewalls or VPNs.
  • Keep Software Updated: Regularly update the services and software running on these devices to patch known vulnerabilities.
  • Secure Connected Systems: Systems that interact with ICS/SCADA devices should also be secured and kept up to date. Attackers often exploit weaknesses in these supporting systems to bypass security controls.
  • Change Default Passwords: Make sure all default credentials on ICS/SCADA devices are changed to strong, unique passwords.