← Back to SOC feed Coverage →

cobalt-strike

kql MEDIUM Azure-Sentinel
AlertEvidenceDeviceLogonEvents
cobalt-strikecredential-thefthuntingmicrosoftofficialransomware
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-07T23:00:00Z · Confidence: medium

Hunt Hypothesis

Adversaries may be using Cobalt Strike to establish command and control over compromised systems, indicating potential ransomware activity. SOC teams should proactively hunt for this behavior in Azure Sentinel to detect and mitigate early-stage malware infections before they escalate to data exfiltration or ransomware deployment.

KQL Query

// Check for specific alerts
AlertInfo
// Attempts to clear security event logs.
| where Title in("Event log was cleared", 
// List alerts flagging attempts to delete backup files.
"File backups were deleted", 
// Potential Cobalt Strike activity - Note that other threat activity can also 
//trigger alerts for suspicious decoded content
"Suspicious decoded content", 
// Cobalt Strike activity
"\'Atosev\' malware was detected", 
"\'Ploty\' malware was detected", 
"\'Bynoco\' malware was detected")
| extend AlertTime = Timestamp
| join AlertEvidence on AlertId 
| distinct DeviceName, AlertTime, AlertId, Title
| join DeviceLogonEvents on $left.DeviceName == $right.DeviceName
// Creating 10 day Window surrounding alert activity
| where Timestamp < AlertTime +5d and Timestamp > AlertTime - 5d 
// Projecting specific columns
| project Title, DeviceName, DeviceId, Timestamp, LogonType, AccountDomain, 
AccountName, AccountSid, AlertTime, AlertId, RemoteIP, RemoteDeviceName

Analytic Rule Definition

id: 0a6e58fa-0689-418e-b05c-758c41664081
name: cobalt-strike
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 attackers would compromise a web-facing endpoint and employ tools such as Cobalt Strike to steal users' credentials.
  Cobalt Strike is commercial software used to conduct simulated threat campaigns against a target; however, malicious actors also use Cobalt Strike in real attacks. The software has a large range of capabilities, including credential theft.
  The following query identifies accounts that have logged on to compromised endpoints and have potentially had their credentials stolen.
  References:
  https://www.microsoft.com/security/blog/2020/04/28/ransomware-groups-continue-to-target-healthcare-critical-services-heres-how-to-reduce-risk/
  https://www.cobaltstrike.com/
  https://attack.mitre.org/software/S0154/
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - AlertInfo
  - AlertEvidence
  - DeviceLogonEvents
tactics:
- Initial access
- Credential Access
- Malware, component
query: |
  // Check for specific alerts
  AlertInfo
  // Attempts to clear security event logs.
  | where Title in("Event log was cleared", 
  // List alerts flagging attempts to delete backup files.
  "File backups were deleted", 
  // Potential Cobalt Strike activity - Note that other threat activity can also 
  //trigger alerts for suspicious decoded content
  "Suspicious decoded content", 
  // Cobalt Strike activity
  "\'Atosev\' malware was detected", 
  "\'Ploty\' malware was detected", 
  "\'Bynoco\' malware was detected")
  | extend AlertTime = Timestamp
  | join AlertEvidence on AlertId 
  | distinct DeviceName, AlertTime, AlertId, Title
  | join DeviceLogonEvents on $left.DeviceName == $right.DeviceName
  // Creating 10 day Window surrounding alert activity
  | where Timestamp < AlertTime +5d and Timestamp > AlertTime - 5d 
  // Projecting specific columns
  | project Title, DeviceName, DeviceId, Timestamp, LogonType, AccountDomain, 
  AccountName, AccountSid, AlertTime, AlertId, RemoteIP, RemoteDeviceName

Required Data Sources

Sentinel TableNotes
AlertEvidenceEnsure this data connector is enabled
DeviceLogonEventsEnsure 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/Credential Access/cobalt-strike.yaml