← Back to SOC feed Coverage →

alt-data-streams

kql MEDIUM Azure-Sentinel
DeviceProcessEvents
exploithuntingmicrosoftofficialransomware
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-08T11:00:00Z · Confidence: medium

Hunt Hypothesis

Adversaries may use alternate data streams to exfiltrate data or persist within Windows systems undetected. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify potential ransomware or data exfiltration activities that evade traditional detection methods.

KQL Query

// Alternate Data Streams execution 
DeviceProcessEvents 
| where Timestamp > ago(7d) 
// Command lines used 
| where ProcessCommandLine startswith "-q -s" and ProcessCommandLine hasprefix "-p" 
// Removing IDE processes 
and not(FolderPath has_any("visual studio", "ide")) 
| summarize make_set(ProcessCommandLine), make_set(FolderPath), 
make_set(InitiatingProcessCommandLine) by DeviceId, bin(Timestamp, 1h)

Analytic Rule Definition

id: 7d8692e0-e643-43cb-ac77-6efc5a6b7f4d
name: alt-data-streams
description: |
  This query was originally published in the threat analytics report, Ransomware continues to hit healthcare, critical services. There is also a related blog.
  In April of 2020, security researchers observed multiple ransomware campaigns using the same set of techniques.
  The following query detects suspicious use of Alternate Data Streams (ADS), which may indicate an attempt to mask malicious activity. These campaigns have been known to deploy ransomware in-memory and exploit ADS.
  The See also section below lists more queries related to techniques shared by these campaigns.
  References:
  https://www.microsoft.com/security/blog/2020/04/28/ransomware-groups-continue-to-target-healthcare-critical-services-heres-how-to-reduce-risk/
  https://docs.microsoft.com/sysinternals/downloads/streams
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - DeviceProcessEvents
tactics:
- Defense evasion
query: |
  // Alternate Data Streams execution 
  DeviceProcessEvents 
  | where Timestamp > ago(7d) 
  // Command lines used 
  | where ProcessCommandLine startswith "-q -s" and ProcessCommandLine hasprefix "-p" 
  // Removing IDE processes 
  and not(FolderPath has_any("visual studio", "ide")) 
  | summarize make_set(ProcessCommandLine), make_set(FolderPath), 
  make_set(InitiatingProcessCommandLine) by DeviceId, bin(Timestamp, 1h)

Required Data Sources

Sentinel TableNotes
DeviceProcessEventsEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/Defense evasion/alt-data-streams.yaml