Interesting Groups - Linux Privesc
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Bazen, varsayılan olarak (veya bazı yazılımlar bunu gerektirdiği için) /etc/sudoers dosyası içinde bu satırlardan bazılarını bulabilirsiniz:
Bu, sudo veya admin grubuna ait olan herhangi bir kullanıcının sudo olarak her şeyi çalıştırabileceği anlamına gelir.
Eğer durum böyleyse, root olmak için sadece şunu çalıştırabilirsiniz:
Tüm suid ikili dosyalarını bulun ve Pkexec ikili dosyasının olup olmadığını kontrol edin:
Eğer pkexec ikilisinin bir SUID ikilisi olduğunu ve sudo veya admin grubuna ait olduğunuzu bulursanız, muhtemelen pkexec
kullanarak ikilileri sudo olarak çalıştırabilirsiniz.
Bu, genellikle bu grupların polkit politikası içinde yer alması nedeniyledir. Bu politika, temelde hangi grupların pkexec
kullanabileceğini belirler. Bunu kontrol etmek için:
Orada hangi grupların pkexec çalıştırmasına izin verildiğini ve bazı linux dağıtımlarında sudo ve admin gruplarının varsayılan olarak göründüğünü bulacaksınız.
root olmak için şunu çalıştırabilirsiniz:
Eğer pkexec komutunu çalıştırmaya çalışırsanız ve bu hata ile karşılaşırsanız:
İzinleriniz olmadığı için değil, GUI olmadan bağlı olmadığınız için. Bu sorun için bir çözüm burada: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. 2 farklı ssh oturumuna ihtiyacınız var:
Bazen, varsayılan olarak /etc/sudoers dosyası içinde bu satırı bulabilirsiniz:
Bu, wheel grubuna ait olan herhangi bir kullanıcının sudo olarak her şeyi çalıştırabileceği anlamına gelir.
Eğer durum böyleyse, root olmak için sadece şunu çalıştırabilirsiniz:
shadow grubundaki kullanıcılar /etc/shadow dosyasını okuyabilir:
So, read the file and try to crack some hashes.
staff: Kullanıcıların root ayrıcalıklarına ihtiyaç duymadan sisteme yerel değişiklikler eklemelerine izin verir (/usr/local
) (not: /usr/local/bin
içindeki çalıştırılabilir dosyalar, herhangi bir kullanıcının PATH değişkenindedir ve aynı isimdeki /bin
ve /usr/bin
içindeki çalıştırılabilir dosyaların "üstüne yazabilir"). "adm" grubu ile karşılaştırın, bu grup daha çok izleme/güvenlik ile ilgilidir. [source]
Debian dağıtımlarında, $PATH
değişkeni /usr/local/
'un en yüksek öncelikle çalıştırılacağını gösterir, ayrıcalıklı bir kullanıcı olup olmadığınıza bakılmaksızın.
Eğer /usr/local
içindeki bazı programları ele geçirebilirsek, root erişimi elde etmek kolaydır.
run-parts
programını ele geçirmek, root erişimi elde etmenin kolay bir yoludur, çünkü çoğu program run-parts
gibi çalışır (crontab, ssh ile giriş yapıldığında).
veya Yeni bir ssh oturumu açıldığında.
Sömürü
Bu ayrıcalık neredeyse root erişimi ile eşdeğerdir çünkü makinenin içindeki tüm verilere erişebilirsiniz.
Dosyalar:/dev/sd[a-z][1-9]
Not edin ki debugfs kullanarak dosya yazabilirsiniz. Örneğin, /tmp/asd1.txt
dosyasını /tmp/asd2.txt
dosyasına kopyalamak için şunu yapabilirsiniz:
Ancak, eğer root tarafından sahip olunan dosyaları yazmaya çalışırsanız (örneğin /etc/shadow
veya /etc/passwd
), "İzin reddedildi" hatası alırsınız.
w
komutunu kullanarak sistemde kimin oturum açtığını bulabilirsiniz ve aşağıdaki gibi bir çıktı gösterecektir:
tty1, kullanıcının yossi'nin makinedeki bir terminale fiziksel olarak giriş yaptığını gösterir.
video grubu, ekran çıktısını görüntüleme erişimine sahiptir. Temelde ekranları gözlemleyebilirsiniz. Bunu yapmak için, ekranın mevcut görüntüsünü ham veri olarak yakalamanız ve ekranın kullandığı çözünürlüğü almanız gerekir. Ekran verileri /dev/fb0
'da kaydedilebilir ve bu ekranın çözünürlüğünü /sys/class/graphics/fb0/virtual_size
'da bulabilirsiniz.
Ham görüntüyü açmak için GIMP'i kullanabilir, **screen.raw
** dosyasını seçebilir ve dosya türü olarak Ham görüntü verisi seçebilirsiniz:
Sonra Genişlik ve Yükseklik değerlerini ekranda kullanılanlarla değiştirin ve farklı Görüntü Türlerini kontrol edin (ve ekranı daha iyi göstereni seçin):
Görünüşe göre varsayılan olarak root grubunun üyeleri, bazı hizmet yapılandırma dosyalarını veya bazı kütüphane dosyalarını veya ayrıcalıkları artırmak için kullanılabilecek diğer ilginç şeyleri değiştirme erişimine sahip olabilir...
Root üyelerinin hangi dosyaları değiştirebileceğini kontrol edin:
Ana makinenin kök dosya sistemini bir örneğin hacmine bağlayabilirsiniz, böylece örnek başladığında hemen o hacme chroot
yükler. Bu, size makinede kök erişimi sağlar.
Son olarak, eğer önceki önerilerden hiçbiri hoşunuza gitmiyorsa veya bir sebepten dolayı çalışmıyorsa (docker api firewall?) her zaman yetkili bir konteyner çalıştırmayı ve ondan kaçmayı deneyebilirsiniz, burada açıklandığı gibi:
Eğer docker soketi üzerinde yazma izinleriniz varsa docker soketini kötüye kullanarak yetki yükseltme hakkında bu yazıyı okuyun.
Genellikle adm
grubunun üyeleri, /var/log/ dizininde bulunan log dosyalarını okuma izinlerine sahiptir.
Bu nedenle, bu grupta bir kullanıcıyı ele geçirdiyseniz, kesinlikle loglara göz atmalısınız.
OpenBSD içinde auth grubu genellikle /etc/skey ve /var/db/yubikey dizinlerinde yazma iznine sahiptir, eğer kullanılıyorsa. Bu izinler, root'a yetki yükseltmek için aşağıdaki istismar ile kötüye kullanılabilir: https://raw.githubusercontent.com/bcoles/local-exploits/master/CVE-2019-19520/openbsd-authroot
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)