- Open
- Attack & Defense
- Simple
- Infrastructure
- System
The infrastruture has the same model of CyberChallenge A/D infrastructure created by CINI Cybersecurity National Lab: also the rules and the network schema are taken from there. The sample services are a copy of a CyberChallenge A/D Demo.
Oasis is an open-source project designed to provide a simple and robust infrastructure for attack and defense simulations. It facilitates cybersecurity training and testing through various components and services.
Introduction Installation Configuration Usage Features
To install and set up the Oasis project, follow these steps:
Clone the repository:
git clone https://github.com/yourusername/Oasis.git
cd OasisFor running Oasis, you need podman (docker cannot be used due to avoid using privileged containers) installed and docker-compose or podman-compose. After that you can run the following command to start the Oasis infrastructure:
python3 start.py startTo connect to the VMs, you need to use one of the wireguard configurations in the wireguard folder.
Instead you can run python3 start.py compose exec team<team_id> bash to connect to the VMs.
To manage the game network run:
python3 start.py compose exec router ctfroute unlock|lockThis will be automatically handled by the game server based on the configuration given (start_time, end_time, customizable from the oasis json). For special cases, you can use this command.
If you want generate the Oasis json config, edit it and after start Oasis run:
python3 start.py start -CThis will generate the config only, you can start oasis later
To stop the services run:
python3 start.py stop
python3 start.py --clean # Only if you want remove all the volumes and configsRunning Services To run the services included in the Oasis project:
Navigate to the appropriate service directory, for example:
cd gameserver/checkersExecute the service using the provided scripts:
python checker.pyCheck SLA
SERVICE=ServiceName ACTION=CHECK_SLA TEAM_ID=0 ROUND=0 ./checker.pyPut Flag
SERVICE=ServiceName ACTION=PUT_FLAG TEAM_ID=0 ROUND=0 FLAG=FLAG ./checker.pyGet Flag
SERVICE=ServiceName ACTION=GET_FLAG TEAM_ID=0 ROUND=0 FLAG=FLAG ./checker.py- Attack and Defense Simulations: Simulate various cybersecurity attack and defense scenarios.
- Multiple Services: Includes services like Notes and Polls with checkers and exploits for each.
- Infrastructure Setup: Uses Docker Compose for easy setup and management of the infrastructure.
- Extensible: Easily add new services, checkers, and exploits.