Detection rules › Panther

Crowdstrike API Key Deleted

Severity
medium
Log types
Crowdstrike.EventStreams
Source
github.com/panther-labs/panther-analysis

A user deleted an API Key in CrowdStrike

MITRE ATT&CK coverage

Rule body yaml

AnalysisType: rule
Filename: crowdstrike_api_key_deleted.py
RuleID: "Crowdstrike.API.Key.Deleted"
DisplayName: "Crowdstrike API Key Deleted"
Reports:
    MITRE ATT&CK:
        - TA0040:T1531 # Account Access Removal
        - TA0005:T1070 # Indicator Removal
Enabled: true
LogTypes:
  - Crowdstrike.EventStreams
Severity: Medium
Description: A user deleted an API Key in CrowdStrike
DedupPeriodMinutes: 60
Threshold: 1
Runbook: Validate this action was authorized.
Tests:
  - Name: API Key Deleted
    ExpectedResult: true
    Log:
      event:
          AuditKeyValues:
              - Key: scope(s)
                ValueString: alerts:read,api-integrations:read
              - Key: actor_user
                ValueString: tester@panther.com
              - Key: actor_user_uuid
                ValueString: a11a1111-1a11-1a1a-1a11-a11a111a111a
              - Key: actor_cid
                ValueString: aaa111111111111111aaaaaa11a11a11
              - Key: trace_id
                ValueString: 1a111111-a1a1-111a-11aa-a111111a1a1a
              - Key: APIClientID
                ValueString: aaa1a11aaa111a1a11a11aaaa1aa1a11
              - Key: id
                ValueString: aaa1a11aaa111a1a11a11aaaa1aa1a11
              - Key: name
                ValueString: key name
          OperationName: DeleteAPIClients
          ServiceName: Crowdstrike API Client
          Success: true
          UTCTimestamp: "2024-07-08 14:01:54.000000000"
          UserId: tester@panther.com
          UserIp: 11.1.111.11
      metadata:
          customerIDString: aaa111111111111111aaaaaa11a11a11
          eventCreationTime: "2024-07-08 14:01:54.451000000"
          eventType: AuthActivityAuditEvent
          offset: 111111
          version: "1.0"
  - Name: API Key Delete failed
    ExpectedResult: false
    Log:
      event:
          AuditKeyValues:
              - Key: scope(s)
                ValueString: alerts:read,api-integrations:read
              - Key: actor_user
                ValueString: tester@panther.com
              - Key: actor_user_uuid
                ValueString: a11a1111-1a11-1a1a-1a11-a11a111a111a
              - Key: actor_cid
                ValueString: aaa111111111111111aaaaaa11a11a11
              - Key: trace_id
                ValueString: 1a111111-a1a1-111a-11aa-a111111a1a1a
              - Key: APIClientID
                ValueString: aaa1a11aaa111a1a11a11aaaa1aa1a11
              - Key: id
                ValueString: aaa1a11aaa111a1a11a11aaaa1aa1a11
              - Key: name
                ValueString: key name
          OperationName: DeleteAPIClients
          ServiceName: Crowdstrike API Client
          Success: false
          UTCTimestamp: "2024-07-08 14:01:54.000000000"
          UserId: tester@panther.com
          UserIp: 11.1.111.11
      metadata:
          customerIDString: aaa111111111111111aaaaaa11a11a11
          eventCreationTime: "2024-07-08 14:01:54.451000000"
          eventType: AuthActivityAuditEvent
          offset: 111111
          version: "1.0"

Detection logic

Condition

event.OperationName eq "DeleteAPIClients"
event.Success is_not_null

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
event.OperationNameeq
  • DeleteAPIClients
event.Successis_not_null
  • (no value, null check)

Output fields

Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.

FieldSource
UserIdevent.UserId
ServiceNameevent.ServiceName