Skip to content

selmux/labshock

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

logo



🟨 Labshock - Your ICS Security Lab without Cost & Complexity

Labshock lets you build and test ICS security labs - without expensive hardware.

Why Labshock

  • check Website
  • save 90% of time on setup and maintenance
  • reduce costs by 95% compared to physical testbeds
  • provide safe, real-world OT environments for security testing
  • solve global gap in hands-on OT/ICS cybersecurity training

Who is Labshock for

  • Labshock Into Video
  • Security & OT Teams > test security tools, train staff, simulate real threats
  • Universities & Proffesionals > hands-on ICS training, SCADA/PLC setup
  • Red & Blue Teams > exploit ICS systems and validate OT SIEM/IDS rules

What You Get

  • Labshock Demo Video
  • Build a complete ICS test lab in 5 minutes
  • Simulate SCADA & PLCs for attack/defense training
  • Capture traffic, test SIEM rules and refine detection

Links

⭐ If you find this project useful, please put Star ⭐

Labshock Diagram



πŸŸ₯ Support Labshock

If you find this project useful, please consider helping:

Buy me a kofi



🟨 Requirements

Install Docker components, thats all:

Minimal: CPU 2 | RAM 4G | HDD 10G
Recommended: CPU 4 | RAM 8G | HDD 20G



🟨 Install & Run & Update

How-to: Quickstart Guide
Videos: Linux, Windows

Install

git clone https://github.com/zakharb/labshock.git
cd labshock/labshock
docker-compose build

Run

docker-compose up

Update

git pull
cd labshock
docker-compose down -v
docker-compose build

❀️ If you install Labshock, consider supporting Labshock:

Buy me a kofi



🟨 Services

For more info check Wiki Documentation

What's Inside

PORTAL       # Web                  # https://localhost
PLC          # OpenPLC              # http://localhost:8080
SCADA        # FUXA                 # http://localhost:1881, pwd: openplc/openplc
EWS          # Kali Linux           # http://localhost:5911/vnc.html, pwd: engineer
PENTEST      # Pentest Fury         # http://localhost:3443
IDS          # Network Swiftness    # http://localhost:1443
COLLECTOR    # Tidal Collector      # http://localhost:2443
And more...



🟨 Portal

Labshock contains Portal as central hub for accessing all services, documentation and resources.

With Portal Service you can:

  • access all Labshock tools from a single interface: https://localhost
  • navigate directly to documentation, configuration guides
  • connect to services like Network Swiftness, Tidal Collector and Pentest Fury
  • use built-in links to troubleshooting and support resources

Usage:

portal



🟨 PLC

Labshock contains modified version of OpenPLC

PLC supports all five languages defined in the IEC 61131-3 standard:

  • LD Ladder Logic
  • IL Instruction List
  • ST Structured Text
  • FBD Function Block Diagram
  • SFC Sequential Function Chart

PLC supports protocols

  • Modbus
  • DNP3
  • S7 (soon)

Usage:

plc



🟨 SCADA

Labshock contains modified version of FUXA

SCADA supports protocols:

  • Modbus RTU/TCP
  • Ethernet/IP
  • BACnet IP
  • OPC UA
  • WebAPI
  • MQTT
  • S7

Usage:

scada



🟨 Pentest Fury

Labshock includes Pentest Station tailored for OT and ICS security testing.

Features:

  • Tools for Modbus, DNP3, IEC 60870-5-104, S7, OPC UA analysis
  • SCADA/PLC fuzzing, packet manipulation, and vulnerability scanning
  • Pre-installed Kali tools like Nmap, Wireshark & Metasploit

Use Cases:

  • Test OT system security and ICS networks
  • Simulate attacks: replay, MITM, command injection
  • Decode and analyze SCADA traffic

Usage:

ssh pentest@localhost -p 2222
pwd: pentest
  • check more info on wiki

πŸ”’ License:

  • Pentest Fury is for personal, non-commercial use only.
  • Redistribution, modification, or commercial use is prohibited.
  • See LICENSE for details.

Ready for OT-focused pentesting.

pentest



🟨 Network Swiftness

Labshock includes Network Swiftness for real-time network monitoring and analysis in OT environments.

Features:

  • Monitor live network traffic
  • Track active connections
  • Detect and classify protocols
  • Generate network topology maps
  • Capture, analyze and save packets
  • Web based: simple & easy

Use Cases:

  • Gain visibility into OT network activity
  • Identify unauthorized connections and protocol anomalies
  • Analyze SCADA/ICS traffic patterns
  • Save packet data for forensic analysis

Usage:

⚠️ Windows Docker Desktop Users:

  • navigate to Settings > Resources > Network, and check the "Enable host networking" option.

πŸ”’ License:

  • Network Swiftness is for personal, non-commercial use only.
  • Redistribution, modification, or commercial use is prohibited.
  • See LICENSE for details.

Ready for OT network monitoring and analysis.

ids

External IDS

You can easily connect other IDS, for example Zeek



🟨 Tidal Collector

Labshock includes Tidal Collector for efficient OT data collection and forwarding.

Features:

  • Collect logs and metrics from OT devices
  • Normalize and forward data to SIEM
  • Filter and enrich data before forwarding
  • Lightweight and efficient
  • Web based: simple & easy

Use Cases:

  • Centralize OT data collection for analysis
  • Enhance SIEM visibility with OT-specific logs
  • Normalize diverse log formats
  • Reduce noise with smart filtering

Usage:

πŸ”’ License:

  • Tidal Collector is for personal, non-commercial use only.
  • Redistribution, modification, or commercial use is prohibited.
  • See LICENSE for details.

Ready for OT data collection and integration.

collector



🟨 EWS

Labshock contains Engineering Station for programming SCADA and PLC.

EWS comes pre-configured and ready to use:

  • IDE OpenPLC Editor
  • Interface to PLC
  • Interface to SCADA
  • Saved PLC/SCADA projects

Usage:

  • login into noVNC interface http://localhost:5911/vnc.html
  • password engineer
  • all links/projects are on Desktop
  • access PLC/SCADA via browser
  • access IDE via OpenPLC Editor
  • check more info on wiki

ews



Windows

It's also possible to run Windows inside Labshock:

  • check & use this github repo dockur/windows
  • use at your own risk & effort

ews-win



🟨 Versioning

Using SemVer for versioning.

For the versions available, see the tags on this repository.



🟨 Authors

  • Zakhar Bernhardt - Initial work - Ze

See also the list of contributors who participated in this project.



🟨 License

Β© 2025 Zakhar Bernhardt
Labshock contains open-source and proprietary components.
See the LICENSE file for details.

About

OT Security Lab for ICS networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Smalltalk 55.8%
  • Dockerfile 26.4%
  • Shell 17.8%