Building your own assessment lab: virtual network, targets and snapshots
You design an isolated, rebuildable assessment lab, prepare targets with deliberate misconfigurations, reset them with snapshots and describe the lab as code.
Level 301 · 15 lessons · 12 practice labs
Lessons
Lab design
- Why your own lab: authorised, repeatable and safe
- Lab isolation: separating it from your main network and limiting outbound traffic
- Lab topology: assessment machine, targets and a monitoring node
- Resource planning: memory, disk and virtual networks
- Short task: draw the diagram of a three-machine lab network
Preparing targets
- Quick targets with containers: a service set in Docker Compose
- Virtual machine targets: Linux and Windows evaluation editions
- Adding and documenting deliberate misconfigurations
- Different values on every build: preventing memorised answers
- Short task: build a misconfigured FTP and web target
Running the lab
- Snapshots and resets: starting every attempt clean
- The monitoring node: collecting lab traffic and logs
- Describing the lab as code: rebuilding with Vagrant and Ansible
- Lab documentation: targets, accounts and expected findings
- Capstone: prepare a rebuildable assessment lab for your team
Practice labs
- Draw the diagram of a three-machine assessment lab: Prepare a lab diagram showing the assessment machine, target and monitoring node with addresses, virtual networks and resource needs.
- Restrict the lab network's outbound access and verify it: Add rules blocking outbound traffic from the lab virtual network and prove by testing that the target cannot reach the internet.
- Find and close isolation gaps in an existing lab: Find the interface bridged to the main network and the forwarding left open in the given lab, fix them and retest.
- Build a small target service set with Docker Compose: Bring up a target set of a web and a database service with Compose and verify they listen only on the lab network.
- Build and document a misconfigured FTP and web target: Deliberately build an anonymous FTP and a web target with directory listing, and record each misconfiguration as an expected finding in the lab document.
- Prepare a target that produces different values on every build: Write a startup script that randomises the target's flag, usernames and passwords on each build and show the difference across two builds.
- Return the target to a clean state with a snapshot: Make a change on the target, reset it from the snapshot and run a short check confirming the change is gone.
- Collect lab traffic and logs on the monitoring node: Configure the monitoring node to receive target logs and traffic summaries and show the records arriving after a scan.
- Complete the lab document with targets, accounts and expected findings: Scan the lab you built, compare each issue found with the expected findings list and fill in what the document is missing.
- Rebuild a lab machine from its definition file: Build the target machine from scratch with the given Vagrant definition and verify the expected services are running.
- Define a deliberate misconfiguration as an Ansible task: Write an Ansible task that adds a weak SSH setting to the target, apply it and verify with a scan that the finding appears.
- Prepare a rebuildable assessment lab for your team: Define targets, misconfigurations and the monitoring node in code, tear the lab down, rebuild it and prove the same findings return.
About this course
You design an isolated, rebuildable assessment lab, prepare targets with deliberate misconfigurations, reset them with snapshots and describe the lab as code.
What you will learn
- Lab design
- Preparing targets
- Running the lab
Prerequisites
You should be comfortable with the level 101 and 201 topics of the same path.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 301; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.