Skip to content

Repository files navigation

πŸ”’ Enterprise SOC Home Lab

SIEM Deployment, Threat Detection & Incident Response using Wazuh

Built for the NIS2 era β€” from architecture to automated threat intelligence.


πŸ“‹ Table of Contents


🎯 Executive Summary

"I designed a SOC architecture, onboarded endpoints, simulated attacks, investigated alerts, mapped detections to MITRE ATT&CK, integrated threat intelligence, and documented incident response."

This project demonstrates the end-to-end deployment and operation of an enterprise-grade Security Operations Center (SOC) home lab using the Wazuh SIEM platform. The environment was architected to simulate real-world SOC workflows including centralized log collection, endpoint monitoring, security event analysis, threat detection, alert triage, and incident investigation.

Key Achievements:

  • πŸ—οΈ Architected and deployed a 4-component Wazuh All-in-One SIEM (Manager, Indexer, Dashboard, Filebeat)
  • πŸ“‘ Onboarded a Windows 11 endpoint with full telemetry collection
  • βš”οΈ Simulated 6 distinct attack techniques across the MITRE ATT&CK framework
  • πŸ›‘οΈ Achieved 100% detection coverage for all simulated attacks
  • πŸ”— Integrated VirusTotal API for automated threat intelligence enrichment
  • πŸ“Š Built custom dashboards for security events, MITRE mapping, and compliance monitoring

Relevance to German Market (NIS2 / BSI): This lab directly addresses requirements under NIS2 (EU Directive 2022/2555) and BSI Grundschutz, specifically Article 21 risk management controls, incident detection capabilities, and 24-hour incident reporting workflows.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Windows 11 Host (Physical)                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚              Oracle VirtualBox - Virtualized Infrastructure            β”‚  β”‚
β”‚  β”‚                                                                       β”‚  β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚
β”‚  β”‚   β”‚              Ubuntu Server 24.04 LTS (Wazuh-Server)          β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β”‚Wazuh Managerβ”‚  β”‚Wazuh Indexerβ”‚  β”‚Wazuh Dashboardβ”‚       β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β”‚  (SIEM Core)β”‚  β”‚(Log Storage)β”‚  β”‚(Visualization)β”‚       β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚    β”‚  β”‚
β”‚  β”‚   β”‚         β”‚                β”‚                                  β”‚    β”‚  β”‚
β”‚  β”‚   β”‚         └────────────────┴─── Filebeat (Log Shipping)      β”‚    β”‚  β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚
β”‚  β”‚                            β”‚ HTTPS (Port 443)                         β”‚  β”‚
β”‚  β”‚                            β–Ό                                         β”‚  β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚
β”‚  β”‚   β”‚              Windows 11 Endpoint (Monitored)                 β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β€’ Wazuh Agent (Event Collection)                            β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β€’ Windows Security Events (Auth, Process, Service)            β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β€’ File Integrity Monitoring (FIM)                           β”‚    β”‚  β”‚
β”‚  β”‚   β”‚  β€’ Sysmon Telemetry (Optional Enhancement)                   β”‚    β”‚  β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚
β”‚  β”‚                            β”‚                                         β”‚  β”‚
β”‚  β”‚                            β–Ό TCP 1514 (Encrypted)                    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                            β”‚                                                β”‚
β”‚                            β–Ό                                                β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                       β”‚
β”‚              β”‚   VirusTotal API    β”‚  ← Threat Intelligence Enrichment   β”‚
β”‚              β”‚  (Automated IOC     β”‚     (Hash lookup, File reputation)   β”‚
β”‚              β”‚   Enrichment)       β”‚                                       β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Network Topology: Bridged adapter configuration β€” the Ubuntu server appears as an independent device on the local network, mirroring enterprise deployments where endpoints communicate directly with centralized security infrastructure.

πŸ“ View Architecture Diagrams: 01-Architecture/


βš™οΈ Environment Specifications

Component Configuration
Host OS Windows 11 Pro
Hypervisor Oracle VirtualBox
SIEM OS Ubuntu Server 24.04 LTS
SIEM RAM 6 GB
SIEM vCPU 2 Cores
SIEM Storage 60 GB (Dynamically Allocated)
Endpoint OS Windows 11
Wazuh Version 4.7.5
Network Mode Bridged Adapter
Communication TCP Port 1514 (Agent ↔ Manager)

🎯 Project Objectives

  1. Deploy a centralized, open-source SIEM platform capable of enterprise-scale monitoring
  2. Configure secure, encrypted communication between endpoints and the SIEM infrastructure
  3. Collect and analyze Windows security events (Authentication, Process Creation, Service Modification, PowerShell Execution)
  4. Monitor endpoint activity in real-time from a centralized dashboard
  5. Generate actionable security alerts through controlled, ethical attack simulations
  6. Investigate detected events using structured SOC methodologies
  7. Map all detected activity to the MITRE ATT&CK framework for threat intelligence context
  8. Integrate automated threat intelligence enrichment (VirusTotal API)
  9. Document complete incident response workflows aligned with NIST SP 800-61

Phase 1: Virtualization Setup

Platform: Oracle VirtualBox was selected for its enterprise-grade isolation capabilities, support for 64-bit guest operating systems, and hardware-assisted virtualization features.

Rationale: Virtualization enables logical separation between environments, reduces infrastructure costs, and provides flexibility for future expansion (firewalls, IDS, vulnerable machines).

πŸ“ Details: 02-Wazuh-Deployment/Installation-Guide.md


Phase 2: Ubuntu Server Deployment

OS: Ubuntu Server 24.04 LTS β€” selected for stability, security, low resource consumption, and official Wazuh compatibility.

Hardening Steps:

sudo apt update && sudo apt upgrade -y
  • OpenSSH Server enabled for secure remote administration
  • Bridged network adapter for direct endpoint communication
  • Full system patching applied immediately post-deployment

πŸ“ Details: 02-Wazuh-Deployment/


Phase 3: Wazuh SIEM Deployment

Architecture: Wazuh All-in-One (AIO) β€” ideal for lab environments while maintaining full enterprise functionality.

Installation:

curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh
sudo bash wazuh-install.sh -a

Components Deployed:

Component Role Function
Wazuh Manager Core Engine Event processing, rule evaluation, alert generation, agent management
Wazuh Indexer Data Layer Log storage, indexing, fast search, historical investigation
Wazuh Dashboard Analyst Interface Alert investigation, visualization, MITRE mapping, compliance views
Filebeat Log Shipper Secure data forwarding between Manager and Indexer

Post-Deployment Verification:

sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt

πŸ“ Details & Screenshots: 02-Wazuh-Deployment/


Phase 4: Endpoint Onboarding

Agent: Wazuh Agent 4.7.5 deployed on Windows 11 endpoint.

Capabilities Enabled:

  • βœ… Security Event Collection (Windows Event Logs)
  • βœ… Process Monitoring
  • βœ… Authentication Monitoring (Failed/Successful Logons)
  • βœ… File Integrity Monitoring (FIM)
  • βœ… System Visibility (Registry, Services, Users)

Registration Process:

# On Wazuh Server
sudo /var/ossec/bin/manage_agents -a 192.168.100.32 -n Windows-Victim
sudo /var/ossec/bin/manage_agents -e 001

# On Windows Endpoint (PowerShell as Admin)
cd "C:\Program Files (x86)\ossec-agent"
.\manage_agents.exe -i <AGENT_KEY>

Configuration: Agent configured to communicate via TCP on port 1514 with encrypted traffic.

πŸ“ Details: 03-Agent-Onboarding/Windows-Agent.md


Phase 5: Attack Simulation & Detection

Objective: Validate detection capabilities by executing controlled, ethical attacks and verifying alert generation.

Attack Script: A comprehensive PowerShell script was developed to execute 6 attack techniques sequentially, each designed to trigger specific Wazuh detection rules.

Simulated Attacks

# Attack Technique Objective Detection Method
1 Brute Force Authentication Failed Login Detection 5 failed logon attempts β†’ Rule 60122
2 Malicious Service Creation Persistence Detection New Windows service β†’ Rule 61138
3 Registry Modification Persistence Detection Run key modification β†’ Windows Event Log
4 PowerShell Abuse Execution Detection -ExecutionPolicy Bypass β†’ PowerShell Logging
5 Suspicious Process Execution Process Monitoring cmd.exe /c whoami β†’ Process Creation Event
6 Suspicious File Activity File Monitoring File creation in TEMP β†’ FIM Alert

πŸ“ Attack Scripts & Documentation: 04-Attack-Simulations/


Phase 6: Incident Investigation

Methodology: All incidents were investigated using a structured SOC workflow:

  1. Detection β†’ Alert triggered in Wazuh Dashboard
  2. Triage β†’ Filter by agent.id and rule.id to isolate events
  3. Analysis β†’ Review event details, timestamps, and correlated events
  4. Mapping β†’ Align with MITRE ATT&CK techniques
  5. Recommendation β†’ Document containment and remediation actions

Incident 001 β€” Brute Force Authentication

  • Severity: Medium
  • Rule ID: 60122
  • MITRE: T1110 (Brute Force)
  • Findings: 5 failed logon attempts targeting Administrator account. No successful authentication.
  • Recommendations: Implement MFA, configure account lockout policies, monitor for lateral movement.

Incident 002 β€” Unauthorized Service Creation

  • Severity: High
  • Rule ID: 61138
  • MITRE: T1543.003 (Create or Modify System Process: Windows Service)
  • Findings: Service "MalwareService" created with binary path cmd.exe, configured for auto-start.
  • Recommendations: Implement change control, restrict service creation privileges, deploy EDR.

Incident 003 β€” PowerShell Abuse

  • Severity: Medium
  • MITRE: T1059.001 (Command and Scripting Interpreter: PowerShell)
  • Findings: PowerShell executed with bypassed execution policy. Command simulated malware execution.
  • Recommendations: Enable PowerShell script block logging, enforce Constrained Language Mode.

πŸ“ Full Investigation Reports: 05-Incident-Investigations/


Phase 7: MITRE ATT&CK Mapping

All detected alerts were automatically mapped to the MITRE ATT&CK framework, providing threat intelligence context and supporting adversary behavior analysis.

Technique ID Technique Name Tactic Detection Status
T1110 Brute Force Credential Access βœ… Detected
T1543.003 Create/Modify System Process: Windows Service Persistence βœ… Detected
T1547.001 Registry Run Keys Persistence βœ… Detected
T1059.001 PowerShell Execution βœ… Detected
T1059 Command Execution Execution βœ… Detected
T1105 Ingress Tool Transfer Command & Control βœ… Detected

Coverage Visualization: The MITRE ATT&CK dashboard in Wazuh displayed active tactics including Defense Evasion, Persistence, Privilege Escalation, Initial Access, and Impact.

πŸ“ Mapping Documentation: 08-MITRE-Mapping/ATTACK-Mapping.md


Phase 8: Threat Intelligence Integration

Integration: VirusTotal API connected to Wazuh for automated IOC enrichment.

Workflow:

  1. File Integrity Monitoring (FIM) detects a new/modified file
  2. Wazuh automatically queries VirusTotal API with the file hash
  3. Threat intelligence context (malicious/benign reputation) is appended to the alert
  4. Analysts receive enriched alerts with actionable context

Configuration:

<integration>
  <name>virustotal</name>
  <api_key>YOUR_API_KEY_HERE</api_key>
  <group>syscheck</group>
  <alert_format>json</alert_format>
</integration>

Validation: Tested with EICAR anti-malware test file β€” successfully detected and enriched.

πŸ“ Integration Guide: 07-Threat-Intelligence/VirusTotal-Integration.md


πŸ“Š Detection Coverage Matrix

MITRE ATT&CK Tactic          β”‚ Coverage β”‚ Detection Method
─────────────────────────────┼──────────┼─────────────────────────────────
Initial Access               β”‚    ⚠️    β”‚ Brute Force (T1110)
Execution                    β”‚    βœ…    β”‚ PowerShell (T1059.001), CMD (T1059)
Persistence                  β”‚    βœ…    β”‚ Service Creation (T1543.003)
                             β”‚          β”‚ Registry Run Keys (T1547.001)
Defense Evasion              β”‚    ⚠️    β”‚ Execution Policy Bypass
Credential Access            β”‚    βœ…    β”‚ Brute Force Detection (T1110)
Discovery                    β”‚    ❌    β”‚ [Planned: BloodHound, Nmap]
Lateral Movement             β”‚    ❌    β”‚ [Planned: Pass-the-Hash]
Command & Control            β”‚    βœ…    β”‚ File Activity (T1105)
Exfiltration                 β”‚    ❌    β”‚ [Planned: Data exfiltration rules]
Impact                       β”‚    ❌    β”‚ [Planned: Ransomware simulation]
─────────────────────────────┼──────────┼─────────────────────────────────
Legend: βœ… Detected β”‚ ⚠️ Partial β”‚ ❌ Not Yet Covered

Current Coverage: 6 techniques across 5 tactics. Target: 20+ techniques across all 14 tactics.


πŸ› οΈ Skills Demonstrated

πŸ”΅ SIEM Operations

  • Wazuh Administration & Configuration
  • Event Correlation & Alert Tuning
  • Log Analysis & Parsing
  • Dashboard Creation & Customization

πŸ”΅ Blue Team / SOC Analyst

  • Threat Detection & Alert Triage
  • Incident Investigation (NIST SP 800-61)
  • Threat Hunting Methodologies
  • Endpoint Telemetry Analysis

πŸ”΅ Detection Engineering

  • MITRE ATT&CK Framework Mapping
  • Detection Rule Analysis & Validation
  • False Positive Identification
  • Coverage Gap Analysis

πŸ”΅ Systems & Network Administration

  • Ubuntu Linux Server Administration
  • Windows Security Configuration
  • Virtualization (VirtualBox)
  • Network Configuration (Bridged, TCP/IP)

πŸ”΅ Threat Intelligence

  • VirusTotal API Integration
  • IOC Enrichment Workflows
  • File Integrity Monitoring
  • Automated Threat Context

πŸ”΅ Compliance & Frameworks

  • NIS2 (EU Directive 2022/2555) β€” Article 21 Risk Management
  • BSI Grundschutz β€” Baseline security controls
  • NIST SP 800-61 β€” Incident response workflows
  • MITRE ATT&CK β€” Adversary technique mapping

πŸ“Έ Screenshots & Evidence

Evidence Description
πŸ–₯️ Dashboard Login Wazuh Dashboard successfully deployed and accessible
πŸ“‘ Active Agent Windows endpoint successfully enrolled and reporting
πŸ“Š Security Events Real-time event ingestion and visualization
🎯 MITRE Dashboard ATT&CK technique mapping and coverage view
πŸ“‹ Compliance View NIST 800-53 control alignment
⚠️ Brute Force Alert Failed authentication detection with full context
πŸ”§ Service Creation Alert Malicious service detection with binary path
πŸ“„ Alert Details (JSON) Raw event data for deep investigation

πŸ“ All Screenshots: Screenshots/


πŸŽ“ Lessons Learned

  1. Detection Rule Validation: Pre-built rules are effective, but validating coverage against real attack techniques is essential. Gaps exist in lateral movement and exfiltration detection.

  2. Alert Tuning is Critical: Some alerts generated lower-fidelity events requiring manual investigation. Understanding baseline behavior is necessary for effective tuning.

  3. Correlation Multiplies Value: Individual alerts tell a story; correlating events across multiple data sources (endpoint + network + threat intel) provides the full attack narrative.

  4. Documentation is a Skill: Structured incident reports with clear timelines, evidence, and recommendations are as important as technical detection capabilities.

  5. NIS2 Readiness: German employers under NIS2 need analysts who understand 24h/72h/30d reporting flows. IR playbooks must be designed with these timelines.


πŸ‘€ Author

Alisha Sh

🎯 SOC Analyst | Detection Engineering | Threat Intelligence | NIS2 Compliance

Building defensive capabilities for the NIS2 era. Passionate about blue-team operations, detection engineering, and making security operations measurable and repeatable.


Built with πŸ’™ and caffeine. One log at a time.
⭐ If this project helped you, consider starring it!

Releases

Packages

Contributors