detecting-attacks-on-scada-systems

Detect cyber attacks on SCADA systems using OT intrusion detection and process anomaly analysis.

954|172|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill detecting-attacks-on-scada-systems
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: detecting-attacks-on-scada-systems
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/ot-ics-security/detecting-attacks-on-scada-systems
Command: npx skills add https://github.com/xalgord/xalgorix --skill detecting-attacks-on-scada-systems

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires scapy, requests.

What problem does it solve?

Traditional IT security tools miss attacks targeting industrial control systems because they lack awareness of OT protocols like Modbus, DNP3, S7comm, and IEC 104. This Skill provides detection workflows for identifying MITM attacks, unauthorized PLC command injection, HMI compromise, historian data manipulation, and known ICS malware such as TRITON, Industroyer, and PIPEDREAM.

Core Features & Use Cases

  • SCADA Traffic Baselining: Build deterministic baselines of Modbus/TCP communication pairs, function codes, polling intervals, and register ranges from pcap captures using a Python/Scapy analyzer.
  • OT Detection Rules: Deploy Suricata rules for unauthorized Modbus writes, S7comm CPU STOP commands, DNP3 cold restarts, broadcast writes, and port scans targeting industrial protocols.
  • Process Anomaly Detection: Monitor historian data for out-of-range values, rate-of-change violations, flatlined sensors (Stuxnet-style replay attacks), and statistical anomalies.
  • Use Case: An OT security team receives an alert about TriStation traffic to a Triconex safety controller from an unauthorized IP. Use this Skill to verify the source, capture forensic packets, check for TRITON host indicators, and validate SIS logic integrity against a known-good backup.

Quick Start

Analyze the attached OT network pcap capture to build a Modbus communication baseline and identify any unauthorized function codes or devices talking to the PLC subnet.

Frequently Asked Questions about detecting-attacks-on-scada-systems

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect attacks on SCADA systems?

Deploy passive network monitoring on SPAN/TAP ports at OT boundaries, baseline normal Modbus/DNP3/S7comm traffic patterns, and apply Suricata rules for unauthorized function codes and commands. Correlate network alerts with historian process data to catch manipulation that hides at the packet layer.

What tools detect ICS malware like TRITON and Industroyer?

OT-specific platforms like Dragos, Nozomi Guardian, and Claroty xDome include threat intelligence for ICS-targeting malware. Open-source options include Suricata with ICS rulesets and Zeek with Modbus, DNP3, and BACnet protocol analyzers.

Why do signature-based IDS rules miss SCADA attacks?

Modbus, DNP3, and S7comm have no native authentication, so a spoofed master issuing a permitted function code bypasses signature rules. Add per-pair function-code allowlists, register value bounds, and PLC logic integrity comparison against a known-good baseline.

Can I test SCADA detection rules on live controllers?

No. Validate every new Suricata or Sigma rule by replaying a labeled pcap offline, never by injecting commands onto live controllers. Confirm the rule separates a real attack from an authorized engineering download recorded in change management.

How do I detect a Stuxnet-style replay attack on sensor data?

Monitor historian data for flatlined values where a sensor reading stays identical across 20 or more consecutive readings while the process is active. Combine this with rate-of-change limits and z-score statistical analysis to catch gradual manipulation.