0Pricing
Ethical Hacking Academy · Lekcja

Exploity jądra

Eskalacja przez jądro

Exploity jądra to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Eskalacja przez jądro

Gdy konfiguracja jest odpowiednio zabezpieczona, słabym punktem może być samo jądro. Błąd w kodzie jądra — dostępny z procesu bez uprawnień — może zostać wykorzystany do wykonania kodu w ring 0 i uzyskania uprawnień root.

Identyfikacja jądra

Wszystko zaczyna się od dokładnej wersji jądra i dystrybucji. Konkretna kompilacja odpowiada określonym publicznym CVE i exploitom.

uname -r
uname -a
cat /proc/version
cat /etc/os-release

Dopasowanie wersji do CVE

Należy przeszukać bazy exploitów pod kątem używanego jądra i dystrybucji. Narzędzia takie jak searchsploit (offline’owa baza Exploit-DB) i linux-exploit-suggester mapują wersję na prawdopodobnie działające exploity.

searchsploit linux kernel 4.4
./linux-exploit-suggester.sh

Słynny przypadek: Dirty COW

Dirty COW (CVE-2016-5195) to wyścig w obsłudze mechanizmu copy-on-write mapowań pamięci przez jądro. Umożliwia użytkownikowi bez uprawnień zapis do plików tylko do odczytu (takich jak /etc/passwd), co prowadzi do uzyskania uprawnień root. Luka dotyczy jąder z lat 2007–2016.

Słynny przypadek: DirtyPipe

DirtyPipe (CVE-2022-0847) dotyczy systemu Linux 5.8 i nowszych. Błąd w obsłudze buforów potoków pozwala użytkownikowi bez uprawnień nadpisywać dane w plikach tylko do odczytu, umożliwiając uzyskanie uprawnień root za pomocą podobnych sztuczek z plikiem passwd i nadpisywaniem SUID.

Słynny przypadek: PwnKit

PwnKit (CVE-2021-4034) jest technicznie luką w przestrzeni użytkownika, w pkexec (Polkit), a nie w jądrze, ale od ponad dekady zapewnia niezawodną eskalację do root na niemal każdej dystrybucji Linux. Podczas privesc zawsze należy ją sprawdzić.

ls -la /usr/bin/pkexec   # SUID root, often vulnerable

Kompilowanie exploita

Większość exploitów jądra ma postać kodu źródłowego w C, który trzeba skompilować w środowisku zgodnym z celem. Niezgodne nagłówki lub wersje kompilatora powodują błędy. Jeśli to możliwe, należy kompilować na laboratoryjnym klonie systemu docelowego.

gcc -o exploit exploit.c
# or: gcc dcow.c -o dcow -lpthread

Ryzyko exploitów jądra

Exploity jądra to ostateczność. Nieudana próba może wywołać panic jądra i doprowadzić do awarii całego systemu — utraty danych, przestoju i utraty dostępu. Nie należy uruchamiać ich pochopnie na produkcji.

Stabilność i niezawodność

Niezawodność exploita zależy od podwersji jądra, sprzętu i mechanizmów ochronnych (KASLR, SMEP, SMAP). Należy przeczytać informacje o exploicie, potwierdzić dokładny zakres podatnych wersji i przetestować go w laboratorium przed użyciem na systemie objętym testem.

Zabezpieczenia

Podstawowa ochrona jest prosta: należy szybko instalować poprawki. Należy aktualizować jądra, włączać mechanizmy ochronne, ograniczać liczbę plików binarnych SUID i używać restrykcyjnych jąder (wzmocnienie w stylu grsecurity, seccomp). Większość exploitów jądra przestaje działać natychmiast po zaktualizowaniu systemu.

Upoważnienie i ostrożność

Ponieważ exploity jądra mogą powodować awarie systemów, przed ich uruchomieniem należy uzyskać wyraźną pisemną zgodę, preferować okna poza produkcją i upewnić się, że klient jest gotowy na ponowne uruchomienie. Należy działać wyłącznie w ramach autoryzowanego zakresu.

Szybkie sprawdzenie

Sprawdź swoją wiedzę o exploitach jądra.

Podsumowanie

Poznał(a) Pan/Pani eskalację opartą na jądrze:

  • Należy dopasować dokładną wersję jądra do CVE za pomocą searchsploit / LES
  • Klasyczne przykłady: Dirty COW, DirtyPipe, PwnKit
  • Exploity są często napisane w C i trzeba je skompilować dla systemu docelowego
  • Są ostatecznością — nieudane próby powodują awarię systemu; ochroną są poprawki

To kończy kurs eskalacji uprawnień w systemie Linux.

Często zadawane pytania

Czy lekcja „Exploity jądra” jest bezpłatna?

Tak — pełny tekst „Exploity jądra” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Exploity jądra”?

Eskalacja przez jądro Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?

Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Exploity jądra”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?

Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Enumeracja
  2. Nadużywanie SUID i Sudo
  3. Zadania Cron i PATH
  4. Exploity jądra
← Powrót do Ethical Hacking Academy