Tools

T1654

Azure Sentinel

Microsoft Azure Sentinel (cloud-native SIEM) — built-in analytics rules, UEBA, fusion detections, playbook automation (Logic Apps), and how to hunt in Sentinel using KQL.

View on Graph

What Azure Sentinel Is and Where It Fits

Azure Sentinel (now called Microsoft Sentinel) is a cloud-native SIEM and SOAR platform. Unlike traditional SIEMs that require provisioning servers and managing infrastructure, Sentinel is fully SaaS — you pay for data ingestion and get the analytics engine, storage, and automation built in.

  • Sentinel runs on Azure Log Analytics workspaces. All log data is stored in tables — SecurityEvent, SigninLogs, AzureActivity, CommonSecurityLog, DeviceEvents — and queried with KQL.
  • Sentinel ingests data from Microsoft sources (Microsoft 365 Defender, Azure AD, Azure Activity, Microsoft Defender for Cloud) and third-party sources (Syslog, CEEE, Windows Event Forwarding, AWS CloudTrail, GCP logs).
  • The key difference from Splunk: Sentinel does not have its own search-time indexing. All queries use KQL. Data is stored in a columnar store (Azure Data Explorer technology) and queried at read time. This makes storage very cheap but means KQL optimization matters.

MITRE ATT&CK maps log enumeration to T1654. Sentinel’s strength is that it enumerates across Microsoft’s entire security stack — Defender, Azure AD, and cloud infrastructure.


Log Ingestion — What Goes Where

Sentinel organizes data into Log Analytics tables. Each table has a schema defined by the connector.

Data SourceTable NameConnectorKey Columns
Windows Security EventsSecurityEventWindows Security Events via AMA (Azure Monitor Agent)EventID, Account, Computer, ProcessName, CommandLine
Windows Events (custom)EventAMA or Windows Event ForwardingEventLog, EventID, Computer, EventData
Azure Activity LogAzureActivityAzure Activity (built-in)Caller, OperationName, Resource, Status
Azure AD Sign-insSigninLogsAzure AD (Microsoft Entra ID) connectorUserPrincipalName, AppDisplayName, IPAddress, Status
Azure AD AuditAuditLogsAzure AD connectorActivityDisplayName, TargetResources, InitiatedBy
Microsoft 365 DefenderDeviceEvents, DeviceProcessEvents, DeviceNetworkEvents, DeviceFileEventsMicrosoft 365 Defender connectorDeviceName, FileName, ProcessCommandLine, RemoteIP
SyslogSyslogSyslog connector (AMA or legacy OMS agent)Facility, SeverityLevel, SyslogMessage, Computer
CEEE (Common Event Format)CommonSecurityLogCEEE connectorDeviceVendor, DeviceProduct, SourceIP, DestinationIP, DestinationPort
AWS CloudTrailAWSCloudTrailAWS connectorEventName, UserIdentityType, SourceIPAddress, AwsRegion
Azure FirewallAzureDiagnosticsAzure Firewallmsg_s, src_ip_s, dst_ip_s, dst_port_d
Office 365OfficeActivityOffice 365 connectorOperation, UserId, Workload, ItemName
DNSDnsEventsDNS Analytics solutionClientIP, QueryName, QueryType, ResultCode
Threat IntelligenceThreatIntelligenceIndicatorThreat Intelligence import from MISP and other feedsThreatType, Description, NetworkIP, NetworkDomain

Data Retention and Cost

TierRetentionCostWhen to Use
Free31 days (Azure AD logs only)$0Trial, small environments
Pay-as-you-go90 days default, up to 2 years~$2.30/GB ingestedMost production environments
Commitment tiersSame as pay-as-you-go15-50% discountHigh-volume (100+ GB/day)
Archived logsUp to 7 yearsLow-cost storageCompliance, long-term retention

Built-In Analytics Rules

Sentinel comes with hundreds of built-in analytics rules organized by MITRE ATT&CK tactic. These rules are Microsoft’s detection engineering — tuned for common attack patterns.

Rule Types

Rule TypeDescriptionExample
ScheduledRuns a KQL query on a schedule. Most common rule type.”Failed logins > 10 in 5 minutes”
Near-real-time (NRT)Runs every minute with low latency.”Malware detected on endpoint”
FusionML-based correlation across multiple signals.”User downloaded file from Tor, then accessed sensitive data, then exfiltrated via email”
ML Behavior AnalyticsUser and entity behavioral analytics (UEBA).”User logs in from unusual location and performs unusual data access”
Microsoft SecurityImport alerts from Microsoft security products.”Microsoft Defender for Endpoint alert”
AnomalyTime series anomaly detection.”Unusual volume of failed logins”

High-Value Built-In Rules

Rule NameMITRE TacticDetection Logic
Multiple failed logins from a single sourceCredential Accesscount(EventID=4625) > 5 in 5 minutes from same IP
Successful login after multiple failuresCredential Access (brute force success)Failed tries → 4624 from same account
Account creation and deletion in short timePersistence4720 followed by 4740 within 1 hour
Admin group modificationPrivilege Escalation4728, 4732, 4746, 4751, 4756
Suspicious PowerShell command lineExecutionPowerShell with -EncodedCommand, Invoke-, DownloadString
Network connection to countries not in allow listCommand and ControlDestinationIP geolocation mismatch
Ransomware detection (file rename storm)Impact> 100 file create/modify events in 5 minutes
DNS tunneling detectionCommand and ControlHigh volume of TXT queries, long subdomain names

Rule Tuning — What Every Analyst Should Know

Tuning ParameterPurposeExample
Query scheduleHow often the rule runsEvery 5 minutes, look back 15 minutes
Alert thresholdMinimum number of results to fire`
Entity mappingWhich fields define the alert entitiesAccount, Host, IP
Tactics and techniquesMITRE ATT&CK mappingtactics: ["CredentialAccess"], techniques: ["T1110"]
Alert detailsDynamic alert contentAlertDisplayName = "Brute Force from " + IPAddress

Custom Analytics Rule Template

// Custom rule: Detect brute force success
let threshold = 10;
let timeWindow = 15m;
let FailedLogins = SecurityEvent
    | where TimeGenerated > ago(timeWindow)
    | where EventID == 4625
    | summarize FailedCount = count() by Account, Computer;
let SuccessfulLogins = SecurityEvent
    | where TimeGenerated > ago(timeWindow)
    | where EventID == 4624
    | distinct Account, Computer;
FailedLogins
| where FailedCount > threshold
| join kind=inner SuccessfulLogins on Account, Computer
| project Computer, Account, FailedCount

Incident enrichment: Sentinel can enrich alerts with:

  • Threat intelligence match — is the IP in a known threat feed?
  • UEBA profile — is this behavior normal for this user?
  • Asset information — is this server critical, sensitive, or public-facing?
  • Watchlist lookup — is this user in the “high-value targets” list?

UEBA — User and Entity Behavioral Analytics

UEBA builds behavioral profiles for users and entities (devices, IPs, applications) and detects anomalies.

What UEBA Tracks

Profile TypeData ConsideredAnomaly Detection
UserLogin times, locations, devices, applications, data access, peer groupLogin from unusual location, unusual time, unusual data access
DeviceNetwork connections, logged-on users, running processes, installed softwareUnusual outbound connections, unusual process tree
IPGeolocation, ASN, connection frequencyFirst-time connection to internal resource
ApplicationUsage patterns, data access, authentication methodsUnusual admin actions, unusual data volume

UEBA Detection Examples

AnomalyWhat It DetectsTypical Alert
Unusual login locationStolen credentials used from attacker’s location”User logged in from [Country] which is not their usual location”
Impossible travelTwo logins in 5 minutes from geographically distant locations”Impossible travel detected — user logged in from US and China within 5 minutes”
Mass downloadExfiltration of data from SharePoint, OneDrive, or SaaS app”User downloaded 5000 files in 15 minutes”
Unusual admin actionsPrivilege escalation or backdoor creation”User performed admin action they have never done before”
Unusual app accessAttacker using credentials to access unfamiliar applications”User accessed application for the first time in 90 days”

Fusion Detections

Fusion is Sentinel’s ML-based correlation engine. It combines signals across the Microsoft security ecosystem to detect multi-stage attacks.

How Fusion Works

Fusion correlates alerts from:

  • Microsoft Defender for Endpoint (endpoint detections)
  • Microsoft Defender for Identity (AD identity detections)
  • Microsoft Defender for Cloud Apps (SaaS application detections)
  • Azure AD Identity Protection (authentication risk detections)
  • Custom analytics (your scheduled and NRT rules)

Example Fusion detection chain:

1. Azure AD → "User logged in from Tor exit node" (Identity Protection)
2. Defender for Cloud Apps → "User downloaded company SharePoint to unmanaged device"
3. Defender for Endpoint → "Device running suspicious PowerShell"
→ Fusion correlates these → "Multi-stage supply chain or insider threat incident"

Fusion Alert Categories

CategorySignal CombinationScenario
Credential theftIdentity Protection (risky sign-in) + Azure Activity (unusual RBAC change)Stolen creds used to escalate in Azure
RansomwareDefender for Endpoint (ransomware alert) + Defender for Identity (lateral movement)Endpoint encrypted after lateral movement
Data exfiltrationDefender for Cloud Apps (mass download) + Defender for Identity (unusual app access)User exfiltrating data from unusual app
Insider threatDefender for Cloud Apps (data download) + UEBA (unusual behavior)User accessing data outside their pattern

Playbooks — SOAR Automation

Sentinel playbooks are built on Azure Logic Apps. They automate incident response actions without writing code.

Playbook Triggers

TriggerWhen It RunsUse Case
Alert createdA new alert firesSend alert to Teams/Slack, create ticket, start investigation
Incident createdMultiple alerts grouped into an incidentAssign owner, set severity, create Jira/ServiceNow ticket
Entity updatedEntity status changes (user disabled, IP blocked)Update related incidents, notify stakeholders

Common Playbook Actions

Action CategoryExample Actions
InvestigationEnrich IP with VirusTotal/AbuseIPDB, look up user in Azure AD, check device compliance
ContainmentDisable user account, isolate device via Defender for Endpoint, block IP on firewall
RemediationRemove user from group, reset password, delete malicious file
NotificationPost to Teams/Slack channel, send email to SOC manager, create ServiceNow ticket
ApprovalRequest manager approval before containing an account

Sample Playbook Flow

1. Trigger: Incident created ("Multiple failed logins")
2. Action: Enrich source IP → VirusTotal lookup
3. Action: Check user in Azure AD → MFA status, last login, group membership
4. Condition: If IP is known malicious → "HIGH" severity; if IP is unknown → "MEDIUM"
5. Action: Create ServiceNow incident with enriched data
6. Action: Post alert details to SOC Teams channel
7. Action: (Approval step) "Block source IP?" — waits for analyst approval
8. Action: If approved → Add firewall block rule via Azure Firewall
TemplateConnectors UsedDescription
IP EnrichmentVirusTotal, AbuseIPDB, OTX AlienVault, GreyNoiseEnrich alert IP with threat intelligence
User EnrichmentAzure AD, Microsoft Graph, TeamsGet user details, manager, group memberships
Account IsolationDefender for Endpoint, IntuneIsolate compromised endpoint
Email QuarantineExchange Online, Defender for Office 365Move suspicious email to quarantine
Jira/ServiceNowJira, ServiceNowCreate ticket with incident details

Hunting in Sentinel

Hunting is the proactive phase — searching for threats before they trigger alerts. Sentinel provides a dedicated hunting interface.

Hunting Workflow

1. Choose a hunting query → Built-in or custom KQL query
2. Run the query → Returns potential findings
3. Bookmark findings → Tag suspicious events for investigation
4. Create livebook → Document the hunting session, findings, and actions
5. Convert to analytics rule → Turn a successful hunting query into an alert

Built-In Hunting Queries

QueryTableWhat It Finds
Pass-the-Hash detectionSecurityEventEventID 4624 LogonType 3 + EventID 4776 — NTLM auth anomalies (also detectable with BloodHound
PowerShell without commandline loggingSecurityEventEventID 4688 with empty CommandLine — disabled logging
Service account interactive loginSecurityEventEventID 4624 LogonType 2 where Account ends with $
New user created on serverSecurityEventEventID 4720 on non-DC servers
Process injection (cross-session)SecurityEvent + DeviceEventsProcess in session 1 injecting into session 2 — similar to Cobalt Strike techniques
TS Licensing abuse (BEc)OfficeActivityEmail forwarding rule created, then mailbox access
Shadow admin in AzureAzureActivityUser added to privileged role without PIM activation
Containerd application insider accessOfficeActivityUser accessing SharePoint after leaving org (AD disable but no app revoke)

Sources