Wired Village/Sysrupt

Sysrupt

Portable OT Range

A hands-on ICS/SCADA cybersecurity training platform that fits in your backpack.

Plug in an Ethernet cable. Hack a water treatment plant. Learn ICS/SCADA security.

The Sysrupt Portable OT Range is a complete industrial cybersecurity training lab running on a single purpose-built Sysrupt appliance. It simulates a real water treatment facility with 5 network zones, 8 industrial protocols, and 10 progressive CTF challenges.

Sysrupt board

Getting Started

  1. Plug your Ethernet cable into the OT Range board
  2. Your laptop gets an IP automatically (10.0.1.x)
  3. Open a terminal and start scanning:
    nmap -sT 10.0.1.0/24
  4. Find the web server. Open it. Hack your way in.

Challenges

10 progressive challenges. 4700 total points. The scoreboard updates automatically.

1 · Perimeter Breach
100 pts · HTTP
→
2 · Intelligence Gathering
200 pts · OPC-UA
→
3 · Pivot to OT
300 pts · SQLi + SSH
→
4 · Building Recon
350 pts · BACnet/IP
→
5 · Deep Protocol: DNP3
400 pts · DNP3
→
6 · Silent Overpressure
450 pts · EtherNet/IP (CIP)
→
7 · Power Substation Blackout
500 pts · IEC 60870-5-104
→
8 · Process Manipulation
600 pts · Modbus TCP
→
9 · Safety Assault
800 pts · S7comm (Siemens)
→
10 · Full Compromise
1000 pts · The Stuxnet Scenario
→

Network Map

Architecture

Five network zones based on the IEC 62443 Purdue Model:

ZoneSubnetWhat's Inside
Corporate10.0.1.0/24Web portal, building management
DMZ10.0.2.0/24Historian, OPC-UA gateway, jump host
SCADA10.0.3.0/24HMI, engineering workstation
Process10.0.4.0/24PLCs: Modbus, DNP3, EtherNet/IP, IEC 104
Safety10.0.5.0/24Safety Instrumented System

Protocol Tools

Six custom tools are pre-installed on your Kali machine:

python3 ~/tools/bacnet-tool.py  -h    # BACnet/IP (Building Automation)
python3 ~/tools/dnp3-tool.py    -h    # DNP3 (Power/Water SCADA)
python3 ~/tools/enip-tool.py    -h    # EtherNet/IP (Rockwell PLCs)
python3 ~/tools/iec104-tool.py  -h    # IEC 104 (Power Grid)
python3 ~/tools/modbus-tool.py  -h    # Modbus TCP (Chemical Dosing)
python3 ~/tools/s7comm-tool.py  -h    # S7comm (Siemens Safety)

Each tool uses the same format:

python3 ~/tools/<tool> -t <target-ip> -c <command>

Common commands: scan, read, write

Kali Setup

If tools aren't installed yet:

cd kali-setup
sudo bash kali-setup.sh

This installs: nmap, sshpass, opcua-client, pymodbus, python-snap7, c104, cpppo, and all 6 protocol tools.

Protocols You'll Encounter

ProtocolPortReal-World Use
HTTP80Corporate web systems
OPC-UA4840Industrial data exchange
BACnet/IP47808 (UDP)HVAC, lighting, door locks
DNP320000Power grids, water utilities
EtherNet/IP44818Factory automation (Rockwell)
IEC 1042404European power grid SCADA
Modbus TCP502PLCs, chemical dosing
S7comm102Siemens safety controllers

Tips

Plug in. Hack the plant. Learn ICS security.

github.com/s34s0n/sysrupt-portable-ot-range