Skip to main content

Deploy a range

Ludus ranges (environments) are defined by a single yaml configuration file. By default, a simple range configuration is provided to each user.

To view your current configuration, run the following command

ludus range config get

For a detailed explanation of the configuration file, see configuration.

If you would like to make changes to this file, save it to disk, modify it, and set it with the following commands.

ludus range config get > ludus-range-config.yml
<vim|nano> config
ludus range config set -f ludus-range-config.yml
[INFO] Your range config has been successfully updated.

Once you are satisfied with your range configuration, deploy it with range deploy.

ludus range deploy
[INFO] range deploy started

Just like with templates, you can tail the ansible logs for range deployment with range logs -f

ludus range logs -f
PLAY [Pre run checks] **********************************************************

TASK [Acquire session ticket] **************************************************
changed: [localhost]

TASK [Check for valid dynamic inventory] ***************************************
ok: [localhost] => {
"changed": false,
"msg": "Dynamic inventory loaded!"
}
...

You can also check the status of your range at any time with range status

ludus range status
+---------+---------------+------------------+---------------+-------------------+-----------------+
| USER ID | RANGE NETWORK | LAST DEPLOYMENT | NUMBER OF VMS | DEPLOYMENT STATUS | TESTING ENABLED |
+---------+---------------+------------------+---------------+-------------------+-----------------+
| JD | 10.2.0.0/16 | 2023-12-31 18:42 | 4 | SUCCESS | FALSE |
+---------+---------------+------------------+---------------+-------------------+-----------------+
+------------+-----------------------------------+-------+-------------+
| PROXMOX ID | VM NAME | POWER | IP |
+------------+-----------------------------------+-------+-------------+
| 107 | JD-router-debian11-x64 | On | 10.2.10.254 |
| 109 | JD-ad-dc-win2019-server-x64 | On | 10.2.10.11 |
| 113 | JD-ad-win11-22h2-enterprise-x64-1 | On | 10.2.10.21 |
| 114 | JD-kali | On | 10.2.99.1 |
+------------+-----------------------------------+-------+-------------+

When the range status shows SUCCESS your range is fully deployed! The easiest way to interact with the VMs is via SSH or RDP. All VMs are directly accessible to users connected to the Ludus WireGuard server. To get a WireGuard configuration file for your user, run user wireguard

ludus user wireguard
[Interface]
PrivateKey = KBxrT+PFLClI+uJo9a6XLm/b23vbqL5KmNQ5Ac6uwGI=
Address = 198.51.100.2/32

[Peer]
PublicKey = 5nlDO6gtqVXI89xQNkd2c2L0US7RnPinbAlfiyWHHBM=
Endpoint = 10.2.99.240:51820
AllowedIPs = 10.2.0.0/16, 198.51.100.1/32
PersistentKeepalive = 25

Import this configuration into a WireGuard client and once connected, all range VMs are directly accessible.

To get a zip file of RDP configuration files for the Windows machines, use the range rdp command.

ludus range rdp
[INFO] File downloaded and saved as rdp.zip

These configuration files can be imported into any RDP client and used to connect to the Windows VMs using the credentials below.

All Linux machines have SSH running on port 22.

The Kali template is running KasmVNC on port 8444. The password for KasmVNC is password as it requires a 6 character password.

Default Machine Credentials

  • Kali
    • kali:kali (OS)
    • kali:password (KasmVNC - port 8444)
  • Windows
    • localuser:password (local Administrator)
    • LUDUS\domainuser:password
    • LUDUS\domainadmin:password (Domain Admin)
  • Debian based boxes
    • debian:debian
  • Others
    • localuser:password