Cloud Security Engineering — Portfolio Project

Building an enterprise-grade
Security Operations Center (SOC)
on Microsoft Azure

A hands-on cloud security engineering portfolio by Pavankumar Khot

An 18-module, hands-on engineering project covering the full SOC lifecycle — infrastructure, telemetry engineering, detection development, threat hunting, attack simulation, RBAC, and automated response — built and documented end-to-end using Microsoft Sentinel and Defender XDR.

↗ Explore the GitHub Repository Browse All 18 Modules
18
Engineering modules
5
Attack simulations
17
MITRE ATT&CK techniques
35
Sentinel tables referenced
6
SOC lifecycle phases
01 — System Design

SOC Architecture

Telemetry flows from Windows and Linux endpoints through Data Collection Rules into a centralized Log Analytics Workspace, where Microsoft Sentinel drives detection, hunting, visualization, and automated response.

// pipeline: endpoints → ingestion → siem → response (live signal flow)
Windows Server Sysmon · Event Logs Ubuntu Server Syslog · UFW · Suricata Data Collection Rules (DCR) + DCE Log Analytics Workspace Microsoft Sentinel KQL · Analytics Rules Sigma · Workbooks Incidents / Investigation Logic Apps / Automation

02 — Methodology

Detection Engineering Pipeline

Every detection in this project is engineered, not just enabled — validated against live telemetry, tuned through investigation, and improved continuously.

Generate Activity→ Collect Telemetry→ Validate Logs→ Develop KQL→ Create Analytics Rule→ Generate Alert→ Create Incident→ Investigate→ Tune Detection ↻

03 — Repository Structure

18 Engineering Modules — Full Detail

Click any module to expand real configuration values, KQL detection logic, step-by-step execution, and analyst notes pulled directly from the project's documentation. Modules with a blue accent bar (08, 09, 10, 11) include a full deep-dive breakdown. Filter by phase below.

All 18 ☁️ Foundation 📡 Telemetry 🔍 Detection 🤖 Automation 📜 Sigma / Depth 🛡️ Network 👥 RBAC
☁️ MODULE 01 Azure Setup
▸

Establish a secure, well-structured Azure environment with proper identity management before any monitoring is possible.

Resource GroupPavan-ResourceGroup-Sentinel
RegionCentral India
SubscriptionAzure Free Trial
TenantDefault Directory (Microsoft Entra ID)

Analyst noteReviewed Microsoft Entra ID tenant configuration and RBAC principles before provisioning anything, and deliberately avoided owner-level permissions in favor of least privilege.

Azure AdministrationMicrosoft Entra IDRBAC FundamentalsResource Organization
🛡️ MODULE 02 Sentinel Configuration
▸

Deploy Microsoft Sentinel on top of a Log Analytics Workspace to establish centralized SIEM capability.

WorkspacePavan-LogWorkspace-Sentinel
RegionCentral India
Linked Resource GroupPavan-ResourceGroup-Sentinel

Analyst noteExplicitly documented a key SOC concept at this stage: with Sentinel enabled but no connectors configured, zero logs are ingested and zero alerts/incidents can be generated — detection capability is entirely dependent on the connectors built next.

Microsoft SentinelLog Analytics WorkspaceSIEM Architecture
🔌 MODULE 03 Data Connectors
▸

Integrate identity, endpoint, and threat-intelligence data sources to establish cross-domain visibility.

Microsoft Entra IDSigninLogs, AuditLogs — authentication & identity anomalies
Microsoft Defender XDREndpoint alerts & incidents — malware, suspicious processes
Threat IntelligenceMalicious IPs, domains & indicators for correlation

Analyst noteEach connector maps to a distinct attack surface (identity / endpoint / external threat), reflecting how real SOCs layer visibility rather than relying on a single log source.

Data Connector EngineeringThreat Intelligence IngestionXDR Integration
✅ MODULE 04 Security Data Validation
▸

Confirm ingested data is actually queryable before building any detections on top of it.

Validate sign-in ingestion
SigninLogs
| take 10
High-confidence threat indicators
ThreatIntelIndicators
| where Confidence >= 80
| project ObservableValue, Type, Confidence, IsActive, IsDeleted, Tags
| sort by Confidence desc

Analyst noteValidated 3 connectors end-to-end (SigninLogs, AuditLogs, ThreatIntelIndicators) using TimeGenerated freshness checks — establishing the discipline of validating telemetry before trusting it, used throughout the rest of the project.

KQL FundamentalsData ValidationLog Analytics Querying
💻 MODULE 05 Virtual Machines Deployment
▸

Deploy cross-platform endpoints to generate real telemetry and later host attack simulations.

Windows VMWindows Server 2022 Datacenter (Azure Edition), Standard B2als_v2 — 2 vCPU / 4GB RAM
Linux VMUbuntu 24.04 LTS, Standard B2als_v2 — 2 vCPU / 4GB RAM
AgentAzure Monitor Agent (AMA) — replaces legacy MMA
Data CollectionSeparate DCRs per OS: Windows Security Events / Linux Syslog

Analyst noteEvaluated Azure Arc for onboarding a personal device as a third endpoint, then deliberately rejected it — reasoning that ingesting logs from a personal machine risked exposing real user activity, and a controlled Azure VM better preserved isolation and repeatability. A documented judgment call, not just a lab step.

VM ProvisioningAzure Monitor AgentData Collection RulesAzure Arc
📡 MODULE 06 Endpoint Telemetry Validation
▸

Validate the full pipeline from endpoint to queryable data before relying on it for detections.

Heartbeat / agent health
Heartbeat
| summarize LastHeartbeat=max(TimeGenerated) by Computer
Cross-platform freshness
union SecurityEvent, Syslog
| summarize LatestLog=max(TimeGenerated) by Type

Analyst noteEstablished the telemetry flow model used across the whole project: Endpoint → AMA → DCR → Log Analytics Workspace → Sentinel → KQL — and validated Windows Security Events, Linux Syslog, and Heartbeat independently before moving to detection engineering.

Telemetry ValidationCross-Platform MonitoringKQL Aggregation
📥 MODULE 07 Custom Log Ingestion
▸

Onboard a non-native log source using the modern Azure Monitor ingestion pipeline — engineering beyond default connectors.

AuthMicrosoft Entra ID App Registration → OAuth 2.0 Client Credentials
IAM RoleMonitoring Metrics Publisher on the DCR
PipelinePostman → Bearer Token → DCE → DCR → Custom Table
Custom Table SchemaTimeGenerated, User, Activity, ip_address, destination_ip, Profile
API ResultHTTP 204 No Content — ingestion accepted
Validate custom ingestion
CustomDataIngestionTable_CL
| where TimeGenerated > ago(7d)
| project TimeGenerated, User, Activity, ip_address, destination_ip, Profile
Failed login detection on custom data
CustomDataIngestionTable_CL
| where Activity contains "Failed Login"
| project TimeGenerated, User, ip_address

Analyst noteThis module is the clearest signal of engineering depth in the repo: building a full DCE/DCR/App-Registration/OAuth pipeline manually mirrors how real-world SOCs onboard proprietary or legacy log sources that don't have an out-of-the-box Sentinel connector.

OAuth 2.0Service PrincipalsData Collection EndpointsLogs Ingestion APIPostman
⚡ MODULE 08 Scheduled Query Analytics Rules
▸

Build a KQL-based scheduled detection with full MITRE mapping, entity enrichment, and a validated end-to-end alert-to-incident pipeline.

Windows Security Logs›KQL Detection Query›Scheduled Query Rule›Rule Evaluation›Alert Triggered›Incident Created
Rule NameMore than 5 failed login attempts under a minute | Windows
SeverityHigh
MITRE Tactic / TechniqueCredential Access — T1110 Brute Force
ScheduleRuns every 5 min · looks back 5 min · starts automatically
Entity MappingAccount → Account · Host → WorkstationName · Process → ProcessName
  1. Created a Scheduled Query Rule to continuously evaluate Windows Security Events for suspicious authentication activity
  2. Classified the rule under MITRE ATT&CK (Credential Access → T1110) and set severity to High
  3. Wrote and tested the KQL detection logic against live SecurityEvent telemetry
  4. Configured entity mapping (Account / Host / Process) so Sentinel auto-links related entities during investigation
  5. Set the rule to run every 5 minutes over a 5-minute lookback window
  6. Reviewed the full rule (logic, entities, severity, MITRE tagging, schedule) before activating it
  7. Validated the rule showed as Active in Sentinel's Active Rules list
  8. Generated real failed logins on the Windows VM and confirmed Sentinel auto-created a security incident
Detection logic
SecurityEvent
| where EventID == 4625
| project TimeGenerated, Account, EventID, TargetDomainName, ProcessName, WorkstationName
| summarize count() by Account, WorkstationName, ProcessName, EventID, bin(TimeGenerated, 1m)
| where count_ >= 3

Analyst noteValidated the complete pipeline live end-to-end rather than trusting the configuration screen: generated genuine EventID 4625 failures on the Windows VM and confirmed the rule fired and an incident materialized in Sentinel — closing the loop from raw telemetry to actionable alert.

Scheduled Analytics RulesMITRE ATT&CK MappingEntity MappingBrute-Force Detection
🚨 MODULE 09 NRT Rules & Incident Creation
▸

Detect Windows log-clearing (anti-forensics) activity in near real-time — which required correctly diagnosing a Sentinel table-mapping gap first.

Windows Event Logs›AMA + DCR (dcr-windowseventlog)›Event Table›NRT Analytics Rule›Alert Triggered›Incident Created
The ProblemThe existing "Windows Security Events via AMA" connector ingests to SecurityEvent — but Event ID 104 (log cleared) lives in the separate Event table
The FixCreated a dedicated DCR — dcr-windowseventlog — collecting System, Application & Security event log channels into the Event table
Rule NameLog cleared on critical asset | Windows Server
SeverityHigh
MITRE Tactic / TechniqueDefense Evasion — T1070 Indicator Removal on Host
Entity MappingHostname → Computer · LogType (custom) → RenderedDescription
  1. Diagnosed why Event ID 104 wasn't appearing in SecurityEvent — traced it to a fundamental Event vs SecurityEvent table distinction in Sentinel
  2. Built a dedicated DCR (dcr-windowseventlog) specifically to collect System/Application/Security channels into the Event table
  3. Validated ingestion with a direct KQL query against the Event table before building any detection on top of it
  4. Created an NRT (Near Real-Time) Analytics Rule — chosen over Scheduled for lower-latency detection of anti-forensics behavior
  5. Mapped the rule to Defense Evasion / T1070 and configured Hostname + LogType entity mapping
  6. Reviewed and activated the rule, then confirmed NRT status in Active Rules
  7. Ccleared the Windows System log again to trigger the rule and confirmed automatic incident creation
DCR validation query
Event
| where EventID == 104
| sort by TimeGenerated desc
Detection logic
Event
| where Computer contains "Pavan-VM-Window"
| where EventID == 104
| project TimeGenerated, Computer, RenderedDescription, EventID, EventLevel

Analyst noteThis module is a genuine debugging story, not just a configuration walkthrough: the analyst correctly recognized that a default connector's silent table-mapping gap meant a real detection blind spot, then engineered around it — exactly the kind of root-cause thinking a hiring panel wants to hear described.

NRT Analytics RulesWindows Event Log EngineeringAnti-Forensics DetectionDCR Troubleshooting
🔍 MODULE 10 Incident Investigation & Analysis
▸

Run a complete SOC-style triage — investigation, advanced hunting, and formal resolution — on the brute-force incident generated in Module 08.

Incident Triggered›Assign & Attack Story›Investigation Graph›Advanced Hunting (KQL)›Evidence Review›Verdict & Closure
Affected DevicePavan-VM-Window
Affected UserPavan-VM-Window\Pavan
Hunting Tables UsedAlertInfo · AlertEvidence · SecurityEvent · SecurityAlert · SecurityIncident
Final ClassificationBenign Positive — Security Testing / Lab Activity, Incident Closed
  1. Assigned the incident and reviewed Defender's auto-generated Attack Story and Investigation Graph
  2. Validated alert authenticity directly against AlertInfo / AlertEvidence rather than trusting the incident summary at face value
  3. Pivoted advanced hunting on the two entities involved — the affected user and the affected device
  4. Hunted authentication activity to check for a pattern consistent with brute force (5+ failures/min)
  5. Explicitly checked whether the failed attempts ever culminated in a successful login (the key compromise signal)
  6. Searched SecurityAlert for any other alerts tied to the same user/device to rule out a broader campaign
  7. Cross-checked SecurityIncident for ownership, status, and alert-to-incident correlation
  8. Documented the negative finding (no compromise, no persistence, no lateral movement) and formally closed the incident as Benign Positive
1. Validate the alert (AlertInfo)
AlertInfo
| where TimeGenerated >= ago(5d)
| where Title contains "failed login"
| project Timestamp, Title, Severity, ServiceSource, DetectionSource
2. Correlate alert + evidence
AlertInfo
| where TimeGenerated >= ago(5d)
| join kind=inner AlertEvidence on AlertId
| where DeviceName contains "Pavan-VM-Window"
| project Timestamp, Title, Severity, DeviceName, AccountName
3. Hunt authentication activity for the user
SecurityEvent
| where Account == @"Pavan-VM-Window\Pavan"
| where EventID in (4624, 4625)
| project TimeGenerated, EventID, Account, Computer, IpAddress, LogonTypeName
4. Check if failures led to a successful login
SecurityEvent
| where Account == @"Pavan-VM-Window\Pavan"
| where EventID in (4624, 4625)
| summarize Events=count() by EventID
5. Hunt for related alerts across the entity
SecurityAlert
| where CompromisedEntity contains "Pavan"
| project TimeGenerated, AlertName, AlertSeverity, Status

Analyst noteAdvanced hunting across five different tables found no evidence of compromise, persistence, or lateral movement — and the write-up documents that negative finding explicitly with the queries that produced it, rather than leaving it assumed. That's exactly what a defensible incident closure looks like to an auditor or a hiring panel.

Incident TriageMicrosoft Defender PortalAdvanced Hunting (KQL)Entity InvestigationRoot Cause Documentation
📊 MODULE 11 Workbooks & Visualization
▸

Build 5 SOC-facing dashboards for operational visibility, each combining a specific KQL query with a deliberately-chosen visualization type.

01 · Failed Login MonitoringSecurityEvent → Time Chart (failed-login timeline) + Bar Chart (top targeted accounts) + Grid (latest failed events)
02 · Incident ManagementSecurityIncident → Pie (severity split) + Time Chart (incident volume) + Grid (ownership/status) + Bar + Pie
03 · Security EventsSecurityEvent / Event → Event ID distribution & log-clearing visibility
04 · Alert MonitoringSecurityAlert → analytics rule activity & affected entities
05 · VM ActivitySecurityEvent → host-level authentication behavior
Failed login timeline (Time Chart)
SecurityEvent
| where EventID == 4625
| summarize FailedAttempts=count() by bin(TimeGenerated, 5m)
Top targeted accounts (Bar Chart)
SecurityEvent
| where EventID == 4625
| summarize FailedAttempts=count() by Account
| top 10 by FailedAttempts desc

Analyst noteEach workbook deliberately pairs a specific chart type to the question it answers — a time chart for trend/spikes, a bar chart for ranking top offenders, a grid for raw event detail — mirroring how a SOC lead would want operational visibility structured rather than dumped into one raw table.

Sentinel WorkbooksDashboard EngineeringKQL Visualization
🤖 MODULE 12 Automation Rules
▸

Reduce manual analyst effort through incident lifecycle automation.

Auto-Assign IncidentsBrute-force related incidents auto-assigned to the SOC analyst on creation
High-Severity TaggingHigh-severity incidents auto-tagged for prioritized triage
Auto-Close Low SeverityExpected/benign RDP activity auto-classified and closed

Analyst noteDistinguishes between incidents that need a human (auto-assign, auto-tag) and incidents that don't (auto-close) — the core judgment call behind any real SOC automation strategy.

Automation RulesIncident Lifecycle ManagementSOC Workflow Optimization
🔄 MODULE 13 Logic Apps & Playbooks
▸

Extend automation into full SOAR territory with orchestrated response actions.

Email Notification PlaybookO365 Outlook connector — sends analyst email on new incident, using dynamic incident content
Incident Enrichment PlaybookAuto-adds investigation comments/context to incidents
IdentityManaged Identity + RBAC — no hardcoded credentials

Analyst notePlaybooks are triggered by Automation Rules, not manually — meaning response actions fire automatically the moment a matching incident is created.

Azure Logic AppsSOAR EngineeringManaged IdentityRBAC Troubleshooting
📋 MODULE 14 Watchlists
▸

Build IOC-driven and behavior-driven detections using custom Sentinel Watchlists.

Suspicious IP WatchlistConfigured a full GUI (XFCE + XRDP) on the headless Linux attacker VM to simulate a realistic attacker workstation, then correlated its public IP against SecurityEvent auth logs
Suspicious PowerShell WatchlistCustom CSV of suspicious command patterns correlated against PowerShell Operational logs

Analyst noteBuilding a GUI on the attacker VM specifically to generate more realistic attacker telemetry (rather than just running commands headlessly) shows attention to simulation fidelity.

Sentinel WatchlistsIOC CorrelationBehavior-Based DetectionAttacker Simulation
🛡️ MODULE 16 Network Security & Firewalling
▸

Extend detection from host telemetry into full network visibility across IDS, firewalls, and threat hunting.

Suricata IDS/IPSDeployed on Linux, custom rule authoring (ICMP/RDP/exfil detection), fast.log & eve.json alert analysis, forwarded to Sentinel
Linux TelemetryUFW firewall logging + blocked-traffic analysis
Windows TelemetryWindows Firewall logging + Filtering Platform event analysis
Network Threat HuntingPort scanning, unauthorized connections, suspicious external IPs, and lateral movement (SSH/RDP) hunted across both OSes

Analyst noteThe lateral movement hunting module traces a full attacker session: failed SSH attempts → successful login → privilege escalation & recon → account creation → staging directory creation — validated with 7 chained KQL queries.

Suricata IDS/IPSFirewall Log EngineeringNetwork Threat HuntingLateral Movement Detection
👥 MODULE 17 Advanced RBAC & Permissions
▸

Implement least-privilege access control end-to-end across Azure and Sentinel.

RBAC FundamentalsBuilt-in roles, scopes & authorization flow (Security Principal + Role Definition + Scope)
Sentinel RolesReader / Responder / Contributor validated with real permission-denied tests
Custom RBAC RolesPurpose-built least-privilege role — validated with a successful VM operation AND a deliberate permission-denied test
Service PrincipalsApp Registration → CLI login as SP → RBAC validation
Managed IdentitiesSystem-assigned identity — az login --identity, zero stored secrets
Permission DelegationScope inheritance & effective-permissions analysis

Analyst noteEvery RBAC module includes a negative test (a permission-denied case), not just a successful one — proving the access boundary actually holds rather than just assuming the configuration is correct.

Azure RBACLeast Privilege (PoLP)Service PrincipalsManaged IdentitiesPermission Delegation
📜 MODULE 18 Detection Engineering with Sigma Rules
▸

Learn portable, cross-SIEM detection engineering from first principles through a full credential-dumping detection chain.

01 — FundamentalsSigma rule anatomy, SigmaHQ repository structure, rule review checklist
02 — Build & Convertsigma-cli installation, custom rule authoring & modification, Sigma → KQL conversion
03 — Deploy & ValidateOfficial SigmaHQ rule converted to KQL, tuned, deployed as a Scheduled Analytics Rule, validated end-to-end to alert + incident
04 — LSASS TargetingSysmon Event ID 10 (Process Access) → Sigma "LSASS Process Targeting" → T1003.001, including a documented noise/tuning observation
05 — LSASS Credential Dumping (End-to-End)Mimikatz executed in an isolated lab → Sigma "Mimikatz Command-Line Detection" (High) + "LSASS Process Targeting" (Medium) fire as two independent, layered detections covering different stages of the same attack

Analyst noteModule 05 is the capstone of the whole repo: it proves layered detection coverage — showing that a single attack (credential dumping) can and should be caught by more than one independent rule, at more than one stage.

Sigma Rule EngineeringSigma → KQL ConversionLayered Detection DesignCredential Dumping DetectionMimikatz Analysis

04 — Module 15 Deep Dive

Attack Simulation Lab

Five realistic, MITRE-mapped attack chains — each executed end-to-end in an isolated lab (attacker + victim VMs), mapped to the Cyber Kill Chain, and validated against live Sentinel detections.

Linux Attacker VMPayload Creation (.ps1)Delivery via SCP/SSHWindows Victim VMPowerShell Operational LogsMicrosoft SentinelIncident Generation
SIM-01 Remote PowerShell Payload Execution

A suspicious PowerShell payload was staged on the Linux attacker VM, transferred to the Windows victim over SCP, then remotely executed via SSH — emulating an attacker who already has remote access staging a payload without malware, persistence, or destructive behavior.

ReconnaissanceInternal VM discovery
WeaponizationSuspicious PowerShell payload creation
DeliverySCP payload transfer to victim
ExploitationRemote PowerShell execution via SSH
InstallationSuspicious folder creation
C2SSH remote command execution
Actions on ObjectivesPowerShell telemetry generated & correlated

Detection signalCorrelated against a custom suspicious_powershell_watchlist using has_any() pattern matching on PowerShell Operational logs — a behavior-based detection rather than a static signature.

T1059.001 PowerShellT1021.004 SSHT1105 Ingress Tool TransferT1562.001 Impair DefensesT1140 Deobfuscate/DecodeT1027 Obfuscated FilesT1059 Cmd & Script Interpreter
Linux Attacker VMFake C2 Listener (Netcat)Windows Victim CallbackSysmon Event ID 3 (Network)AMA IngestionMicrosoft SentinelIncident Creation
SIM-02 Reverse Shell / C2 Callback

Simulated a compromised host beaconing outbound to attacker-controlled infrastructure using a Netcat listener as a stand-in C2 server. Sysmon was deployed for process + network telemetry, and a custom Threat Intelligence watchlist represented known-bad C2 infrastructure for correlation.

WeaponizationNetcat C2 listener staged on attacker VM
DeliveryVictim triggers outbound callback
InstallationSysmon Event ID 3 network-connection telemetry captured
C2Outbound beacon to attacker listener
Actions on ObjectivesWatchlist correlation triggers Sentinel alert + incident

Detection signalSysmon Event ID 3 (network connection) ingested via AMA and correlated against a custom C2-IP watchlist to flag the outbound callback in near real time.

T1059.001 PowerShellT1059 Cmd & Script InterpreterT1071 Application Layer ProtocolT1105 Ingress Tool Transfer
Linux Attacker VMPython HTTP ServerVictim Executes Stage-1 Payloadcertutil.exe Downloads Stage-2update.bat ExecutesReconnaissance ActivitySysmon TelemetrySentinel Detection
SIM-03 LOLBins — Certutil Abuse

A social-engineering pretext led the victim to execute a Stage-1 PowerShell payload, which abused certutil.exe — a trusted, signed Windows binary — to retrieve and execute a Stage-2 payload hosted on a Python HTTP server, evading naive signature-based detection.

WeaponizationStage-1 PowerShell payload + Python HTTP payload host
DeliverySocial-engineering pretext for victim execution
ExploitationStage-1 payload executes on victim
Installationcertutil.exe (LOLBins) downloads & executes Stage-2
Actions on Objectivesupdate.bat runs recon commands, Sysmon telemetry captured

Detection signalSysmon process-creation telemetry flagged certutil.exe making outbound HTTP connections to download a non-certificate payload — a classic LOLBins detection pattern (trusted binary, abnormal behavior).

T1204 User ExecutionT1059.001 PowerShellT1218 Signed Binary Proxy ExecT1218.010 CertutilT1105 Ingress Tool TransferT1059 Cmd & Script Interpreter
Linux Attacker VMPython HTTP ServerFake Teams Voicemail PageFake Cloudflare VerificationUser Executes via Win+RRunMRU Registry UpdatedSysmon Event ID 13Sentinel Incident
SIM-04 ClickFix — RunMRU Detection

Recreated the modern 'ClickFix' social-engineering technique end-to-end: a fake Microsoft Teams voicemail notification redirects to a fake Cloudflare human-verification page, which instructs the victim to paste and run a command via the Windows Run dialog — detected through RunMRU registry-key forensics rather than process telemetry alone.

WeaponizationFake Teams voicemail + fake Cloudflare page built & hosted
DeliveryVictim reaches the fake verification page
ExploitationVictim pastes & runs command via Win+R (self-inflicted execution)
InstallationRunMRU registry key updated with the executed command
Actions on ObjectivesSysmon Event ID 13 (Registry) ingested, analytics rule fires, incident created

Detection signalCustom analytics rule built specifically around Sysmon Event ID 13 (Registry Value Set) targeting the RunMRU key — proving user-driven execution occurred, which process telemetry alone can miss if the payload is short-lived.

T1204 User ExecutionT1059 Command and Scripting Interpreter
ClickFix Pretext (T0-T2)RunMRU Registry Activity (T3)Payload Download & Execution (T4-T5)Host Discovery & Local Artifacts (T6-T7)Outbound Beacon Traffic (T8)Sentinel Detections Across Stages (T9-T10)
SIM-05 Multi-Stage Malware Delivery & Persistence

The capstone simulation: chains the ClickFix pretext into a full delivery pipeline — PowerShell downloads and executes a payload from a Linux staging server, performs host discovery, drops local artifacts, and generates outbound beacon traffic — validated end-to-end against Sentinel incidents across every stage from T0 to T10.

T0-T2Fake Teams page → Cloudflare verification → victim executes PowerShell
T3RunMRU registry activity generated
T4-T5Payload downloaded from Linux staging server and executed
T6-T7Host discovery (system info, process, network service) + local artifact creation
T8Outbound beacon communication to attacker infrastructure
T9-T10Independent Sentinel detections triggered across multiple stages, incidents generated

Detection signalDeliberately validated that detections fire at multiple independent stages of the same kill chain (delivery, execution, discovery, C2) rather than relying on a single choke point — the same layered-detection philosophy used in the Sigma/LSASS capstone (Module 18).

T1204 User ExecutionT1059.001 PowerShellT1218 LOLBinsT1071 App Layer ProtocolT1105 Ingress Tool TransferT1082 System Info DiscoveryT1057 Process DiscoveryT1046 Network Service Discovery

05 — Coverage

MITRE ATT&CK Technique Coverage

17 techniques across 7 tactics — actually implemented and detected across the attack simulation and Sigma detection engineering modules, not a theoretical mapping.

Initial Access
T1204 — User Execution
Execution
T1059 — Command & Scripting InterpreterT1059.001 — PowerShell
Defense Evasion
T1070 — Indicator Removal on HostT1218 — Signed Binary Proxy ExecutionT1218.010 — CertutilT1562.001 — Impair DefensesT1027 — Obfuscated FilesT1140 — Deobfuscate/Decode Files
Credential Access
T1110 — Brute ForceT1003.001 — OS Credential Dumping: LSASS Memory
Discovery
T1082 — System Information DiscoveryT1057 — Process DiscoveryT1046 — Network Service Discovery
Lateral Movement
T1021.004 — Remote Services: SSH
Command and Control
T1071 — Application Layer ProtocolT1105 — Ingress Tool Transfer

06 — Reference

Microsoft Sentinel Tables Reference

A 35-table reference (including the "Top 15 for SC-200") compiled while building this project — search to filter by table, source, or purpose.

TableSourceData Stored
SigninLogsEntra IDInteractive user sign-ins, MFA, authentication results, IP addresses, locations
AADNonInteractiveUserSignInLogsEntra IDToken refreshes, service sign-ins, background authentications
AuditLogsEntra IDUser, group, application, role, and policy changes
IdentityInfoUEBA / Entra IDUser attributes, department, manager, job title
BehaviorAnalyticsUEBAUser/entity risk observations, anomalies, investigations
SecurityAlertSentinel / DefenderSecurity alerts generated by analytics rules and security products
SecurityIncidentSentinelIncidents created from alerts
ThreatIntelligenceIndicatorThreat Intel FeedsMalicious IPs, domains, URLs, and file hashes
HeartbeatAzure Monitor AgentAgent health and machine reporting status
CommonSecurityLogFirewalls / IDS/IPSFirewall events, allow/deny actions, network traffic
SyslogLinux SystemsLinux logs, SSH, sudo, daemon events
EventWindows Event LogsWindows Security, System, and Application logs
SecurityEventWindows Security LogLogons, account changes, process activity, privilege use
WindowsEventAzure Monitor AgentModern Windows event collection
DeviceEventsDefender for EndpointProcess, registry, file, and service activity
DeviceProcessEventsDefender for EndpointProcess creation and execution details
DeviceNetworkEventsDefender for EndpointNetwork connections from endpoints
DeviceFileEventsDefender for EndpointFile creation, deletion, and modification
DeviceRegistryEventsDefender for EndpointRegistry modifications
DeviceLogonEventsDefender for EndpointEndpoint logon activities
DeviceInfoDefender for EndpointDevice inventory and metadata
EmailEventsDefender for Office 365Email delivery and processing events
EmailAttachmentInfoDefender for Office 365Email attachment details
EmailUrlInfoDefender for Office 365URLs found in emails
CloudAppEventsDefender for Cloud AppsSaaS activity, file sharing, downloads
IdentityLogonEventsDefender for IdentityAuthentication events from on-premises Active Directory
IdentityQueryEventsDefender for IdentityLDAP queries and reconnaissance activity
IdentityDirectoryEventsDefender for IdentityActive Directory object modifications
AzureActivityAzure SubscriptionAzure control-plane operations
AzureDiagnosticsAzure ResourcesResource-specific diagnostic logs
OfficeActivityMicrosoft 365SharePoint, OneDrive, Teams, and Exchange activities
AWSCloudTrailAWSAWS API activity logs
AWSGuardDutyAWS GuardDutyAWS threat detection findings
GCPAuditLogsGoogle Cloud PlatformGCP audit events
DnsEventsDefender for Endpoint / DNSDNS queries and responses

07 — Tooling

Technology Stack

Cloud
Microsoft Azure · Azure Monitor · Log Analytics · Azure CLI
Security
Microsoft Sentinel · Defender XDR · Microsoft Entra ID
Operating Systems
Windows Server 2022 · Ubuntu 24.04 LTS
Telemetry
Sysmon · Windows Event Logs · Syslog · UFW · Suricata IDS/IPS
Detection
KQL · Sigma Rules (sigma-cli) · Scheduled & NRT Analytics Rules
Automation / SOAR
Automation Rules · Azure Logic Apps · Managed Identity
Identity & Access
Azure RBAC · Service Principals · Managed Identities · OAuth 2.0
Frameworks
MITRE ATT&CK · Cyber Kill Chain · SOC Operating Model
🏗️
Build
Deploy & configure enterprise-grade Azure security infrastructure
📡
Collect
Generate, ingest & validate Windows and Linux telemetry
🔍
Detect
Engineer custom detections using KQL, Sigma, and Sentinel
🚨
Respond
Investigate incidents, tune detections, automate response
// documentation standard applied to every module
🎯 Objective📚 Background🛠️ Implementation ✅ Validation🔍 Detection Logic🛠️ Troubleshooting 💡 Lessons Learned❓ Knowledge Check
↑
@

Let's connect

Reach out about this project or opportunities.
✉khotpavankumar27@gmail.com
inlinkedin.com/in/pavankumar-khot-91a95b209/
〠github.com/ItsBenign-Pavan
🖃My Portfolio