Exploration challenges¶
Pick any challenge, in any order, spend as long as you want
Challenge 1: Turbine Takeover¶
The question: Can you remotely control turbine speed?
Why it matters: Turbines are the heart of power generation. Controlling them means controlling the facility.
What you can learn: Modbus TCP protocol, reading and writing registers, control system manipulation
Where to start:
python scripts/recon/turbine_recon.py
See the student guide’s Modbus TCP section for protocol details and more scripts.
Explore:
Can you gradually increase speed without triggering alarms?
Can you emergency stop all turbines simultaneously?
Can you make changes that operators won’t immediately notice?
What other Modbus-controlled systems can you find?
Can you write your own Modbus attack script from scratch?
Challenge 2: Reactor Secrets¶
The question: What secrets can you steal from the reactor PLC?
Why it matters: PLC logic is intellectual property. Decades of engineering expertise. Competitors want it. Nation states want it.
What you can learn: S7comm protocol, PLC memory structure, data exfiltration
Where to start:
python scripts/vulns/s7_plc_status_dump.py --host 127.0.0.1 --port 102 --rack 0 --slot 2
See the student guide’s S7comm section for protocol details and more scripts.
Explore:
What information is exposed in the PLC status?
Can you extract complete control programmes?
How would a competitor use this information?
What’s different about the safety PLC (port 103)?
Can you modify PLC logic, not just read it?
Challenge 3: SCADA Surveillance¶
The question: What can you see in the SCADA system?
Why it matters: SCADA is the eyes and ears of the facility. Complete operational visibility.
What you can learn: OPC UA protocol, tag enumeration, data access
Where to start:
python scripts/vulns/opcua_readonly_probe.py --endpoint opc.tcp://127.0.0.1:4840
See the student guide’s OPC UA section for protocol details.
Explore:
Is anonymous access allowed?
What operational data is visible?
Can you monitor in real-time?
How does OPC UA security work (when it’s enabled)?
What’s the difference between primary and backup SCADA?
Can you write to SCADA tags, not just read?
Challenge 4: Multi-Protocol Mastery¶
The question: How many different ways can you access the same system?
Why it matters: Defence in depth fails when every protocol is vulnerable.
What you can learn: EtherNet/IP, protocol comparison, redundant access paths
Where to start:
# Turbines speak multiple protocols - try both
python scripts/recon/modbus_identity_probe.py --host 127.0.0.1 --port 10502
python scripts/vulns/ab_logix_tag_inventory.py --host 127.0.0.1 --port 44818
See the student guide for details on Modbus and EtherNet/IP.
Explore:
Can you access the same data via different protocols?
Which protocol gives you more information?
If one protocol was secured, could you use another?
Why do industrial devices support multiple protocols?
Can you pivot between protocols?
Challenge 5: The Complete Picture¶
The question: Can you map the entire facility?
Why it matters: Attack planning requires understanding the full landscape.
What you can learn: Network architecture, system relationships, comprehensive reconnaissance
Where to start:
python scripts/recon/raw-tcp-probing.py
Then use scripts from other challenges to enumerate each protocol.
Explore:
Create a network diagram showing all systems
Map which systems control what
Identify the most critical targets
Find unexpected connections
How would you prioritise targets for attack?
What’s the difference between production and safety systems?
If you could only attack one system, which would cause most impact?
Challenge 6: Stealth and Detection¶
The question: Can you operate without being detected?
Why it matters: Real attackers try to avoid detection. So do sophisticated pentesters.
What you can learn: Traffic analysis, rate limiting, evasion techniques
Where to start:
# Compare obvious vs stealthy scanning
python scripts/recon/raw-tcp-probing.py
python scripts/exploitation/anomaly_bypass_test.py --scan-delay 300
Explore:
How slow do you need to be to avoid detection?
Can you mimic legitimate traffic using protocol_camouflage.py?
What would monitoring systems see?
What would good detection look like?
How would you design IDS rules for industrial protocols?
Can you pivot through legitimate systems?
Challenge 7: Maximum impact¶
The question: What’s the most dramatic thing you can demonstrate?
Why it matters: Sometimes you need to prove impact to get resources for fixes.
What you can learn: Attack chains, combining vulnerabilities, PoC development
Where to start:
python scripts/exploitation/turbine_overspeed_attack.py --host 127.0.0.1 --port 10502 --target-speed 1600
Explore:
Can you affect multiple systems simultaneously?
What’s the worst-case scenario you can demonstrate?
Can you create a cascading failure?
How would you demonstrate this to non-technical executives?
Video evidence or live demo?
What would operations see when this happens?
Challenge 8: Your own adventure¶
The question: What interests you?
Why it matters: Best learning follows curiosity.
Create your own challenge:
Something you noticed that wasn’t covered
A question about how something works
An attack idea you want to test
A hypothesis to prove or disprove
Discuss with facilitators and see where it leads.
Challenge 9: Fix it (if you want)¶
The question: If you found these vulnerabilities, what would you actually fix?
Why it matters: Understanding remediation helps you think like both attacker and defender.
What you can explore:
Which vulnerabilities matter most?
What’s actually fixable vs what’s not?
How would you prioritise fixes?
What would the implementation look like?
Approach it however you want:
Technical: Design network segmentation, write firewall rules, configure authentication
Strategic: Prioritise findings by risk and feasibility
Creative: Find solutions that work within constraints
Curious: Research how real facilities handle these issues
Make it interesting:
Pick your top 3 vulnerabilities and propose fixes
Design a complete security architecture
Consider what can’t be fixed and why
Compare quick wins vs long-term solutions
Deep dive options:
Study IEC 62443 zone and conduit model
Research real OT security implementations
Design monitoring and detection systems
Consider cost, downtime, and operational impact
Only do this if remediation interests you. Many students prefer staying in attack mode all day, and that’s fine.
“The presence of those seeking the truth is infinitely to be preferred to the presence of those who think they’ve found it.” - Terry Pratchett