Mahesh Harripaul
Home Experience Blog Services Contact

Detection engineering — field notes

Building a Wazuh SIEM detection lab from scratch — agent setup, log pipeline, custom correlation rules, Sysmon enrichment, CI/CD deployment, and attack simulation. Documented session by session.

WazuhAWSAgent setup

Post 01

Setting Up the Environment: Agent Installation and First Connection

Installing the Windows agent, configuring Security Group ports, resolving the TCP/UDP connection issue, and understanding what the agent starts doing immediately on connect.

June 3, 2026

WazuhLog pipelineDecoder

Post 02

Understanding the Log Pipeline: From Raw Event to Alert

How a raw Windows Event XML blob becomes a decoded, structured alert. The four stages, key field names, DQL search syntax, and the gap correlation rules are built to fill.

June 3, 2026

Correlation rulesMITRE T1110Detection engineering

Post 03

Writing the First Correlation Rules: Brute Force Detection

The rule writing workflow, parent-child rule structure, same_field vs same_srcuser, and why the data. prefix in dashboard fields doesn't exist in rule XML.

June 3–5, 2026

Attack chainMITRE T1110.001Level 13

Post 04

Building a Multi-Stage Attack Chain: Breach Confirmation

Chaining brute force detection with successful login confirmation into a level 13 critical alert. LogonType values, regex anchors, and the first-match-wins rule ordering problem.

June 5, 2026

SysmonT1105PowerShell detection

Post 05

Installing Sysmon: Enriching Endpoint Telemetry

Why Sysmon changes everything, SwiftOnSecurity config, Wazuh agent configuration, the group tag naming inconsistency, and writing the first pcre2 PowerShell download detection rule.

June 5–6, 2026

GitHub ActionsCI/CDRules as code

Post 06

CI/CD Pipeline: Managing Detection Rules as Code

Moving from manual SSH deploys to a Git-based workflow. GitHub Actions pipeline, SCP + SSH deploy, secrets management, and deploying rule updates in under 60 seconds.

June 8, 2026

Gap analysisT1110.003Password spraying

Post 07

Gap Analysis: Finding What Wazuh Doesn't Cover by Default

Mapping default MITRE coverage, Atomic Red Team for attack simulation, and writing password spray detection using different_srcuser to distinguish spraying from brute force.

June 11, 2026

SysmonT1219AnyDesk

Post 08

Remote Access Tool Detection: T1219 AnyDesk

Three-rule escalating detection for AnyDesk — downloaded, executed, and confirmed deployment. Group tag as accumulator pattern, Event ID 11 group tag mismatch, and the diagnostic approach.

June 12, 2026

SysmonT1129DLL detectionAlert tuning

Post 09

Shared Module Detection: T1129 and Tuning in Practice

Enabling Sysmon Event ID 7 for DLL load monitoring, writing location and signature-based detection rules, fixing a Windows Calculator false positive with negate, and what tuning actually looks like.

June 14, 2026