Persistence

After gaining control, an attacker keeps it by planting mechanisms that survive credential rotation and pod restarts: RBAC bindings granting a durable identity, malicious workloads and cronjobs that re-establish access, static pods the kubelet runs directly, and admission webhooks that inject backdoors or mint credentials on every relevant API request.

1분 분량2026년 10월 7일 업데이트florianamette기여자 1명
어시스턴트에게 묻기 (MCP)GitHub에서 편집

Holding a Kubernetes cluster means surviving the obvious responses: a rotated token, a deleted pod, a patched node. The durable mechanisms plant themselves in cluster state or on nodes so they outlast those. An RBAC binding grants a long-lived identity that no token rotation removes; a workload or cronjob re-creates access on a schedule; a static pod runs from a node's manifest directory with no API object to delete; and an admission webhook sits in the request path, injecting backdoors or minting credentials whenever a matching object is created.

bash
# what can the current identity create for persistence?
kubectl auth can-i create clusterrolebindings
kubectl auth can-i create mutatingwebhookconfigurations
kubectl auth can-i create cronjobs -A

Subtopics#

References#