Conserver un cluster Kubernetes signifie survivre aux réponses évidentes : un token en rotation, un pod supprimé, un nœud corrigé. Les mécanismes durables se plantent dans l'état du cluster ou sur les nœuds pour leur survivre. Un binding RBAC accorde une identité à longue durée de vie qu'aucune rotation de token ne retire ; une charge de travail ou un cronjob recrée l'accès sur une planification ; un static pod s'exécute depuis le répertoire de manifestes d'un nœud sans objet d'API à supprimer ; et un admission webhook se place dans le chemin des requêtes, injectant des backdoors ou forgeant des identifiants à chaque création d'un objet correspondant.
# 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
Sous-thèmes#
- Backdoor RBAC : une identité durable via des bindings.
- Charges de travail malveillantes : des deployments et daemonsets qui rétablissent l'accès.
- CronJobs : ré-entrée planifiée.
- Static pods : des pods que le kubelet exécute depuis un répertoire de manifestes d'un nœud.
- Admission webhooks : intercepter le chemin des requêtes de l'API.
- Backdoor par webhook de mutation : injecter dans chaque objet correspondant.