返回首页
EN
H7 / SECURITY RESEARCH NOTES

使用Kubectl在Kubernetes集群Container中创建定时任务

环境说明

IPHOSTNAMENOTE
10.10.10.91CentOS7主机

环境搭建

安装kubectl

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
mv kubectl /usr/bin/kubectl

创建定时任务

  • 攻击者可以使用Kubernetes CronJob来调度恶意代码的执行,这些恶意代码将作为集群中的容器运行。

  • 创建定时任务:

kubectl create -f cronjob.yaml -n default # 在默认namespace下创建定时任务
  • 其中cronjob.yaml内容如下:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: art
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox:stable
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - date; echo Hello Test Cronjob
          restartPolicy: OnFailure
  • 查看刚才在default namespace下创建的定时任务:
kubectl get cronjob -n default