2.4 Management server (P1)


In this step, we’ll provision the Mgmt-server VM in PVE. We’ll fully explain its purpose and configure it later in Module 3, but creating it now gives us a dedicated administrative workstation—with console and network access—from there, you’ll access the OPNsense web UI to complete and finalize the configuration.



2.4.1 Deploy Mgmt-server


  1. Clone the 900 Template-Debian template and provision your first VM: Right-click the template ➜ Clone. In the dialog, set:

    • VM ID: 200

    • Name: Mgmt-server

    • Mode: Full Clone


  2. After the clone has been created, modify the following VM settings in your virtualization platform. For Proxmox:

    • Increase VM memory: Memory ➜ Memory (MiB): 4096

    • Increase disk size: Hard Disk (scsi0) ➜ Disk Action ➜ Resize, enter the number of GiB to increase by (recommended minimum total size: 80 GiB).

    • Temporally change the network bridge to vmbr10 (we’ll switch it to vmbr30 later to place this system in the management network): Network Device (net0) ➜ Bridge: vmbr10


  3. Start the Mgmt-server VM and login as root.


  4. Change this VM’s hostname to:

    hostnamectl set-hostname mgmt-server
    sed -i 's/\btemplate-debian\b/mgmt-server/g' /etc/hosts


  5. Install additional software on the Mgmt-server, such as Git and xRDP:

    sudo apt update
    sudo apt install -y xrdp git default-jre-headless
    sudo systemctl enable --now xrdp


  6. Copy the SSH key pair generated in Section 2.2.2 (both the public and private keys) to the /root/.sshand /home/rte/.ssh directories on the Mgmt-server (you may delete the SSH keys from your local machine afterwards).



2.4.2 Configure OPNsense part 2


  1. From the Mgmt-server, open a browser, and sign in to the OPNsense web GUI at https://10.10.10.1. Run the setup wizard and follow the prompts.

    Important: During the initial configuration, uncheck Block RFC1918 Private Networks on the WAN interface. You can keep most settings at their defaults, or adjust them based on your existing configuration. If you already changed the root password, you can skip that step.


  2. Check for updates and install them if any are available.


  3. Rename interfaces for clarity: go to Interfaces, select the interface (e.g., LAN), enter the naming convention below in the Description field, then click Save and Apply Changes.

    • LAN = CLIENTS_NET

    • OPT1 = SENSITIVE_NET

    • OPT2 = MGMT_NET


  4. Verify DNS service: Services ➜ Unbound DNS ➜ General and verify if Unbound is enabled for All (recommended) network interfaces.


  5. Set and verify the DHCP configuration. Go to Services → Dnsmasq DNS & DHCP → General and select the CLIENT_NET, MGMT_NET, and SENSITIVE_NET interfaces.

    Then go to Services → Dnsmasq DNS & DHCP → DHCP ranges and verify that each network has the correct DHCP start and end addresses configured.

    • CLIENTS_NET: 10.10.10.10 - 10.10.10.100

    • SENSITIVE_NET: 10.10.20.10 - 10.10.20.250

    • MGMT_NET: 10.10.99.10 - 10.10.99.100

RT-C2E: Advanced Red Team C2 Infrastructure Engineering

Buy nowLearn more

Course Introduction

  • What is this course about?
  • What you will learn
  • Requirements
  • How the rest of this course is structured

Module 1 - C2 Infrastructure Design

  • Module introduction
  • 1.1 Hosting the infrastructure
  • 1.2 Operator workflow
  • 1.3 Design principles
  • 1.4 Infrastructure blue print
  • Assignment

Module 2 - Build the Core Platform

  • Module introduction
  • 2.1 Virtualization platform
  • 2.2 Debian VM template
  • 2.3 OPNsense platform
  • 2.4 Management server (P1)
  • 2.5 Remote access VPN
  • 2.6 Network firewall
  • 2.7 Remote access gateway
  • 2.8 Fine-grained access control
  • Assignment

Module 3 - On-prem essentials

  • Module introduction
  • mgmt-server-package.zip
  • 3.1 Management server (P2)
  • 3.2 Operator Clients
  • 3.3 Client deployment
  • 3.4 Teamservers
  • 3.5 Cobalt Strike
  • 3.6 Cobalt Strike connectivity
  • 3.7 Mythic
  • 3.8 Mythic logging
  • 3.9 Mythic connectivity
  • Assignment

Module 4 - Cloud essentials & Connectivity

  • Module Introduction
  • 4.1 Redirectors
  • 4.2 Providers & registrars
  • 4.3 VPS deployment
  • 4.4 Restricted VPS access
  • 4.5 RedWarden
  • 4.6 HAProxy
  • 4.7 Nebula
  • 4.8 Lighthouse
  • 4.9 Listener
  • 4.10 Forward C2 traffic
  • Assignment

Module 5 - Expand the Infrastructure

  • Module Introduction
  • 5.1 Centralized logging
  • 5.2 Grafana Loki
  • 5.3 Grafana Alloy C2 logs
  • 5.4 Grafana Alloy CLI logs
  • 5.5 Grafana data analytics
  • 5.6 Edge collectors
  • 5.7 Internal file sharing
  • 5.8 Secure data storage
  • 5.9 Operational attack infrastructure
  • Assignment

Module 6 - C2 Automation

  • Module Introduction
  • dashboard-package.zip
  • 6.1 Management dashboard
  • 6.2 Automated deployment
  • 6.3 Deployment flow
  • 6.4 Troubleshooting
  • 6.5 Guacamole connectivity
  • 6.6 User management
  • 6.7 Deployment cleanup
  • 6.8 Health monitor
  • Assignment

Bonus Content

  • B.1 Notifications via aggressor script

Closing Remarks

  • Course Wrap-Up