Skip to content

About

A hands-on 4-VM SOC lab using Wazuh, Suricata, Snort, Nmap, Kali Linux, Ubuntu Server, and Windows 10 for security monitoring and Nmap SYN-scan detection.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ ADVANCED SOC LAB

Wazuh β€’ Suricata β€’ Snort β€’ Kali Linux β€’ Windows

A hands-on 4-VM Security Operations Center laboratory for students and cybersecurity learners to understand SIEM, network intrusion detection, attack simulation, alert forwarding, and security event investigation.


πŸ“Œ Project Overview

A Security Operations Center (SOC) brings together security monitoring, detection, investigation, and response capabilities.

This project demonstrates how a small SOC environment can be built using open-source security technologies inside VirtualBox.

The lab consists of four virtual machines:

  • πŸ›‘οΈ Wazuh SIEM β€” centralized security monitoring and alert management
  • πŸ” Ubuntu Sensor β€” network monitoring using Suricata and Snort
  • πŸ–₯️ Windows 10 β€” monitored endpoint
  • βš”οΈ Kali Linux β€” attacker and security testing machine

The main detection scenario in this lab is an Nmap TCP SYN scan launched from Kali Linux against the Windows endpoint.

The traffic is detected by a custom Snort rule, forwarded through the Wazuh Agent, and processed by a custom Wazuh rule that generates a Level 7 security alert.


🎯 Learning Objectives

By completing this lab, you will learn how to:

  • Build a small SOC environment using virtual machines
  • Configure an isolated VirtualBox network
  • Deploy Wazuh as a SIEM
  • Configure Suricata for network monitoring
  • Configure Snort as a network intrusion detection system
  • Deploy and configure Wazuh Agents
  • Monitor a Windows endpoint
  • Perform controlled network reconnaissance using Nmap
  • Create a custom Snort detection rule
  • Forward IDS events to Wazuh
  • Create a custom Wazuh detection rule
  • Understand how security events move from a sensor to a SIEM
  • Investigate a network reconnaissance event from a SOC analyst perspective

πŸ—οΈ Lab Architecture

The lab uses four virtual machines connected through an isolated VirtualBox Internal Network.

                         βš”οΈ ATTACKER
                         Kali Linux
                       192.168.56.12
                              β”‚
                              β”‚
                         Nmap SYN Scan
                              β”‚
                              β–Ό
                       πŸ–₯️ WINDOWS
                       Windows 10
                     192.168.56.13
                              β”‚
                              β”‚ Network Traffic
                              β–Ό
                     πŸ” UBUNTU SENSOR
                      192.168.56.11
                              β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚                         β”‚
                 β–Ό                         β–Ό
            πŸ”Ž SURICATA                🚨 SNORT
          Network Telemetry       Custom Detection Rule
                 β”‚                    SID 1000001
                 β”‚                         β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                         Wazuh Agent
                              β”‚
                              β–Ό
                      πŸ›‘οΈ WAZUH SIEM
                      192.168.56.10
                              β”‚
                              β”‚ Custom Rule 100100
                              β–Ό
                         🚨 LEVEL 7
                  Custom Nmap TCP SYN
                       Scan Detected

πŸ–₯️ Virtual Machine Configuration

VM Role Operating System IP Address
VM1 πŸ›‘οΈ SIEM Ubuntu Server 24.04 192.168.56.10
VM2 πŸ” Sensor Ubuntu Server 24.04 192.168.56.11
VM3 πŸ–₯️ Victim Windows 10 192.168.56.13
VM4 βš”οΈ Attacker Kali Linux 192.168.56.12

Component Distribution

Component VM
Wazuh Manager SIEM
Wazuh Indexer SIEM
Wazuh Dashboard SIEM
Wazuh Agent Sensor
Wazuh Agent Windows
Suricata Sensor
Snort Sensor
Nmap Kali
Windows OpenSSH Windows

🌐 Network Configuration

Each virtual machine uses two network adapters.

Adapter Type Purpose
Adapter 1 Internal Network Isolated SOC lab traffic
Adapter 2 NAT Internet access for updates and package installation

The Internal Network used by the lab is:

soclab

All four VMs must use the same Internal Network name.

IP Address Plan

192.168.56.10  β†’  Wazuh SIEM
192.168.56.11  β†’  Sensor
192.168.56.12  β†’  Kali Attacker
192.168.56.13  β†’  Windows Victim

⚠️ These IP addresses belong to the isolated lab network. Do not expose the lab directly to an untrusted network.


πŸ”„ Detection Pipeline

The most important concept in this project is understanding how an attack becomes a SIEM alert.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Kali Linux    β”‚
β”‚ 192.168.56.12 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β”‚ Nmap SYN Scan
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Windows 10    β”‚
β”‚ 192.168.56.13 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β”‚ Network Traffic
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Ubuntu Sensor          β”‚
β”‚ 192.168.56.11          β”‚
β”‚                        β”‚
β”‚ Suricata + Snort       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β”‚ Snort Event
            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Wazuh Agent            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Wazuh Manager          β”‚
β”‚ 192.168.56.10          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β”‚ Rule 100100
            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Level 7 Alert          β”‚
β”‚                        β”‚
β”‚ Custom Nmap TCP SYN    β”‚
β”‚ Scan Detected          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

In simple terms

Attack β†’ Detect β†’ Collect β†’ Analyze β†’ Investigate

This is one of the most important SOC concepts demonstrated by this project.


🧰 Technologies Used

Technology Purpose
πŸ›‘οΈ Wazuh SIEM and security event management
πŸ”Ž Suricata Network threat detection and telemetry
🚨 Snort Network intrusion detection
βš”οΈ Kali Linux Security testing and attack simulation
πŸ–₯️ Windows 10 Monitored endpoint
πŸ“¦ VirtualBox Virtualization platform
πŸ” Nmap Network reconnaissance
🐧 Ubuntu Server 24.04 SIEM and Sensor operating system

Additional tools used during the lab

Tool Purpose
systemctl Manage and inspect system services
journalctl Read system logs
tail Follow and inspect log files
grep Search inside logs
ssh Remote access to lab VMs
ip / ifconfig Inspect network interfaces and IP addresses
dpkg / apt Manage packages on Ubuntu
sudo Run administrative commands
wazuh-analysisd Validate the Wazuh analysis/rule configuration
wazuh-logtest Test Wazuh decoders and rules offline

🧰 Languages, Syntax & Technologies

This is primarily a cybersecurity lab and documentation project rather than a traditional software application. It is not built with a single programming language β€” instead, it brings together scripting skills, detection-rule syntax, configuration formats, and security platforms.

πŸ’» Languages & Syntax

Category Language / Syntax Used in this lab
πŸ’» Scripting Bash / Shell Linux administration, service management, log inspection, and Wazuh, Suricata, Snort and Nmap commands
🚦 Detection Rules Snort Rule Syntax Custom network detection rule for the Nmap TCP SYN scan
πŸ“ Configuration XML Custom Wazuh detection rule configuration
🧾 Data Formats JSON Suricata EVE JSON network telemetry and Wazuh alert data
πŸ–₯️ Scripting PowerShell / Windows command-line Windows administration and testing where applicable
πŸ“š Documentation Markdown Project documentation

πŸ›‘οΈ Security Tools & Platforms

Tool / Platform Version Role in the lab
πŸ›‘οΈ Wazuh 4.9.2 Centralized SIEM monitoring and alert management
πŸ”Ž Suricata 7.0.3 Network monitoring and EVE JSON telemetry
🚨 Snort 2.9.20 Network intrusion detection with custom rules
πŸ” Nmap β€” Network reconnaissance / TCP SYN scan
βš”οΈ Kali Linux β€” Attack simulation and security testing
🐧 Ubuntu Server 24.04 Operating system for the SIEM and Sensor VMs
πŸ–₯️ Windows 10 β€” Monitored endpoint (Victim)
πŸ“¦ VirtualBox β€” Virtualization platform for the lab

πŸ“‹ Prerequisites

Before starting the lab, make sure your host system has:

  • VirtualBox installed
  • Hardware virtualization enabled
  • At least 16 GB RAM recommended
  • Sufficient free disk space for four virtual machines
  • Ubuntu Server ISO
  • Windows 10 ISO
  • Kali Linux VirtualBox image

Recommended VM resources

VM RAM vCPU
Wazuh SIEM 4 GB+ 2
Sensor 2–4 GB 2
Windows 10 2–4 GB 2
Kali Linux 2–4 GB 2

πŸ’‘ Resource requirements may vary depending on the host system and the number of services running simultaneously.


πŸš€ LAB SETUP

1️⃣ Create the VirtualBox Network

Open:

VirtualBox β†’ Tools / Network β†’ Internal Network

Use:

soclab

Configure Adapter 1 on every VM as:

Attached to: Internal Network
Name: soclab

Configure Adapter 2 as:

Attached to: NAT

The Internal Network is used for SOC traffic, while NAT provides internet connectivity for updates and package installation.


2️⃣ Create the Four Virtual Machines

Create the following machines:

VM1 β€” SIEM

OS: Ubuntu Server 24.04
IP: 192.168.56.10
Role: Wazuh Manager / Indexer / Dashboard

VM2 β€” Sensor

OS: Ubuntu Server 24.04
IP: 192.168.56.11
Role: Suricata / Snort / Wazuh Agent

VM3 β€” Victim

OS: Windows 10
IP: 192.168.56.13
Role: Monitored endpoint

VM4 β€” Attacker

OS: Kali Linux
IP: 192.168.56.12
Role: Attack simulation

3️⃣ Configure Static IP Addresses

Linux VMs

Check the available interfaces:

ip a

Identify the interface connected to the Internal Network.

For this lab, the internal interface used by the Ubuntu Sensor is:

enp0s3

Configure the appropriate static address using Netplan.

Example:

network:
  version: 2
  ethernets:
    enp0s3:
      addresses:
        - 192.168.56.11/24

Apply the configuration:

sudo netplan apply

⚠️ Interface names can differ between systems. Always verify with ip a before editing Netplan.

Windows

Configure the Windows Internal Network adapter with:

IP Address:      192.168.56.13
Subnet Mask:     255.255.255.0

Verify connectivity

From Kali:

ping 192.168.56.13

From the Sensor:

ping 192.168.56.10

The machines should be able to communicate through the isolated SOC network.


4️⃣ Install and Configure Wazuh

The SIEM machine runs:

  • Wazuh Manager
  • Wazuh Indexer
  • Wazuh Dashboard
  • Filebeat

The completed lab uses:

Wazuh Version: 4.9.2
SIEM IP: 192.168.56.10

After installation, access the dashboard through the Wazuh Dashboard address configured on the SIEM.

πŸ” Never publish your Wazuh administrator password or other credentials in this repository.


5️⃣ Configure the Ubuntu Sensor

The Sensor machine runs three important security components:

Suricata
Snort
Wazuh Agent

Its role is to observe network traffic, generate security events, and forward those events to the Wazuh Manager.


πŸ”Ž 5.1 Suricata

Suricata is used for network security monitoring and generates structured JSON events.

The main EVE JSON log is:

/var/log/suricata/eve.json

Check the log:

sudo tail -n 5 /var/log/suricata/eve.json

Follow new events:

sudo tail -f /var/log/suricata/eve.json

The completed lab uses:

Suricata 7.0.3
Interface: enp0s3

Verified during the lab

  • Suricata 7.0.3 was installed and the service was active during testing.
  • The installation loaded approximately 52,658 rules.
  • Suricata monitored the internal interface using AF_PACKET on enp0s3.
  • The EVE JSON statistics showed active packet processing with kernel_drops: 0, indicating no packets were dropped by the kernel during monitoring.

These observations confirm that Suricata was operating and generating structured network telemetry. They do not, by themselves, prove that a security intrusion was detected.

Important distinction

Suricata can generate different types of events.

For example:

"event_type": "flow"

represents network-flow telemetry.

A flow event should not automatically be described as a security alert. This distinction is useful when learning how IDS telemetry works.


🚨 5.2 Snort

Snort is used as an additional network intrusion detection system.

The Sensor uses:

Snort 2.9.20

Configuration used by the lab

Configuration file:  /etc/snort/snort.conf
Internal network:    192.168.56.0/24
Interface:           enp0s3
Alert log:           /var/log/snort/snort.alert.fast

Validate the configuration:

sudo snort -T -c /etc/snort/snort.conf

The readable fast alert log is:

/var/log/snort/snort.alert.fast

Check recent alerts:

sudo tail -n 20 /var/log/snort/snort.alert.fast

🧩 5.3 Custom Snort Detection Rule

To specifically detect the TCP SYN activity generated by the Kali machine, a custom Snort rule was created.

alert tcp 192.168.56.12 any -> 192.168.56.13 any (
    flags:S;
    msg:"CUSTOM NMAP TCP SYN SCAN";
    detection_filter:track by_src,count 10,seconds 5;
    sid:1000001;
    rev:1;
)

Rule Breakdown

Parameter Meaning
tcp Monitor TCP traffic
192.168.56.12 Kali attacker
192.168.56.13 Windows target
flags:S Match TCP SYN packets
count 10 Require 10 matching packets
seconds 5 Within a 5-second window
sid:1000001 Custom Snort signature
rev:1 Rule revision

The custom Snort event is identified as:

1:1000001:1

πŸ“‘ 6️⃣ Configure the Wazuh Agent on the Sensor

The Wazuh Agent on the Sensor collects security events from the IDS tools and forwards them to the Wazuh Manager.

The relevant logs include:

/var/log/suricata/eve.json
/var/log/snort/snort.alert.fast

The Sensor's Wazuh Agent is configured to monitor these logs.

Check the agent:

sudo systemctl status wazuh-agent

Test connectivity to the Wazuh Manager:

nc -zv 192.168.56.10 1514

A successful connection indicates that the Sensor can communicate with the Wazuh Manager.


πŸ–₯️ 7️⃣ Configure the Windows Endpoint

The Windows machine acts as the monitored endpoint.

IP: 192.168.56.13
OS: Windows 10

Install the Wazuh Agent and configure it to communicate with:

192.168.56.10

The Windows Agent monitors Windows security events and forwards relevant events to the Wazuh Manager.


πŸ§ͺ DETECTION LAB

βš”οΈ 8️⃣ Perform an Nmap SYN Scan

From the Kali attacker machine:

sudo nmap -sS 192.168.56.13

The -sS option performs a TCP SYN scan.

The purpose of this test is to generate controlled reconnaissance traffic against the Windows endpoint inside the isolated lab.

Example result

The completed test identified the Windows host as reachable and discovered an SSH service on:

22/tcp

πŸ” 9️⃣ Observe the Sensor

While the scan is running, observe the Sensor.

Suricata

sudo tail -f /var/log/suricata/eve.json

Snort

sudo tail -f /var/log/snort/snort.alert.fast

The Snort custom rule should begin generating events when the configured detection threshold is reached.


🚨 πŸ”Ÿ Snort Detects the Scan

The custom Snort signature:

1:1000001:1

generates an event containing:

CUSTOM NMAP TCP SYN SCAN

The event identifies the traffic between:

Source:      192.168.56.12
Destination: 192.168.56.13

The Wazuh Agent then collects this event from the Snort log.


πŸ“‘ 1️⃣1️⃣ Snort Event Reaches Wazuh

The event is forwarded through the following path:

Snort
   ↓
/var/log/snort/snort.alert.fast
   ↓
Wazuh Agent
   ↓
Wazuh Manager
   ↓
Wazuh Analysis Engine
   ↓
Wazuh Dashboard

This demonstrates an important SOC concept:

An IDS detects the activity, while the SIEM provides centralized collection, analysis, and investigation.


🧠 1️⃣2️⃣ Custom Wazuh Detection Rule

After confirming that the Snort event was reaching Wazuh, a custom Wazuh rule was created to identify the specific Snort signature.

<rule id="100100" level="7">
    <if_sid>20100</if_sid>
    <id>^1:1000001:1$</id>
    <decoded_as>snort</decoded_as>
    <description>Custom Nmap TCP SYN Scan Detected</description>
    <group>network_scan,nmap,</group>
</rule>

Rule Logic

Snort SID
1:1000001:1
      β”‚
      β–Ό
Wazuh receives Snort event
      β”‚
      β–Ό
Rule 100100 matches
      β”‚
      β–Ό
Level 7
      β”‚
      β–Ό
Custom Nmap TCP SYN Scan Detected

Rule Components

Field Value
Wazuh Rule ID 100100
Alert Level 7
Decoder snort
Snort Signature 1:1000001:1
Description Custom Nmap TCP SYN Scan Detected
Groups network_scan, nmap

🎯 1️⃣3️⃣ Detection Result

The completed test demonstrated the following end-to-end pipeline:

Kali Linux
192.168.56.12
      β”‚
      β”‚ Nmap SYN Scan
      β–Ό
Windows 10
192.168.56.13
      β”‚
      β”‚ Network Traffic
      β–Ό
Snort
      β”‚
      β”‚ 1:1000001:1
      β–Ό
Wazuh Agent
      β”‚
      β–Ό
Wazuh Manager
192.168.56.10
      β”‚
      β”‚ Rule 100100
      β–Ό
Level 7 Alert
      β”‚
      β–Ό
Custom Nmap TCP SYN Scan Detected

This confirms that the lab is not simply generating network traffic; the activity can travel through the complete detection and monitoring pipeline.


πŸ”Ž Investigation

When investigating a security event, a SOC analyst should ask:

1. What happened?

A TCP SYN scanning activity was generated against the Windows endpoint.

2. Where did it originate?

192.168.56.12

The source was the Kali Linux attacker machine.

3. What was targeted?

192.168.56.13

The target was the Windows endpoint.

4. Which security tool detected it?

The custom Snort signature detected the TCP SYN activity.

5. How did Wazuh process it?

The Wazuh Agent collected the Snort event and forwarded it to the Wazuh Manager, where the custom Wazuh rule identified the event.

6. What was the final classification?

Rule: 100100
Level: 7
Description: Custom Nmap TCP SYN Scan Detected

πŸ“Έ Lab Evidence

The following screenshots document important stages of the completed lab.

Note: The screenshots are evidence of specific stages of the lab. They are not intended to represent every configuration step.

πŸ–₯️ 1. Four-VM Lab Environment

The VirtualBox environment shows the four machines used by the SOC lab.

Machines:

Kali Linux
Windows 10
Ubuntu SIEM
Ubuntu Sensor

VirtualBox showing the four SOC lab VMs


πŸ›‘οΈ 2. Wazuh Agents

The Wazuh Dashboard shows the Sensor and Windows endpoint connected as active agents.

Wazuh Dashboard showing connected agents


πŸ” 3. Suricata Telemetry

The Sensor displays structured Suricata telemetry from:

/var/log/suricata/eve.json

Suricata EVE JSON telemetry on the Sensor

Important: The displayed event is a Suricata flow event showing network telemetry from Kali Linux (192.168.56.12) toward the SIEM (192.168.56.10). It should be understood as network telemetry / EVE JSON evidence rather than automatically being described as a Suricata security alert.


βš”οΈ 4. Nmap SYN Scan

The Kali machine performs the controlled reconnaissance test:

sudo nmap -sS 192.168.56.13

Nmap TCP SYN scan from Kali Linux


🚨 5. Snort Event in Wazuh

The Wazuh Dashboard displays the Snort-generated event containing the custom signature:

1:1000001:1
CUSTOM NMAP TCP SYN SCAN

Snort event visible in the Wazuh Dashboard

Note: This screenshot shows the Snort event being processed by Wazuh's generic IDS rule 20101 (Level 6). The final custom Level 7 rule 100100 was separately verified in the Wazuh alert logs.


πŸ”§ Useful Commands

Quick reference for the commands used while building and testing this lab.

Check IP configuration

ip addr
ifconfig

Manage services

sudo systemctl status wazuh-agent
sudo systemctl restart wazuh-agent

sudo systemctl status suricata
sudo systemctl status snort

Read system logs

sudo journalctl -u suricata -n 50 --no-pager
sudo journalctl -u snort -n 50 --no-pager

Monitor and search IDS logs

Follow new Suricata events:

sudo tail -f /var/log/suricata/eve.json

Show the most recent EVE JSON events:

sudo tail -n 5 /var/log/suricata/eve.json

Show recent Snort alerts:

sudo tail -n 20 /var/log/snort/snort.alert.fast

Search Snort alerts for the custom signature:

sudo grep "CUSTOM NMAP TCP SYN SCAN" /var/log/snort/snort.alert.fast

Remote access

ssh <username>@192.168.56.10

Replace <username> with the appropriate Linux username configured on the target VM.

Package management

sudo apt update
sudo apt install <package>
dpkg -l | grep suricata

Validate Snort configuration

sudo snort -T -c /etc/snort/snort.conf

Wazuh analysis and log testing

Validate the Wazuh analysis/rule configuration:

sudo /var/ossec/bin/wazuh-analysisd -t

Test Wazuh decoders and rules offline with a sample event:

sudo /var/ossec/bin/wazuh-logtest

Attack simulation

Run the Nmap TCP SYN scan from Kali Linux against the Windows endpoint:

sudo nmap -sS 192.168.56.13

🧩 Troubleshooting

Problem Possible Solution
VMs cannot communicate Verify that all VMs use the same Internal Network name
No internet inside VM Check that Adapter 2 is configured as NAT
Wazuh Agent disconnected Restart the Wazuh Agent service
No Snort alerts Verify the Snort interface and custom rule
No Suricata events Verify the Suricata interface and EVE JSON configuration
No Wazuh IDS events Verify that the Wazuh Agent can reach 192.168.56.10:1514
Incorrect network interface Run ip a and verify the Internal Network interface
Wazuh rule not loading Validate the Wazuh rule configuration before restarting the service

πŸ“š What I Learned

Building this lab helped demonstrate that a SOC is not simply a dashboard displaying alerts.

The complete workflow is:

Generate
   ↓
Detect
   ↓
Collect
   ↓
Analyze
   ↓
Investigate

The project provided practical experience with:

  • SIEM architecture
  • Network intrusion detection
  • Network reconnaissance
  • Security event collection
  • IDS-to-SIEM integration
  • Custom detection rules
  • Log analysis
  • Source and destination investigation
  • Windows endpoint monitoring
  • SOC investigation methodology

One of the most important lessons was understanding the difference between the tools:

Suricata / Snort
        ↓
   Detect network activity

Wazuh Agent
        ↓
   Collect and forward events

Wazuh Manager
        ↓
   Analyze and classify events

Wazuh Dashboard
        ↓
   Investigate and visualize events

πŸš€ Future Improvements

This lab can be expanded with additional SOC capabilities.

Possible improvements include:

  • πŸ”Ž Add MITRE ATT&CK mapping
  • πŸ›‘οΈ Add additional Wazuh detection rules
  • πŸͺŸ Add Sysmon for richer Windows telemetry
  • πŸ•΅οΈ Add TheHive for incident management
  • 🌐 Add a vulnerable web application for web attack detection
  • 🚨 Create additional Snort and Suricata rules
  • ⚑ Experiment with automated response
  • πŸ–₯️ Add additional monitored endpoints
  • ☁️ Explore cloud-based SOC architectures
  • πŸ€– Automate parts of the lab deployment

πŸ“ Medium Article

A detailed write-up of this project is also available on Medium.

πŸ“– Read the project article

I Built a 4-VM SOC Lab to Detect an Nmap SYN Scan with Wazuh, Suricata and Snort

πŸ‘‰ https://medium.com/@libinvarghese412/i-built-a-4-vm-soc-lab-to-detect-an-nmap-syn-scan-with-wazuh-suricata-and-snort-12d8ebd1b35d?postPublishedType=initial


⚠️ Disclaimer

This project is intended strictly for educational purposes and authorized security testing.

The attack simulations demonstrated in this repository should only be performed against:

  • Systems you own
  • Isolated laboratory environments
  • Systems for which you have explicit authorization to test

Never use these techniques against systems or networks without permission.


πŸ“œ License

This project is released under the MIT License.

See the LICENSE file for details.


πŸ›‘οΈ Build β€’ Attack β€’ Detect β€’ Investigate

Advanced SOC Lab

About

A hands-on 4-VM SOC lab using Wazuh, Suricata, Snort, Nmap, Kali Linux, Ubuntu Server, and Windows 10 for security monitoring and Nmap SYN-scan detection.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors