Build Your Security Operations Home Lab
One lab environment. Every Ridgeline course. Zero cost.
This guide walks you through building a comprehensive security operations lab from scratch. You will set up VMware Workstation Pro, deploy Windows 11 and Ubuntu VMs, configure an M365 E5 developer tenant with Sentinel, install the full forensic and detection toolchain, and connect everything into a lab that supports investigation, detection engineering, endpoint security, threat hunting, and triage exercises across the entire Ridgeline course catalog. Total cost: free. Total setup time: 3–5 hours.
What you are building
This lab has four layers. Each layer is independent — you can build what you need and skip what you do not.
Layer 1 — Local VMs (required for IR, Triage, Endpoint Security, Linux IR) A Windows 11 VM and an Ubuntu Desktop VM running in VMware Workstation Pro on your host machine. These VMs host the forensic tools, generate investigation artifacts, and serve as the target systems for triage and endpoint security exercises.
Layer 2 — M365 E5 Developer Tenant (required for cloud-focused courses) A free Microsoft 365 E5 developer tenant with 25 user licenses, sample data, and full access to Defender XDR, Entra ID, Exchange Online, and SharePoint. This is where you run KQL queries, configure conditional access policies, build detection rules, and investigate cloud-based attack scenarios.
Layer 3 — Azure Subscription with Sentinel (recommended for detection and hunting courses) A free Azure subscription connected to your developer tenant, with a Log Analytics workspace and Microsoft Sentinel enabled. Free-tier data ingestion (5GB/day) is sufficient for lab exercises. This is where you build analytics rules, run hunting queries, and configure automation playbooks.
Layer 4 — Forensic and Security Toolchain (installed into your VMs) The specific tools each course uses — KAPE, EZ Tools, Volatility 3, Sysmon, Velociraptor, Sysinternals, LiME, and others — installed into the appropriate VMs.
Which layers each course needs
| Course | Layer 1 (VMs) | Layer 2 (M365) | Layer 3 (Sentinel) | Layer 4 (Tools) |
|---|---|---|---|---|
| Practical IR | ✓ Windows | Recommended | Recommended | KAPE, EZ Tools, Volatility 3, Velociraptor |
| Practical Linux IR | ✓ Ubuntu | — | — | Volatility 3, Sleuth Kit, LiME |
| Incident Triage | ✓ Both | Recommended | Recommended | KAPE, EZ Tools, LiME |
| Endpoint Security | ✓ Windows | Recommended | Recommended | Sysmon, KAPE, Velociraptor, OSQuery |
| Detection Engineering | — | ✓ Required | ✓ Required | — |
| Threat Hunting M365 | — | ✓ Required | ✓ Required | — |
| Entra ID Security | — | ✓ Required | Recommended | — |
| Mastering KQL | — | ✓ Required | ✓ Required | — |
| Security Automation | — | ✓ Required | ✓ Required | — |
| SOC Operations | ✓ Windows | Recommended | Recommended | Sysmon |
| M365 Security Ops | — | ✓ Required | ✓ Required | — |
| Practical GRC | — | — | — | — |
| Claude Security | — | — | — | — |
Layer 1 — Local Virtual Machines
Hardware requirements
You need a machine that can run two VMs simultaneously alongside your host OS. The minimum and recommended specs:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8+ cores |
| RAM | 16 GB | 32 GB |
| Storage | 200 GB free | 500 GB free (SSD strongly recommended) |
| OS | Windows 10/11, macOS, or Linux | Any |
If you have 16GB RAM, allocate 6GB to Windows VM and 4GB to Ubuntu VM, leaving 6GB for your host. At 32GB, allocate 8GB to each VM.
Step 1: Install VMware Workstation Pro
VMware Workstation Pro is free for personal use.
- Go to broadcom.com/products/desktop-hypervisors/workstation-and-fusion
- Download VMware Workstation Pro for your host OS (Windows or Linux) or VMware Fusion Pro for macOS
- Install with default settings
- Accept the license agreement — select “Personal Use”
Alternative: VirtualBox. If you prefer VirtualBox, everything in this guide works identically. Replace “VMware” with “VirtualBox” and “VMDK” with “VDI” in all instructions. VirtualBox is also free: virtualbox.org.
Step 2: Download Windows 11 evaluation VM
Microsoft provides a free 90-day evaluation VM for Windows 11 Enterprise.
- Go to microsoft.com/en-us/evalcenter/evaluate-windows-11-enterprise
- Select VMware (or VirtualBox if using that)
- Download the ZIP file (~20GB)
- Extract the ZIP — this produces a ready-to-use VM image
- Open the VM in VMware Workstation (File → Open)
- When prompted, select “I Copied It”
- Start the VM and complete Windows setup
VM settings to configure:
| Setting | Value |
|---|---|
| RAM | 6–8 GB |
| CPUs | 2–4 cores |
| Disk | 80 GB minimum (expand the existing disk if needed) |
| Network | NAT (default — provides internet access through your host) |
| Snapshots | Take a clean snapshot after setup — name it “Clean Install” |
After Windows boots:
| |
The 90-day evaluation resets to a 10-day grace period after expiry. You can rearm it once with slmgr /rearm for another 90 days. After that, rebuild from the clean snapshot.
Step 3: Download and configure Ubuntu Desktop VM
- Go to ubuntu.com/download/desktop
- Download Ubuntu 24.04 LTS (or latest LTS) ISO
- In VMware Workstation: File → New Virtual Machine → Typical
- Select the Ubuntu ISO as the installer disc image
- Configure: 4–8 GB RAM, 2–4 CPUs, 60 GB disk
- Complete the Ubuntu installation wizard (create user, set password, set timezone)
After Ubuntu installs:
| |
Step 4: Configure networking between VMs
Both VMs should use NAT networking (the default). This gives each VM internet access through your host and allows them to communicate with each other on the same NAT subnet.
Verify connectivity:
| |
| |
If you need isolated networking (no internet, VMs talk only to each other), create a Host-Only network in VMware: Edit → Virtual Network Editor → Add Network → Host-Only.
Layer 2 — M365 E5 Developer Tenant
The M365 developer tenant gives you 25 E5 licenses for free. E5 includes Defender for Endpoint P2, Defender for Office 365 P2, Defender for Identity, Defender for Cloud Apps, Entra ID P2, and all the security features the courses use.
Step 1: Join the Microsoft 365 Developer Program
- Go to developer.microsoft.com/en-us/microsoft-365/dev-program
- Sign in with a Microsoft account (create one if needed — use a personal email, not a work account)
- Click “Join now” and complete the profile
- Select “Instant sandbox” when offered the choice — this creates a pre-configured tenant with sample users and data
- Note your admin credentials:
admin@<your-domain>.onmicrosoft.com
The sandbox includes 16 sample users with realistic display names, mail, calendar data, and Teams activity. These users populate the sign-in logs, audit logs, and mailbox data that the courses use.
Important: The developer tenant renews automatically as long as you use it for development activity. Running KQL queries, configuring policies, and signing into the portal all count as activity. If you do not use it for 90 days, it expires. Use it regularly.
Step 2: Configure the tenant for security labs
Sign into security.microsoft.com with your admin account.
Enable Defender for Endpoint:
- Go to Settings → Endpoints → Advanced features
- Enable: Automated Investigation, Live Response, Live Response for Servers, Live Response unsigned script execution
- Enable: Allow or block file, Network protection, Web content filtering, Device discovery
Enable audit logging:
- Go to compliance.microsoft.com → Audit
- If prompted, click “Start recording user and admin activity”
- Audit logging takes up to 24 hours to start generating events
Load sample data (if not using instant sandbox):
- In the Developer Program dashboard, click “Install sample data packs”
- Install: Users, Mail and Events, SharePoint
Onboard your Windows VM to MDE (optional but recommended for ES course):
- In security.microsoft.com → Settings → Endpoints → Onboarding
- Select “Local Script” as the deployment method
- Download the onboarding package
- Copy the script to your Windows VM
- Run PowerShell as Administrator and execute the script
- Verify: the device appears in Device Inventory within 5–30 minutes
Layer 3 — Azure Subscription with Sentinel
Step 1: Activate Azure free subscription
- Go to azure.microsoft.com/en-us/free
- Sign in with the same Microsoft account you used for the developer tenant
- Complete the sign-up (requires a credit card for verification — you will not be charged within the free tier)
- You get $200 credit for 30 days plus 12 months of free services
Step 2: Create a Log Analytics workspace
Azure Portal → Create a resource → search "Log Analytics workspace"
→ Create
→ Resource group: Create new → "rg-security-lab"
→ Name: "law-security-lab"
→ Region: UK South (or your nearest region)
→ Review + Create → Create
Step 3: Enable Microsoft Sentinel
Azure Portal → search "Microsoft Sentinel"
→ Create → Select "law-security-lab" workspace
→ Add
Step 4: Connect data sources
In Sentinel → Data connectors:
- Microsoft 365 Defender — Connect. This brings in MDE alerts, MDO alerts, and Defender XDR incidents
- Microsoft Entra ID — Connect. Enable: Sign-in logs, Audit logs, Non-interactive sign-in logs, Service principal sign-in logs, Managed identity sign-in logs, Provisioning logs
- Microsoft 365 — Connect. Enable: Exchange, SharePoint, Teams
Each connector takes 5–15 minutes to start ingesting data. After 24 hours you will have sign-in logs, audit events, and mailbox activity from your sample users flowing into Sentinel.
Step 5: Verify data ingestion
Open Sentinel → Logs (or go directly to the Log Analytics workspace → Logs) and run:
| |
If this returns results, your Entra ID connector is working. If it returns nothing, wait 24 hours for the initial ingestion to complete.
For Defender events:
| |
Free tier limits: The Log Analytics workspace includes 5GB/day free ingestion for the first 31 days, then moves to pay-as-you-go. A developer tenant with 16 sample users generates approximately 50–200MB/day — well within the free tier permanently. Monitor your ingestion with:
| |
Layer 4 — Forensic and Security Toolchain
Install tools into the appropriate VM based on which courses you are taking.
Windows VM tools
KAPE (Kroll Artifact Parser and Extractor) Used in: Practical IR, Incident Triage, Endpoint Security
- Go to kroll.com/en/services/cyber-risk/kape and request the download (free, requires registration)
- Extract to
C:\Tools\KAPE\ - Verify:
C:\Tools\KAPE\kape.exe --help
Eric Zimmerman Tools Used in: Practical IR, Incident Triage
- Go to ericzimmerman.github.io
- Download the “Get-ZimmermanTools” PowerShell script
- Run:
.\Get-ZimmermanTools.ps1 -Dest C:\Tools\EZTools - This downloads all tools: EvtxECmd, RECmd, PECmd, MFTECmd, AmcacheParser, ShellBags Explorer, Timeline Explorer, and more
Sysmon Used in: Endpoint Security, SOC Operations
- Download from learn.microsoft.com/en-us/sysinternals/downloads/sysmon
- Extract to
C:\Tools\Sysmon\ - Download the SwiftOnSecurity config: github.com/SwiftOnSecurity/sysmon-config
- Install:
sysmon64.exe -accepteula -i sysmonconfig-export.xml - Verify:
Get-Service Sysmon64should show Running
For the Endpoint Security course, use the NE-tuned Sysmon config from the lab pack instead of the default SwiftOnSecurity config.
Sysinternals Suite Used in: Practical IR, Incident Triage, Endpoint Security
- Download from learn.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
- Extract to
C:\Tools\Sysinternals\ - Add to PATH:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Tools\Sysinternals", "Machine")
Velociraptor Used in: Practical IR, Incident Triage, Endpoint Security
- Go to github.com/Velocidex/velociraptor/releases
- Download the Windows MSI installer
- Run the MSI — installs as a service
- Access the web UI at
https://localhost:8889(default)
WinPMem (memory acquisition) Used in: Practical IR, Incident Triage
- Go to github.com/Velocidex/WinPmem/releases
- Download
winpmem_mini_x64.exe - Save to
C:\Tools\Memory\ - Acquire memory:
winpmem_mini_x64.exe memdump.raw(run as Administrator)
Volatility 3 Used in: Practical IR, Incident Triage
| |
OSQuery Used in: Endpoint Security
- Go to osquery.io/downloads
- Download the Windows MSI
- Install — the service starts automatically
- Interactive mode:
osqueryi.exe
Ubuntu VM tools
Volatility 3 Used in: Practical Linux IR
| |
Sleuth Kit Used in: Practical Linux IR
| |
LiME (Linux Memory Extractor) Used in: Practical Linux IR, Incident Triage
| |
Sysmon for Linux Used in: Endpoint Security (ES13)
| |
Velociraptor Used in: Practical Linux IR, Incident Triage
| |
Log analysis tools (already installed on most Ubuntu systems)
| |
Post-Setup Checklist
Run through this checklist to confirm everything is ready:
Layer 1 — VMs
- VMware Workstation Pro installed and running
- Windows 11 VM boots successfully
- Ubuntu VM boots successfully
- Both VMs have internet access (ping google.com)
- Both VMs can reach each other (ping by IP)
- Clean snapshots taken on both VMs
Layer 2 — M365 Tenant
- Developer tenant created with admin credentials saved
- Sample users visible in Entra ID
- Can sign into security.microsoft.com
- Defender for Endpoint advanced features enabled
- Audit logging enabled
Layer 3 — Sentinel
- Azure subscription active
- Log Analytics workspace created
- Sentinel enabled on workspace
- Data connectors configured (M365 Defender, Entra ID, M365)
- SigninLogs returning data in Logs query
Layer 4 — Tools (Windows)
- KAPE extracted and runnable
- EZ Tools downloaded (Timeline Explorer, EvtxECmd, etc.)
- Sysmon installed and running
- Sysinternals available in PATH
- Velociraptor installed (if needed)
- Volatility 3 installed (if needed)
- WinPMem available (if needed)
Layer 4 — Tools (Ubuntu)
- Volatility 3 installed in venv (if needed)
- Sleuth Kit installed (if needed)
- LiME compiled (if needed)
Maintenance
Windows VM evaluation expiry: The 90-day evaluation expires. Options: revert to clean snapshot and repeat setup, rearm with slmgr /rearm (once), or rebuild. Reverting to snapshot is fastest.
M365 developer tenant renewal: The tenant auto-renews if you use it. Sign in and run a query at least once every 60 days.
Azure free credits: The $200 credit expires after 30 days. After that, you are on pay-as-you-go. Your lab usage (16 sample users, minimal ingestion) costs less than $5/month and often falls within the permanent free tier.
Tool updates: Check for KAPE, EZ Tools, Sysmon, and Velociraptor updates quarterly. Eric Zimmerman publishes tool updates frequently — re-run Get-ZimmermanTools.ps1 to get the latest versions.
Snapshots: Take snapshots before installing major tools or making configuration changes. Name them descriptively: “Post-Sysmon-Install,” “Pre-Lab-Exercise-3.” Snapshots are your undo button.
What to do next
Your lab is ready. Pick your starting course:
New to security operations? Start with Mastering KQL — the KQL skills transfer to every other course.
SOC analyst building detection capability? Start with Detection Engineering — build your first production detection rules.
Investigating incidents? Start with Practical IR — follow the adversary across the hybrid stack.
Engineering the endpoint stack? Start with Endpoint Security Engineering — build the foundation everything else depends on.
First responder handling alerts? Start with Incident Triage — the first 60 minutes of every incident.
Every course’s free modules (Module 0 and Module 1) are accessible without an account. Start reading now.