Privilege Escalation w Linuxie: Od użytkownika do roota
🔐 Wstęp
W środowisku systemów operacyjnych Linux, pojęcie Privilege Escalation odnosi się do procesu zdobywania wyższych uprawnień przez użytkownika, najczęściej z konta użytkownika bez uprawnień administracyjnych do konta root. Ten artykuł omawia techniki lokalnego podnoszenia uprawnień, zwracając szczególną uwagę na błędy w konfiguracji, exploity kernela oraz nadużycia binarek SUID.
🛠️ Narzędzia do wykrywania podatności
Skuteczne rozpoznanie środowiska jest pierwszym krokiem do przeprowadzenia eskalacji uprawnień. Poniżej przedstawiamy najpopularniejsze narzędzia wspomagające analizę systemu:
1. linPEAS
To skrypt z pakietu PEASS-ng, który automatycznie analizuje system pod kątem potencjalnych luk w zabezpieczeniach:
- Wyszukuje błędnie ustawione uprawnienia
- Wykrywa pliki z SUID i GUID
- Analizuje usługi cron i systemd
2. linux-exploit-suggester
To narzędzie porównuje jądro systemu z listą znanych podatności i sugeruje odpowiednie exploity.
3. GTFOBins
Baza danych binarek systemowych, które mogą zostać wykorzystane do eskalacji uprawnień lub uzyskania zdalnego dostępu:
- Przykład:
find,tar,awk,nmap
🧰 Metody lokalnej eskalacji uprawnień
1. Nadużycie plików SUID
Pliki z ustawionym bitem SUID uruchamiane są z uprawnieniami właściciela — często roota.
find / -perm -4000 -type f 2>/dev/null
✅ Przykład:
Jeśli znajdziemy binarkę nmap z SUID, a jej wersja pozwala na --interactive, możemy uzyskać shell jako root.
2. Zadania Cron
Zadania cykliczne uruchamiane przez root mogą wykorzystywać skrypty z niewłaściwymi uprawnieniami:
ls -la /etc/cron.* /var/spool/cron/crontabs/
🔎 Co sprawdzać:
- Czy skrypt cron należy do roota?
- Czy użytkownik może modyfikować plik wykonywany przez zadanie?
3. Eksploity kernela
Stare wersje kernela często zawierają znane podatności umożliwiające eskalację uprawnień.

🛡️ Popularne podatności:
- Dirty COW (CVE-2016-5195)
Umożliwia nadpisanie plików tylko do odczytu poprzez wykorzystanie wyścigu wcopy-on-write. - OverlayFS (CVE-2021-3493, CVE-2023-0386)
Luka w systemie plików pozwala na wykonanie kodu jako root przez manipulację montowaniem przestrzeni użytkownika.
🧪 Sprawdzenie wersji kernela:
uname -r
⚙️ Praktyczny scenariusz: Od użytkownika do roota
Założenia:
- Mamy dostęp do konta zwykłego użytkownika
- System korzysta z podatnej wersji kernela
- Znaleziono plik
tarz SUID
Kroki:
- Weryfikacja dostępu:
tar -cf archive.tar file.txt --checkpoint=1 --checkpoint-action=exec=/bin/sh
- Użycie Dirty COW:
- Pobranie exploita z GitHub
- Kompilacja i uruchomienie:
gcc dirtycow.c -o dirtycow -pthread ./dirtycow - Ostatecznie:
whoami root
🔐 Zabezpieczenia i dobre praktyki
Aby zminimalizować ryzyko lokalnej eskalacji uprawnień, należy:
- Regularnie aktualizować kernel
- Usuwać zbędne SUID-binarki
- Monitorować zadania cron i ich uprawnienia
- Korzystać z mechanizmów kontroli dostępu jak SELinux, AppArmor
📌 Podsumowanie
Lokalna eskalacja uprawnień w systemach Linux to poważne zagrożenie, szczególnie w środowiskach produkcyjnych. Znajomość metod takich jak nadużycie SUID, exploity kernela oraz wykorzystanie nieprawidłowych uprawnień w zadaniach cron pozwala lepiej zabezpieczyć infrastrukturę i rozpoznać potencjalne luki.





