Chandan-G-04/SOC-Sentinel-Lab

GitHub: Chandan-G-04/SOC-Sentinel-Lab

Stars: 0 | Forks: 0

# SOC Home Lab - Microsoft Sentinel ## Overview This project demonstrates a cloud-based SOC Home Lab built using Microsoft Sentinel in Microsoft Azure. The lab was designed to simulate real-world attack detections, log monitoring, incident analysis, and SIEM operations using custom analytics rules and KQL queries. The project includes 9 detection use cases mapped to the MITRE ATT&CK Framework. ## Lab Architecture Windows VM (Attack Simulation) | | Windows Security Events + Sysmon Logs ▼ Azure Monitor Agent (AMA) | | Log forwarding via Data Collection Rule (DCR) ▼ Log Analytics Workspace | | Queried by KQL Analytics Rules ▼ Microsoft Sentinel | ├── Analytics Rules (9 custom detection rules) ├── Incidents & Alerts Dashboard └── Threat Investigation & Triage **Resources used:** - Resource Group: SOCLab-RG - Windows Server VM — attack simulation target - Azure Monitor Agent (AMA) — log collection - Data Collection Rule (DCR) — routes logs to workspace - Log Analytics Workspace — stores all security events - Microsoft Sentinel — SIEM for detection and investigation ## Technologies Used - Microsoft Sentinel - Azure Log Analytics - Azure Monitor Agent (AMA) - Kusto Query Language (KQL) - Windows Security Events - Sysmon - MITRE ATT&CK Framework ## Detection Use Cases ### 1. Brute Force Detection - Detects multiple failed login attempts within a 5-minute window - MITRE Technique: T1110 - KQL Rule: [brute-force.kql](./KQL-Rules/brute-force.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/bb1394a028210703.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/85256eb740210703.png) ### 2. Credential Dumping Detection - Detects suspicious LSASS access activity using known tools like procdump - MITRE Technique: T1003 - KQL Rule: [credential-dumping.kql](./KQL-Rules/credential-dumping.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6292b8ae22210704.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/58923078d2210705.png) ### 3. Encoded PowerShell Detection - Detects Base64 encoded PowerShell commands used to evade detection - MITRE Technique: T1059.001 - KQL Rule: [encoded-powershell.kql](./KQL-Rules/encoded-powershell.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/5825d7fe33210706.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/db5d4a1a63210707.png) ### 4. Registry Persistence Detection - Detects suspicious modifications to CurrentVersion\Run registry key - MITRE Technique: T1547 - KQL Rule: [registry-persistence.kql](./KQL-Rules/registry-persistence.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c7e2d694c6210708.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1a66449c56210708.png) ### 5. Scheduled Task Persistence Detection - Detects malicious scheduled task creation (Event ID 4698) - MITRE Technique: T1053 - KQL Rule: [scheduled-task-persistence.kql](./KQL-Rules/scheduled-task-persistence.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b445db40ac210709.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8c753970a0210710.png) ### 6. Suspicious Local Admin Account Creation - Detects unauthorized local administrator account creation - MITRE Technique: T1136 - KQL Rule: [suspicious-local-admin-creation.kql](./KQL-Rules/suspicious-local-admin-creation.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/33e0c655f9210710.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b20a1633b8210711.png) ### 7. LOLBins Execution Detection - Detects abuse of certutil, bitsadmin, rundll32, mshta for malicious purposes - MITRE Technique: T1218 - KQL Rule: [lolbins-execution.kql](./KQL-Rules/lolbins-execution.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e1af893346210712.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2647f2f1c1210712.png) ### 8. Suspicious Parent Process Spawning PowerShell - Detects PowerShell launched by unusual parents like cmd.exe, wscript.exe - MITRE Technique: T1059.001 - KQL Rule: [suspicious-parent-process-powershell.kql](./KQL-Rules/suspicious-parent-process-powershell.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c15d46f085210713.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c469f19763210714.png) ### 9. Ransomware Shadow Copy Deletion Detection - Detects vssadmin delete shadows — a hallmark behaviour of ransomware - MITRE Technique: T1490 - KQL Rule: [ransomware-shadow-deletion.kql](./KQL-Rules/ransomware-shadow-deletion.kql) ### Rule Overview ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/79ba07eff4210715.png) ### Detection Query ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8d82405ff5210715.png) ## Additional Screenshots ### Active Analytics Rules ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6cd1544d71210716.png) ### Alerts and Incidents ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/17e828f69c210717.png) ## Incident Investigation Walkthrough ### Scenario: Brute Force Alert Triggered **Step 1 — Alert fired** Microsoft Sentinel raised an incident after detecting 3+ failed login attempts (Event ID 4625) from the same account within a 5-minute window. **Step 2 — Investigated in Sentinel** Opened the incident in Sentinel. Reviewed the alert details — identified the affected account name, source computer, and timestamp of the failed attempts. **Step 3 — Ran KQL to dig deeper** SecurityEvent | where EventID == "4625" | summarize FailedAttempts = count() by Account, Computer, bin(TimeGenerated, 5m) | where FailedAttempts >= 3 | sort by TimeGenerated desc Confirmed repeated failures from a single account in a short window — consistent with a brute force attempt. **Step 4 — Triage decision** Incident classified as a **True Positive**. In a real SOC, next steps would be to isolate the machine, reset credentials, and escalate to Tier 2 if lateral movement was detected. **Step 5 — Incident closed** Incident marked as resolved with notes documenting the finding. ## Key Skills Demonstrated - SIEM Monitoring & Configuration - Threat Detection and Analysis - KQL Query Development - Incident Investigation & Triage - Log Analysis - MITRE ATT&CK Mapping - SOC Operations - Security Event Correlation - Alert Triage - Azure Cloud Security ## What I Learned - How to architect a cloud SIEM from scratch using Azure native tools - Writing KQL detection logic for real-world attack techniques - The difference between noisy rules and high-fidelity detections - How to triage alerts and classify True Positive vs False Positive - Mapping detections to MITRE ATT&CK to communicate threat context clearly ## Author Chandan G LinkedIn: https://linkedin.com/in/chandan-g-7749573a6 GitHub: https://github.com/Chandan-G-04