Wired Village/Sysrupt V2

SYSRUPT Portable OT Range V2

Join a Wi-Fi network. Hack a power plant. Learn ICS/SCADA security.

A complete OT/ICS hacking range that runs on a single ESP32-S3 badge.

The SYSRUPT Portable OT Range V2 is an industrial-cybersecurity training lab that fits on one ESP32-S3 "Vanguard" badge. Flash the badge, join its Wi-Fi, and it becomes the control network of a small simulated plant, a web HMI, a process historian and several real industrial protocols, with 8 CTF challenges across defensive investigation and offensive exploitation.

No cloud, no internet, no extra hardware. Your score and progress show on the badge's 320×240 LCD and survive a reboot.

The Vanguard ESP32-S3 badge

Getting Started

  1. Flash the badge (see INSTALL.md).
  2. Join its open Wi-Fi: SYSRUPT-OT-V2-…. Your laptop gets 10.0.1.x; the badge is 10.0.1.1.
  3. Open the operator HMI and download the toolkit:
    firefox http://10.0.1.1/
    curl -O http://10.0.1.1/toolkit.zip
    unzip toolkit.zip && cd sysrupt-toolkit-1.0.0
    ./bin/sysrupt status          # read-only probe of the challenge ports

Be gentle: the ESP32-S3 has no PSRAM and a tiny network stack. One connection at a time, low rate. Aggressive scans make ports read "filtered", not "closed".

Challenges

8 challenges · 1800 total points · scoreboard on the badge LCD updates automatically. Numbered defensive-first: 01–04 Defensive, 05–08 Offensive.

Start here: Initial Access — Hacking into the IT Server, the IT foothold (robots.txt → /control → login) before pivoting to the OT challenges below.

01 · Historian SQL Injection
Defensive · Hard · 250 pts
→
02 · Field Device Recovery
Defensive · Hard · 250 pts
→
03 · Trojan Historian
Defensive · Medium · 150 pts
→
04 · Device Takeover
Defensive · Easy · 100 pts
→
05 · OPC Scout
Offensive · Medium · 150 pts
→
06 · Second Blackout
Offensive · Expert · 300 pts
→
07 · Stabilise the Reactor
Offensive · Expert · 300 pts
→
08 · Maintenance Override
Offensive · Expert · 300 pts
→

The guides are spoiler-free, they explain the protocol, the surface and the idea, not the answer.

Network Map

The badge is the whole network: a Wi-Fi AP at 10.0.1.1 that hosts every service.

SurfacePortChallenge
Web (HMI / intranet / webmail / historian / toolkit)TCP 80#01, #03, #04, #07, #08 entry
Modbus/TCPTCP 502#07, #08
OPC-UA-liteTCP 9005#05
GOOSE (training)UDP 6180#06
SNMPUDP 161#02

The historian is served under /hist on TCP 80 (its own login + Filter-by-Source SQLi console), not a separate port; it backs #01.

The sysrupt Toolkit

A dependency-free Python 3.9+ CLI, served by the badge, that speaks the challenge protocols:

./bin/sysrupt help            # all command groups
./bin/sysrupt help modbus     # one protocol's commands
./bin/sysrupt config set target 10.0.1.1
GroupFor
modbusReactor challenges (#07, #08)
gooseSecond Blackout (#06)

Every result is reported on a four-level ladder, request → ack → observed state change → challenge completion, so you can see exactly how far an action got. Full reference: COMMANDS.md.

Hardware

The "Vanguard" badge is a custom ESP32-S3 board.

SoCESP32-S3-WROOM-1, 16 MB flash, no PSRAM
DisplayST7789, 320×240 landscape
Input5-way joystick + buttons
ProgrammingUSB-C serial (e.g. /dev/ttyACM0)
NetworkingWi-Fi AP SYSRUPT-OT-V2-NNN, gateway 10.0.1.1, IPv4 forwarding + NAPT

No schematic, PCB or CAD files are published for this board. The LoRa radio, LEDs and buzzer on the board are not driven by the firmware.

Tips

Flash it. Join the Wi-Fi. Hack the plant.

github.com/Alwin111/Sysrupt-Portable-OT-Range-V2