Menu dostępności

Kolejny błąd Linux umożliwiający zdobycie dostępu root

W systemie Linux odkryto błąd umożliwiający LPE (lokalne podniesienie uprawnień) ze zwykłego konta użytkownika do uprzywilejowanego użytkownika systemu „root”. Dla wielu przedsiębiorstw może to być poważne zagrożenie. W sieci istnieje exploit na tą lukę.

Tym razem postanowiliśmy napisać o kolejnym błędzie na Linux, żebyście nie myśleli, że tylko bezpieczeństwo Windows się dla nas liczy ☺ Systemy Linux/Unix są i będą krytycznym elementem środowisk IT, na których pracuje wiele biznesowych aplikacji, usług, baz danych i nie tylko. Nieodpowiednie dbanie o taki system oraz zapewnienie dostępu nawet dla zwykłego użytkownika do takiego serwera może firmę kosztować. I to dużo. Zwłaszcza jeśli atakujący dobrze zna się na systemie operacyjnym i jego słabostkach. Jedną z nich opisujemy poniżej.


Szczegóły podatności

Opisywany błąd dotyczy problemu w kodzie Netfilter, który odkrył Arthur Mongolin. Otrzymał on numer CVE-2022-34918 i dotyczy przepełnienia bufora sterty w podsystemie Netfilter jądra Linux. Luka może zostać wykorzystana do zwiększenia uprawnień w systemie Ubuntu 22.04.

Dla osób niezaznajomionych ze środowiskiem Linux wyjaśniamy, że Netfilter to framework w jądrze Linux służący do przechwytywania i zmieniania ruchu sieciowego. Jest także nazwą projektu dostarczającego aplikacje do obsługi tego frameworka.

Zródło: Wikipedia

Zbudowany jest z szeregu punktów w kodzie obsługi sieci, w których można umieszczać funkcje odpowiedzialne za analizę i zmianę pakietów sieciowych. Punkty te są pogrupowane w tablice, a funkcje przyłączone w danym punkcie nazywane są łańcuchami.
Struktura filtrowania pakietów netfilter oraz firewall iptables są podstawą większości rozwiązań firewall na serwerach Linux. Zakotwiczenia jądra netfilter są wystarczająco blisko stosu sieciowego, aby zapewnić potężną kontrolę nad pakietami przetwarzanymi przez system, stad też exploitacja tego modułu umożliwia zdobycie największych uprawnień do systemu.

Podczas analizy kodu Netfilter autor odkrycia zwrócił uwagę na wywołanie funkcji „memcpy” (zaznaczonej jako (1) na obrazku) w definicji funkcji nft_set_elem_init (źródło kodu w pliku „/net/netfilter/nf_tables_api.c”).

Dalsze badania i testy kodu Netfilter (między innymi przepełnienia bufora pamięci w stosie jądra systemu) spowodowały, że Artur mógł oszukać system i w wyniku błędu otrzymać najwyższe uprawnienia do niego – czyli użytkownika root, na którym działa usługa Netfilter.

Poniższy schemat podsumowuje różne etapy elem.data w stosie w celu wytworzenia kontrolowanego przepełnienia.

Zródło: Arthur Mongolin

Losowe dane są przechowywane w stosie, dodanie nowego elementu z danymi NFT_DATA_VALUE prowadzi do danych kontrolowanych przez użytkownika w stosie. Na koniec dodanie drugiego elementu z danymi NFT_DATA_VERDICT spowoduje przepełnienie bufora, a pozostałość danych ostatniego elementu zostanie skopiowana podczas przepełnienia.” – napisał badacz na swoim blogu.


Dostępny Exploit

Autor odkrycia opublikował też w sieci exploit, którego kod źródłowy możecie znaleźć na GitHubie tutaj.
Demo zamieściliśmy poniżej

Jak twierdzi autor: „Metoda eksploatacji opiera się na założeniu, że w specjalnym obszarze pamięci jądra mapowany jest określony adres, co nie zawsze ma miejsce. Więc exploit nie jest w pełni niezawodny, ale nadal ma dobry wskaźnik sukcesu. Drugą wadą ataku polegającego na odłączaniu jest panika jądra, która pojawia się po zakończeniu exploit’a. Można tego uniknąć, znajdując obiekty, które mogą pozostać w pamięci jądra po zakończeniu procesu wykorzystywania.”


Jak sobie radzić z problemem?

Z dobrych informacji jakie mamy dla Was, to że błąd został zgłoszony do zespołu ds. bezpieczeństwa systemu. Ci zaś zaproponowali łatkę, którą autor podatności przetestował i zrecenzował. Znajduje się ona na etapie zatwierdzania. Informacje możecie przeczytać tutaj.

Jak widać nic nie jest bezpieczne i to kwestia czasu zanim znajdzie się obejście/luka. Zachęcamy do łatania systemów i należytego ich monitorowania ☺ Szczegóły na temat luki możecie znaleźć tutaj.

Popularne

Uwaga! Trwa praktyczne wykorzystywanie krytycznej luki w systemach Fortinet!

Uwaga! Trwa praktyczne wykorzystywanie krytycznej luki w systemach Fortinet!

Święta, święta i po świętach. I dzisiaj, zamiast malować pisanki, piszemy o Fortinecie. Naszym „ulubionym” producencie firewallów, który pojawia się na portalu dość często. Nową okazję do publikacji dała...
Grupa ransomware ALP-001 twierdzi, że zaatakowała Polsat

Grupa ransomware ALP-001 twierdzi, że zaatakowała Polsat

W niedzielę wieczorem na zagranicznych serwisach newsowych poświęconych malware pojawiły się informacje o cyberataku na serwis Polsatu. Według doniesień za incydent odpowiada grupa ransomware ALP-001, która...
DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

Powstał nowy, zaawansowany zestaw exploitów wymierzony w użytkowników iPhone’ów. Narzędzie o nazwie DarkSword pokazuje, że nawet platformy uznawane za jedne z najbezpieczniejszych mogą stać się celem...
WhatsApp jako wektor ataku – Microsoft ostrzega przed nową kampanią malware ukrytą w wiadomościach

WhatsApp jako wektor ataku – Microsoft ostrzega przed nową kampanią malware ukrytą w wiadomościach

Cyberprzestępcy po raz kolejny wykorzystują zaufanie użytkowników do popularnych komunikatorów. Najnowsze ostrzeżenie Microsoftu ujawnia zaawansowaną kampanię, w której złośliwe oprogramowanie jest rozsy...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...