How uwe-cyber/goibhniuwe works
GoibhniUWE is a Django-operated, Docker-based cyber range. Users choose vulnerable or custom environments, configure network topology and auxiliary services, then deploy an attack scenario for live monitoring or later analysis. The sampled views show scenario state and Docker deployment; the README documents Vulhub and custom-container selection, topology editing, and attack/traffic capabilities. Monitoring and capture components are represented from README and container specifications; unsampled details and links are omitted where their wiring is not evidenced.
Main entry points: views.py Range views · urls.py Django routes · forms.py GUI forms · custom_containers.py Container definitions
Components 19
Range interface
- Django routes
GUI/DjangoGUI/urls.py - Range views
GUI/GUI/views.py - GUI forms
GUI/GUI/forms.py - Question model
GUI/GUI/models.py
Scenario setup
- Vulnerability catalog
GUI/GUI/views.py - Scenario state
GUI/GUI/views.py - Container definitions
GUI/GUI/custom_containers.py - Network topology
GUI/GUI/views.py
Range runtime
- Docker Engine
- Vulhub environments
- Attackbox
- Automated attacks
exploit_material/automated_attack/auto_attack.py - Traffic generator
resource_files/Scripts/traffic_generator.sh
Monitoring and analysis
- Suricata IDS
resource_files/Custom_Containers/required_containers/docker-compose.yml - Traffic capture
resource_files/Scripts/packetyGrabber.py - Filebeat and Packetbeat
resource_files/Custom_Containers/required_containers/docker-compose.yml - Elasticsearch and Kibana
resource_files/Custom_Containers/required_containers/docker-compose.yml - Captured logs
resource_files/logfiles
Other components
- Range operator
Connections 21
- Range operator → Django routes: uses
README.md - Django routes → Range views: routes requests
GUI/DjangoGUI/urls.py - Range views → Vulnerability catalog: lists environments
GUI/GUI/views.py - Range views → Scenario state: updates scenario
GUI/GUI/views.py - Range views → Container definitions: uses definitions
GUI/GUI/views.py - Range views → Network topology: builds topology
GUI/GUI/views.py - Range views → Docker Engine: creates containers
GUI/GUI/views.py - Range views → GUI forms: uses forms
GUI/GUI/views.py - GUI forms → Question model: defines model form
GUI/GUI/forms.py - Range operator → Vulhub environments: selects environment
README.md - Container definitions → Docker Engine: configures services
GUI/GUI/custom_containers.py - Docker Engine → Vulhub environments: runs containers
README.md - Docker Engine → Attackbox: runs container
- Docker Engine → Suricata IDS: runs service
- Docker Engine → Filebeat and Packetbeat: runs services
- Docker Engine → Elasticsearch and Kibana: runs services
- Automated attacks → Vulhub environments: probes target
- Traffic generator → Vulhub environments: generates traffic
README.md - Suricata IDS → Captured logs: writes alerts
- Filebeat and Packetbeat → Elasticsearch and Kibana: ships telemetry
- Traffic capture → Captured logs: captures traffic
README.md