Menu dostępności

UWAGA! Zwykły użytkownik Linux może wykonać dowolną komendę! Wszystko z powodu wykrytej podatności

Jak się okazuje nie tylko systemy Microsoft są podatne na błędy oprogramowania. Nie tak dawno, bo na początku grudnia wykryto podatność pozwalająca zwykłemu użytkownikowi wykonać dowolną komendę systemctl na systemie Linux! Aktualizujcie swoje systemy i przeczytajcie ten artykuł.


Co umożliwia luka?


Luka systemowa działa na większości systemów operacyjnych i dotyczy problemu, w którym identyfikator użytkownika na Linux (tzw. Numer UID) posada wartość powyżej 2147483647. Taki użytkownik może wtedy wykonać w sposób nieautoryzowany każda komendę systemctl. Przypomnamy, że komenda systemctl odpowiada za zarządzanie usługami na Linux.

Zgłoszona luka dotyczy w rzeczywistości PolicyKit (znanego również jako polkit) – zestawu narzędzi na poziomie aplikacji dla uniksopodobnych systemów operacyjnych, który definiuje zasady(polityki), obsługuje ogólnosystemowe uprawnienia i umożliwia procesom nieuprzywilejowanym komunikowanie się z tymi uprzywilejowanymi, takimi jak jako „sudo”, które nie daje uprawnień roota do całego procesu.


Na jakich systemach występuje podatność?


Problem już został zgłoszony pod numerem CVE-2018-19788 i dotyczy PolicyKit w wersji 0.115, który jest domyślnie zainstalowany w najpopularniejszych dystrybucjach Linux’a, w tym Red Hat, Debian, Ubuntu i CentOS.

Podatność powstała na skutek błędów/nieprawidłowości w mechanizmie sprawdzania przez PolicyKit żądań uprawnień dla każdego użytkownika o niskich uprawnieniach z identyfikatorem UID większym niż parametr INT_MAX. INT_MAX jest stałą zdefiniowaną w systemie operacyjnym, która definiuje maksymalną wartość, jaką może przechowywać zmienna całkowita, która w przypadku Linux wynosi 2147483647 (w systemie szesnastkowym 0x7FFFFFFF).

Oznacza to tyle, jeśli utworzymy w niezaktualizowanym systemie Linux konto użytkownika o identyfikatorze większym niż maksymalna wartość INT_MAX, komponent PolicyKit pozwoli na tym koncie wykonać komendę systemctl.


Sprawdźmy podatność w naszym środowisku


Do testów postanowiliśmy przeznaczyć nasz system Kali Linux w ostatniej dostępnej dystrybucji, czyli z 2018.4
Scenariusz testu POC:

  1. Utworzenie użytkownika UID > INT_MAX np.. 4000000000
  2. Uruchomienie dowolnej komendy systemctl np. zatrzymanie usługi cron.

Najpierw stwórzmy konto kapitanh na systemie linux Kali:

Zalogujmy się na użytkownika kapitanh do systemu Kali Linux.
Wyświetlmy identyfikator użytkownika, wersję systemu oraz agenta Polkit:

Zatem nasz system zgodnie z informacja o podatności powinien być dziurawy. Sprawdźmy, czy faktycznie jest. Spróbujemy zastopować serwis cron:

Udało się! Zatrzymaliśmy serwis Cron na zwykłym koncie użytkownika na systemie operacyjnym Linux Kali. Oznacza to, że możemy robić z usługami co nam się tylko podoba 🙂

Na koniec jako ciekawostkę dodamy, iż za pomocą tej luki można utworzyć podatny serwis w Linux. Szczegóły znajdziecie tutaj.


Jak sobie radzić z problemem?


Pamiętajcie o aktualizacji luki (jak będzie tylko dostępna łatka) i sprawdzaniu / monitorowaniu wszystkich użytkowników na Linux. Redhat np. jeszcze łatki nie stworzył link. Użytkownicy z UID większym od 214748364, a już na pewno od 4000000000 będą na pewno w tym przypadku napiętnowani 🙂


Pozdrawiamy,
Kapitan Hack

Popularne

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Posiadasz urządzenie od UPC lub inne, które łączy się po Wifi? Chciałbyś poznać jego hasło do sieci? W tym artykule opiszemy sposób, dzięki któremu będziemy mogli poznać aktualne hasło do WiFi przech...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
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...
Claude otwiera się na offensive security. Anthropic wprowadza trzy poziomy dostępu

Claude otwiera się na offensive security. Anthropic wprowadza trzy poziomy dostępu

Ostatnie miesiące nie należą do najłatwiejszych dla zespołów odpowiedzialnych za podatności i aktualizacje. Liczba publikowanych CVE rośnie, a wraz z nią ilość pracy związanej z oceną ryzyka, testowaniem...
Uwaga! Backdoor na Linuksa wykorzystuje protokół STUN i dziesiątki luk

Uwaga! Backdoor na Linuksa wykorzystuje protokół STUN i dziesiątki luk

Maszyny działające na Linuksie nie unikają już infekcji – pojawiają się coraz bardziej wyrafinowane malware na ten system. FortiGuard Labs odkrył niedawno backdoor, który przekształca zainfekowane maszyny w...