stratocyberlab
Stratosphere Cyber Range to learn cybersecurity attacking and defending techniques locally in your computer
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Stratosphere Cyber Range to learn cybersecurity attacking and defending techniques locally in your computer
Basic Info
- Host: GitHub
- Owner: stratosphereips
- License: gpl-2.0
- Language: Python
- Default Branch: main
- Homepage: https://cybersecurity.bsy.fel.cvut.cz/
- Size: 12.7 MB
Statistics
- Stars: 80
- Watchers: 5
- Forks: 25
- Open Issues: 5
- Releases: 11
Topics
Metadata Files
README.md
StratoCyberLab
StratoCyberLab is an offline security cyber range to test your knowledge and capabilities on cybersecurity. It was developed by the Stratosphere Laboratory with two primary goals:
- To setup local-only security environments for remote students of Introduction to Security class to follow weekly classes.
- To allow anyone to run local-only realistic cyber range to practice attacking & defending skills in the form of challenges (think HackTheBox but local in your computer!)
Features
- Local-only. No internet is required after download. No cloud. No tracking. No login. No data collection.
- Many cybersecurity exercises in a form of 'challenges'.
- Predefined environments of networks and services for remote students of Introduction to Security class
- The lab runs using docker containers on a shared virtual network(s)
- A container is created for the user to start from. You can install any tool you want without modifying your own host computer.
- A web interface to manage the challenges and play.
- All the challenges can be played from the web interface using the built-in WebSSH terminal.
- AI-assisted. The web interface has a local LLM (using ollama) to assist in your hacking. You can change the model used.
Requirements
Hardware
Resource consumption depends a lot on the user actions. We do not recommend starting all challenges at once as this may require a lot compute by generating a lot of network traffic and starting many services.
However, we estimate the minium requirements to be 3GB of disk space and 2GB of spare RAM. (Note that downloading the LLM model will require extra 5GB of disk space)
Software
The only requirement to run StratoCyberLab is to have docker (v>20.10) installed.
How to start
To start the lab do:
bash
git clone https://github.com/stratosphereips/stratocyberlab.git
cd stratocyberlab
docker compose up
This uses the already prepared docker-compose.yml file.
After the lab bootstraps, navigate in your browser to http://127.0.0.1/ to access a lab's dashboard.
The dashboard contains:
* Predefined environments for each weekly class of Introduction to Security class for remote students
* List of standalone hacking challenges
* Challenges are divided by difficulty into 3 categories EASY, MEDIUM, HARD
* Each challenge has multiple tasks.
* Tasks are solved by finding a flag (usually in a format BSY{...}) and submitting the flag in the dashboard.
* Each challenge must be individually started from the dashboard before playing
* Chat with a local AI assistant using llama3 model
* Usage and downloading of the model is optional and can be initiated from the dashboard. By default no model is downloaded.
* Built-in SSH web shell to interact with deployed services in the lab
* The SSH connection is made to a hackerlab container.
* If preferred, you can connect directly using SSH from your terminal to the hackerlab container with command
ssh root@127.0.0.1 -p 2222 and password ByteThem123
Troubleshooting
Q: I pulled new updates but the lab is running the old version.
A: Depending on the changes, sometimes it's required to force docker to re-build the containers. Please run the lab using a command docker compose up --build
Q: I see REMOTE HOST IDENTIFICATION warning when trying to SSH into the hackerlab container
A: The ID of hackerlab container is re-generated when the container is recreated. Add -o UserKnownHostsFile=/dev/null option to your SSH command to fix the issue.
Q: I have a windows OS and the challenges are not working correctly for me
A: Git for Windows puts CRLF line endings to checkout files by default which may break some desinged functionality. Please either replace all the CRLF line endings with LF or set this behaviour globally to your git using these commands (note that you have to re-clone the repository again after making this change to take effect)
bash
git config --global core.autocrlf false
git config --global core.eol lf
Development
We appreciate all PRs with new challenges or bug fixes.
Please refer to a separate Development documentation at ./docs/development.md.
Documentation on adaptations
If you want to use a new LLM model follow the instructions here
Connection Architecture
The diagram of connectivity and IP address of all containers is ./docs/connection_architecture.md.
Owner
- Name: Stratosphere IPS
- Login: stratosphereips
- Kind: organization
- Location: Prague
- Website: https://www.stratosphereips.org
- Twitter: StratosphereIPS
- Repositories: 25
- Profile: https://github.com/stratosphereips
Cybersecurity Research Laboratory at the Czech Technical University in Prague. Creators of Slips, a free software machine learning-based behavioral IDS/IPS.
GitHub Events
Total
- Fork event: 9
- Create event: 77
- Issues event: 6
- Release event: 11
- Watch event: 33
- Delete event: 7
- Member event: 1
- Issue comment event: 16
- Push event: 89
- Pull request review comment event: 10
- Pull request review event: 7
- Pull request event: 26
- Gollum event: 1
Last Year
- Fork event: 9
- Create event: 77
- Issues event: 6
- Release event: 11
- Watch event: 33
- Delete event: 7
- Member event: 1
- Issue comment event: 16
- Push event: 89
- Pull request review comment event: 10
- Pull request review event: 7
- Pull request event: 26
- Gollum event: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1
- Total pull requests: 3
- Average time to close issues: 14 minutes
- Average time to close pull requests: 4 months
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 1.0
- Average comments per pull request: 1.33
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 3
- Average time to close issues: 14 minutes
- Average time to close pull requests: 4 months
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 1.0
- Average comments per pull request: 1.33
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- HappyStoic (3)
- neodark (1)
- friggingee (1)
- sai4869 (1)
- Lubos-source (1)
- AlyaGomaa (1)
Pull Request Authors
- HolecekM (4)
- xyizko (3)
- verovaleros (3)
- neodark (1)
- HappyStoic (1)
- coresolutiondoteu (1)
- MariaRigaki (1)
- hollmmax (1)
- friggingee (1)
- Lubos-source (1)
- AlyaGomaa (1)
- rojikada (1)
- eldraco (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- python 3.11-slim-bullseye build
- cgr.dev/chainguard/python latest build
- cgr.dev/chainguard/python latest-dev build
- node 22-alpine build
- 114 dependencies
- @rollup/plugin-commonjs ^25.0.0 development
- @rollup/plugin-node-resolve ^15.0.0 development
- @rollup/plugin-terser ^0.4.0 development
- http-proxy-middleware ^2.0.0 development
- polka ^0.5.2 development
- rollup ^3.25.0 development
- rollup-plugin-css-only ^4.3.0 development
- rollup-plugin-livereload ^2.0.0 development
- rollup-plugin-svelte ^7.0.0 development
- svelte ^3.0.0 development
- @xterm/addon-fit ^0.10.0
- @xterm/xterm ^5.5.0
- bootstrap ^5.3.2
- sirv-cli ^2.0.0
- socket.io-client ^4.7.5
- xterm ^5.3.0
- yaml ^2.3.0
- eventlet *
- flask *
- flask-socketio *
- ollama *
- paramiko *
- actions/checkout v2 composite
- anothrNick/github-tag-action 1.36.0 composite
- python 3-slim build
- python 3-slim build
- busybox latest build
- debian bookworm build