Privilege Escalation w Linuxie: Od użytkownika do roota
Hacking Linux

Privilege Escalation w Linuxie: Od użytkownika do roota

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ń.

Privilege Escalation w Linuxie: Od użytkownika do roota
Privilege Escalation w Linuxie: Od użytkownika do roota

🛡️ Popularne podatności:

  • Dirty COW (CVE-2016-5195)
    Umożliwia nadpisanie plików tylko do odczytu poprzez wykorzystanie wyścigu w copy-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 tar z SUID

Kroki:

  1. Weryfikacja dostępu:
tar -cf archive.tar file.txt --checkpoint=1 --checkpoint-action=exec=/bin/sh
  1. Użycie Dirty COW:
    • Pobranie exploita z GitHub
    • Kompilacja i uruchomienie:
    gcc dirtycow.c -o dirtycow -pthread
    ./dirtycow
    
  2. 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.

Polecane wpisy
Konfiguracja tuneli VPN z wykorzystaniem DMVPN (Dynamic Multipoint VPN)
Konfiguracja tuneli VPN z wykorzystaniem DMVPN (Dynamic Multipoint VPN)

Konfiguracja tuneli VPN z wykorzystaniem DMVPN (Dynamic Multipoint VPN) DMVPN (Dynamic Multipoint Virtual Private Network) to zaawansowane rozwiązanie VPN, które Czytaj dalej

Jak sprawdzić wersję jądra systemu Linux
Jak sprawdzić wersję jądra systemu Linux

Aby sprawdzić wersję jądra systemu Linux, można skorzystać z różnych poleceń. Oto kilka sposobów: Jak sprawdzić Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.