Immersive Labs Ranges
Cyber Ranges Dashboard
The Cyber Ranges web GUI is used to create and manage range environments. Depending on your permissions, you can also use them to manage range templates and user accounts.
You can create a new range and populate it with machines in the Dashboard. You can then perform the required configuration to move away from the GUI and use Ansible to automate most of the setup process.
---
Create the range
First, select Launch New Range and then New Blank Range. In the subsequent menu, give the range a name and description. For the initial run through, the Network Range has been left at the default `10.10.0.0/16`.
Once populated, hit Next.
---
Configure subnets and networking
Next, you need to configure the network layout for your range environment. More subnets can be added later, so you don't need to create all of these now. However, because the network design has been pre-planned, each subnet name and network/mask has been assigned now.
Once the network subnets are populated, hit Next.
Finally, you just need to set the IP address for the attacker's VPN connection. Leave this as the default and hit Next:
AdminBox
When you return to the main ranges dashboard, you'll see the newly created environment running.
Click on Manage to see `AdminBox` running.
This `AdminBox` is present in every environment and provides several functions for the range, including:
- VPN connectivity into the environment
- DHCP server for the range
- Connection broker for Guacamole
[!TIP]
Even if you're working on individual range components, this machine must also be running to allow connections via VPN, SSH, RDP, and VNC.
Populate machines
Now you can start populating machines one by one into the environment. First, add the Domain Controller to the Tier 1 subnet.
Click the **New System** button to open a selection menu, where you can pick from a list of pre-populated images. Next, click on the **Windows** tab of the **Categories** column and then select **Windows Server 2022**. You need to populate the **Name** field before moving on. In this instance, input the machine hostname `DC01`.1
The hostname field isn't required, but it can be useful to note the host's Fully Qualified Domain Name (FQDN) if you're creating multiple domains with hosts of the same name. In this instance, specify the FQDN of `dc01.example.corp`.
---
Next, you need to specify resources. For the Domain Controller, 2 vCPU and 4 GiB RAM as well as 60GB Disk is recommended. For each host in the environment, [recommended resources are provided below](#suggested-resources-table).
Lastly, you need to specify the IP address. If no value is put into this field, an IP address will be picked from the available addresses in the subnet and applied. Because this network is pre-designed, it'll use `10.10.0.10`.
Once this is done, you can see the newly configured machine deployed to the range environment.
This process should be repeated for every system as detailed in the [suggested resources table](#suggested-resources-table) shown below.
Once the base network is ready, it's recommended to take a clean snapshot of the network. This will allow you to roll back to a known clean state if you aren't happy with the resulting configuration when modifying or testing new Ansible scripts.
Next steps
Next, prepare the machines to be configured by Ansible as required, then start configuring the environment. Instructions for this are detailed in Chapter-3.
Suggested resources table
The minimum recommended specs2 for machines in the Example Corp range are as follows:
| Host Name | OS | Network | CPU/RAM | Disk Size |
| :--- | :---: | :---: | :---: | :--- |
| DC01 | Windows Server 2022 | 10.10.0.10 (Tier 1) | 2 vCPU, 4 GiB RAM | 60 GB |
| CA01 | Windows Server 2022 | 10.10.0.20 (Tier 1) | 2 vCPU, 2 GiB RAM | 60 GB |
| FS01 | Windows Server 2022 | 10.10.10.10 (Tier 2) | 2 vCPU, 2 GiB RAM | 60 GB |
| OFF-WKS01 | Windows Server 2022 | 10.10.20.10 (Tier 3) | 2 vCPU, 2 GiB RAM | 60 GB |
| OFF-WKS02 | Windows Server 2022 | 10.10.20.20 (Tier 3) | 2 vCPU, 2 GiB RAM | 60 GB |
| OFF-WKS03 | Ubuntu Desktop 20.04 | 10.10.20.30 (Tier 3) | 2 vCPU, 2 GiB RAM | 60 GB |
| WEF01 | Windows Server 2022 |10.10.30.10 (Security) | 2 vCPU, 4 GiB RAM | 60 GB |
| ELK01 | Ubuntu Server 22.04 | 10.10.30.20 (Security) | 2 vCPU, 8 GiB RAM | 120 GB |
| Ansible-Temp | Ubuntu Server 22.04 | 10.10.40.10 (Ansible) | 2 vCPU, 4 GiB RAM | 30 GB |
| - | - | Total (with `AdminBox`): | 20 vCPU, 32 GiB RAM | - |
Footnotes
1It's important to note that names specified in the Ranges GUI don't set the machine hostname. This is done via Ansible during the configuration stage.
2If real-world users are interacting with hosts via RDP/VNC for the purpose of training or an exercise, 2 x vCPU and 4 GiB RAM are recommended to improve the user experience.