Ders 3.50: Yetenekler: parça parça root'un güçleri
Linux root'un güçlerini yaklaşık kırk yeteneğe (capability) böler: 1024'ün altındaki portlara bağlanmak, kullanıcı kimliklerini değiştirmek, ham ağ erişimi, çekirdek modülleri yüklemek ve benzerleri. Bir programa root olarak çalışmak yerine tek bir yetenek verilebilir. Bu yararlıdır; yanlış olanı yanlış programa verildiğinde ise tehlikelidir: bir yorumlayıcıdaki cap_setuid herhangi bir kullanıcının root olmasına izin verir. Laboratuvarda web02'deki her dosya yeteneğini listeliyor, hızlı bir düzeltmeden kalmış riskli birini buluyor, onu kaldırıyor ve bunun yerine mağaza API'sine systemd üzerinden yalnızca 443 numaralı porta bağlanma hakkını veriyorsun.
15 dk
Bu derste öğreneceklerin
- Linux yeteneklerini açıklamak
- getcap -r ile dosya yeteneklerini bulmak
- Tehlikeli yetenekleri tanımak
- setcap -r ile bir yeteneği kaldırmak
- systemd üzerinden bir hizmete yetenek vermek
Temel terimler
- Yetenek (capability)
- Root'un güçlerinden tek başına verilen biri.
- Dosya yeteneği
- Bir çalıştırılabilir dosyada saklanan ve çalıştığında verilen yetenekler.
- e / p / i
- Etkin, izinli, devredilebilir: yeteneğin etkin mi, izinli mi, aktarılıyor mu olduğu.
- Ortam yetenekleri
- Root olmayan bir sürecin execve boyunca koruduğu yetenekler; systemd onları hizmet başına ayarlar.
- GTFOBins
- Ek haklar verildiğinde (sudo, SUID, yetenekler) kötüye kullanılabilen Unix programlarının herkese açık listesi.
← Dosya ve dizinlerle çalışmak · Tüm dersler · Günlüklerinden bir AppArmor profili yazmak →