E.3.9.1 prerequisite. Rules R0031-R0040 now use lifter:behavioral_*,
R0041 (open_relay) uses lifter:email_open_relay; the rest of the email,
canary, and intel cohorts already conformed. Each lifter at E.3.9-E.3.12
will claim its rules via str.startswith('lifter:<owner>_'), keeping the
ownership routing explicit and trivially extensible.
R0001-R0006 / R0030 lifter:* rules are E.3.13 (Identity/Credential)
territory and stay as-is.
23 lines
533 B
YAML
23 lines
533 B
YAML
rule_id: R0037
|
|
rule_version: 1
|
|
name: k8s_service_account_token
|
|
description: |
|
|
Reading /api/v1/namespaces/*/secrets or /var/run/secrets/k8s.io/
|
|
serviceaccount/token — kube SA harvest.
|
|
applies_to:
|
|
- session
|
|
- http_request
|
|
match:
|
|
kind: lifter:behavioral_k8s_sa_token
|
|
paths:
|
|
- '/api/v1/namespaces/[^/]+/secrets'
|
|
- '/var/run/secrets/kubernetes\\.io/serviceaccount'
|
|
emits:
|
|
- tactic: TA0006
|
|
technique_id: T1552
|
|
sub_technique_id: T1552.007
|
|
confidence: 0.95
|
|
evidence_fields:
|
|
- matched_path
|
|
- namespace
|