Back to Intelligence

Defending Critical Infrastructure: Iranian Threats to Siemens, Schneider, and Rockwell PLCs

SA
Security Arsenal Team
July 23, 2026
6 min read

Introduction

A critical update from U.S. federal agencies has placed the industrial control systems (ICS) community on high alert. We are seeing active, targeted efforts by Iranian state-sponsored actors to compromise Programmable Logic Controllers (PLCs) manufactured by Siemens, Schneider Electric, and Rockwell Automation.

This is not a theoretical exercise. These adversaries are actively manipulating the logic that controls physical processes. For defenders in Operational Technology (OT) and Critical Infrastructure, the urgency cannot be overstated: if your engineering workstations or PLCs are exposed, you are a target. We need to move from awareness to active defense immediately.

Technical Analysis

While the advisory details the techniques rather than a single specific software vulnerability, the threat vector is precise: the manipulation of PLC logic and project files. The actors are leveraging access to engineering workstations to upload malicious code or modify existing ladder logic, potentially causing physical damage or process disruption.

  • Affected Platforms: Siemens SIMATIC S7 series, Rockwell Automation Logix/ControlLogix, and Schneider Electric Modicon M340/Unity series.
  • Attack Vector: The adversaries are likely exploiting weak authentication on engineering workstations, abusing unrestricted network access to OT protocols (S7Comm, CIP/EIP, Modbus), or utilizing legitimate engineering software (TIA Portal, Studio 5000, Unity Pro) to push unauthorized instructions.
  • Exploitation Status: Confirmed active targeting. The advisory implies the actors have successfully operationalized techniques to interact directly with controller memory.

Detection & Response

Detecting logic manipulation requires monitoring for anomalies in how engineering workstations interact with controllers. We are looking for unauthorized usage of engineering software or, more critically, scripting tools interacting directly with ICS ports—behavior consistent with "hacking" rather than "engineering."

SIGMA Rules

YAML
---
title: Potential ICS Protocol Abuse via Scripting Tools
id: 9c8f7d6e-5b4a-4c3d-8e2f-1a0b9c8d7e6f
status: experimental
description: Detects scripting interpreters or command shells connecting to common ICS protocol ports (Siemens S7, Rockwell CIP, Modbus). This indicates potential custom exploit tooling rather than standard engineering software usage.
references:
 - https://www.cisa.gov/news-events/cybersecurity-advisories
author: Security Arsenal
date: 2026/04/10
tags:
 - attack.initial_access
 - attack.t1190
 - attack.ics
logsource:
 category: network_connection
 product: windows
detection:
 selection_ports:
   DestinationPort:
     - 102  # Siemens S7Comm
     - 44818 # Rockwell/EIP CIP
     - 240  # Rockwell PCCC
     - 502  # Modbus TCP
 selection_process:
   Image|endswith:
     - '\python.exe'
     - '\python3.exe'
     - '\pwsh.exe'
     - '\powershell.exe'
     - '\cmd.exe'
     - '\bash.exe'
 condition: all of selection_*
falsepositives:
 - Legitimate scripting for ICS data collection (rare in OT envs)
level: high
---
title: Engineering Software Spawning Shell
id: b1a2c3d4-e5f6-7890-1234-567890abcdef
status: experimental
description: Detects core ICS engineering applications (Siemens, Rockwell, Schneider) spawning cmd.exe or powershell.exe. This may indicate an exploit chain or suspicious post-exploitation activity.
references:
 - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/10
tags:
 - attack.execution
 - attack.t1059.003
 - attack.ics
logsource:
 category: process_creation
 product: windows
detection:
 selection_parent:
   ParentImage|contains:
     - 'Siemens'
     - 'Rockwell'
     - 'Schneider'
   ParentImage|endswith:
     - '\Portal.exe'      # Siemens TIA
     - '\Studio5000.exe'  # Rockwell
     - '\UnityPro.exe'    # Schneider
 selection_child:
   Image|endswith:
     - '\cmd.exe'
     - '\powershell.exe'
     - '\pwsh.exe'
 condition: all of selection_*
falsepositives:
 - Administrative troubleshooting by engineers (verify context)
level: high

KQL (Microsoft Sentinel / Defender)

This query hunts for network connections to the critical OT ports originating from non-standard sources or scripting engines.

KQL — Microsoft Sentinel / Defender
let OT_Ports = dynamic([102, 44818, 240, 502]);
DeviceNetworkEvents
| where RemotePort in (OT_Ports)
| where InitiatingProcessFileName in ("python.exe", "python3.exe", "pwsh.exe", "powershell.exe", "cmd.exe", "wscript.exe", "cscript.exe")
| project Timestamp, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemotePort, RemoteUrl
| order by Timestamp desc

Velociraptor VQL

Use this artifact to hunt for established network connections on standard OT ports or the presence of engineering software processes that should be investigated for unusual child processes.

VQL — Velociraptor
-- Hunt for processes connecting to ICS ports or running Engineering software
SELECT Pid, Name, Exe, Username, CommandLine, 
       parse_string(data=Cmdline, regex='.*--port\s*(\d+).*').0 as PortArgs
FROM pslist()
WHERE Name =~ 'Siemens' OR Name =~ 'Rockwell' OR Name =~ 'UnityPro' 
   OR Name =~ 'python' OR Name =~ 'powershell'

-- Check active connections to common ICS ports
SELECT RemoteAddress, RemotePort, State, Pid, ProcessName
FROM netstat()
WHERE RemotePort IN (102, 44818, 240, 502)

Remediation Script (PowerShell)

Run this on Engineering Workstations to audit exposure. It checks for open listeners on critical OT ports and identifies installed engineering software versions for inventory.

PowerShell
# Audit Script: ICS Exposure Check
Write-Host "[+] Auditing ICS Engineering Workstation Security..." -ForegroundColor Cyan

# 1. Check for listeners on critical OT ports
$OTPorts = @(102, 44818, 240, 502)
$Listeners = Get-NetTCPConnection -State Listen -ErrorAction SilentlyContinue | Where-Object { $OTPorts -contains $_.LocalPort }

if ($Listeners) {
    Write-Host "[!] WARNING: Listeners found on critical OT ports!" -ForegroundColor Red
    $Listeners | Format-Table LocalAddress, LocalPort, OwningProcess
    $Listeners | ForEach-Object { Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue | Select-ProcessName, Path }
} else {
    Write-Host "[+] No listeners found on standard ICS ports (102, 44818, 240, 502)." -ForegroundColor Green
}

# 2. Inventory ICS Software
Write-Host "\n[+] Checking for installed ICS Engineering Software..."
$RegPaths = @(
    "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
    "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
)

$ICSApps = Get-ItemProperty $RegPaths -ErrorAction SilentlyContinue | 
    Where-Object { $_.DisplayName -match "Siemens|Rockwell|Schneider|TIA|Unity|Studio 5000" } |
    Select-Object DisplayName, DisplayVersion, Publisher

if ($ICSApps) {
    $ICSApps | Format-Table -AutoSize
} else {
    Write-Host "[-] No major vendor engineering software found in registry." -ForegroundColor Gray
}

Remediation

  1. Network Segmentation: Immediately enforce strict "Purdue Model" segmentation. Engineering workstations must not have dual-homed NICs connecting to both the IT network and the OT ICS network simultaneously without a DMZ architecture.
  2. Restrict Protocol Access: Configure firewalls to allow OT protocols (S7Comm, CIP, Modbus) only between specific, known engineering workstations and specific PLCs. Block all other sources.
  3. Vendor Advisory Review: Consult the latest advisories from Siemens (Security Advisory), Rockwell Automation (Security Advisories), and Schneider Electric (Security Notifications) for specific hardening guides regarding project file integrity checking.
  4. MFA Implementation: Enforce Multi-Factor Authentication (MFA) for all remote access into the OT network and for accessing engineering workstations (e.g., via RD Gateway).
  5. Logic Integrity: Utilize software change management tools to detect unauthorized modifications to PLC logic. Compare running logic against the "golden master" repository regularly.

Related Resources

Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub

managed-socmdrsecurity-monitoringthreat-detectionsiemics-securitysiemensrockwellschneiderot-security

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.