Skip to main content
Labshock
LoginStart Free
← All Updates
RELEASEAugust 21, 2026

Electroshock: Switching a 6 kV Substation

Two incomers, two busbars, six feeders, two RTUs, and interlocks that refuse you. Send the command, watch what the process does about it, and find out why when nothing happens.

You can read a hundred pages about substations.

Or open one breaker and see what really happens.

Electroshock is our GRID lab, and it is a live 6 kV substation you operate rather than read about.

The Topology

  • 2 incomers
  • 2 busbars
  • 6 feeders
  • 2 RTUs

DNP3 and IEC 104 run between them, with real switching logic and real interlocks. It sits inside Firegate, the substation zone we launched in July: labshocksecurity.com/news/firegate-substation-lab-dnp3-iec104

What You Do

  • Send DNP3 and IEC 104 commands
  • Open and close breakers
  • Transfer load between busbars
  • Capture the traffic in Wireshark
  • Trace signals between the RTUs and the HMI
  • Follow the process step by step

Then Reality Starts

This is the part a simulator usually skips:

The command is accepted. Nothing changes.
The breaker is closed. The feeder is still dead.
The operation is blocked. An alarm appears.

Now you have to find out why.

Not because somebody designed a puzzle. Because that is how real systems behave. An interlock exists to refuse an operation that would be unsafe, and it refuses you without explaining itself.

The gap between "my command was accepted" and "the process did what I intended" is where OT security actually lives. A protocol-valid command that changes nothing, and a protocol-valid command that trips a bus, look identical on the wire.

You learn the difference by causing both.

Why We Built GRID

Not to teach protocol fields. Not to memorise standards.

To let you test how a power system actually works:

click, observe, break, investigate, fix, repeat

OT security must be testable.

Not documented.

Try It Yourself

  • Start free: github.com/zakharb/labshock — runs locally with Docker, no cloud.
  • Open Electroshock and transfer load between busbars, with Wireshark running the whole time.
  • Find one operation the interlocks refuse, then work out which condition blocked it before you look it up.
  • Compare notes with people doing the same thing: discord.gg/bpmaQFfW76
LABSHOCK SECURITY — OT SECURITY MUST BE TESTABLE, NOT DOCUMENTED