NFsec Logo

Podniesienie uprawnień dla użytkowników z UID większym niż INT_MAX

05/12/2018 (2 tygodnie temu) w Bezpieczeństwo Możliwość komentowania Podniesienie uprawnień dla użytkowników z UID większym niż INT_MAX została wyłączona

U

żytkownicy posiadający UID większy od INT_MAX posiadają możliwość wykonania dowolnego polecenia za pomocą systemctl. Błąd nie tkwi w samym systemd, jak mogliśmy się przyzwyczaić, ale w narzędziu pkttyagent, w którym PolicyKit (polkit) podczas wystąpienia błędu twierdzi, że użytkownik jest uprawniony do wykonania polecenia. Przykład działania takiego zachowania:

$ systemctl --version
systemd 239
$ pkttyagent --version
pkttyagent version 0.115
$ id 
uid=4000000000(someuser) gid=100(users) groups=100(users)
$ systemctl stop sshd.service
(pkttyagent:3342): GLib-GObject-WARNING **: 13:28:53.802: value "-294967296" 
of type 'gint' is invalid or out of range for property 'uid' of type 'gint' **
ERROR:pkttyagent.c:156:main: assertion failed: 
(polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0)
$ systemctl is-active sshd.service
inactive

Luka sama w sobie nie jest groźna, ponieważ do stworzenia użytkownika z takim UID są już wymagane prawa administratora. Można ją jednak użyć do zamaskowania użytkownika, który ma podniesione prawa, a nie ma przypisanego UID/GID=0. Do czasu naprawienia luki można użyć obejścia w postaci wyłączenia polkit’a:

systemctl mask polkit && systemctl stop polkit

Więcej informacji: systemd issue, polkit issue, CVE-2018-19788

Nawet jak developujesz używaj sudo dla dockera

11/07/2018 w Bezpieczeństwo Możliwość komentowania Nawet jak developujesz używaj sudo dla dockera została wyłączona

J

eśli nie używasz dockera z pomocą docker-machine (standardowo na systemie OSX oraz Windows) to może dojść do sytuacji, gdy polecenia dockera doprowadzą do przejęcia hosta na którym zostały uruchomione. Jeśli dodamy naszego użytkownika systemu do grupy dockera lub zmienimy uprawnienia do gniazda sieciowego – to Twój użytkownik lub szkodliwe oprogramowanie będzie mógło uzyskać uprawnienia administratora bez konieczności podawania hasła.
[ czytaj całość… ]

2-letnia luka powraca do jądra Linuksa

08/10/2017 w Bezpieczeństwo Możliwość komentowania 2-letnia luka powraca do jądra Linuksa została wyłączona

Błąd w jądrze Linuksa, który został odkryty dwa lata temu, ale nie był uważany za zagrożenie dla bezpieczeństwa w tym czasie, został właśnie uznany za lukę umożliwiającą eskalację uprawnień na poziomie lokalnym. Błąd ten został zidentyfikowany jako CVE-2017-1000253 i pierwotnie został odkryty przez badacza pracującego dla Google Michaela Davidsona w kwietniu 2015 roku. Z powodu zignorowania powagi tego błędu – poprawka dla niego nie została przekazana do długoterminowo wspieranej wersji jądra 3.10.77 (warto wspomnieć, że wersje LTS właśnie przeszły z cyklu 2 letniego, na 6 letni).
[ czytaj całość… ]

systemd – nazwy użytkowników zaczynające się od liczb otrzymują roota

16/07/2017 w Bezpieczeństwo Możliwość komentowania systemd – nazwy użytkowników zaczynające się od liczb otrzymują roota została wyłączona

L

uka została ujawniona podczas zgłoszenia błędu na githubie. systemd nie potrafi obsłużyć odpalenia procesu użytkownika, którego login zaczyna się od liczby np. 0day i tym samym uruchamia proces z prawami administratora zamiast owego użytkownika. Brzmi to dość drastycznie:

> In case of bug report: Expected behaviour you didn’t see
The process started by systemd should be user previlege

> In case of bug report: Unexpected behaviour you saw
The process started by systemd was root previlege

[ czytaj całość… ]

Stack Clash – kurs kolizyjny pamięci w systemach *nix

20/06/2017 w Bezpieczeństwo 1 komentarz.

Czym jest Stack Clash? Jest to eksploatacja błędu w zarządzaniu pamięci oparta na dość starej (12 letniej) technice. Dotyka ona kilku systemów operacyjnych: Linuksa, OpenBSD, NetBSD, FreeBSD oraz Solarisa dla architektury i386 oraz amd64. Technika ta może zostać wykorzystana przez atakujących do naruszenia bezpieczeństwa pamięci oraz wykonania dowolnego kodu. Polega ona na pewnej zależności: każdy program uruchomiony na komputerze używa specjalnego obszaru pamięci zwanego stosem (ang. stack). Obszar tej pamięci jest szczególny, ponieważ rośnie automatycznie wraz z zapotrzebowaniem na niego przez program. Jeśli jednak przyrost jest zbyt duży i zbliży się do innego obszaru pamięci (na przykład sterty – ang. heap) może dojść do sytuacji, w której program może pomylić stos z innym obszarem pamięci. Daje to możliwość wykorzystania owego zamieszania do nadpisania stosu przez inny obszary pamięci lub odwrotnie.
[ czytaj całość… ]

Linux – lokalna eskalacja uprawnień w n_hdlc

12/03/2017 w Bezpieczeństwo Możliwość komentowania Linux – lokalna eskalacja uprawnień w n_hdlc została wyłączona

W

parę tygodni po ukazaniu się błędu w protokole DCCP – Andrey Konovalov ponownie odkrywa możliwość eskalacji uprawnień i lokalne uzyskanie praw administratora w sterowniku drivers/tty/n_hdlc.c. Sterownik zapewniający wsparcie dla HDLC występuje jako moduł jądra w wielu dystrybucjach, które mają w konfiguracji ustawioną opcję CONFIG_N_HDLC=m. Standardowo błąd jest obecny w systemie Linux od 2009 roku i również został znaleziony przy pomocy syzkallera. Łatanie systemu jest szybkie i proste, jak w przypadku podatności DCCP – poniżej dla rodziny RedHat:

echo "install n_hdlc /bin/true" >> /etc/modprobe.d/disable-n_hdlc.conf

Więcej informacji: Linux kernel: CVE-2017-2636: local privilege escalation flaw in n_hdlc

DCCP – lokalna eskalacja uprawnień w jądrze Linuksa

25/02/2017 w Bezpieczeństwo Możliwość komentowania DCCP – lokalna eskalacja uprawnień w jądrze Linuksa została wyłączona

N

owa podatność została odnaleziona przez badacza bezpieczeństwa. Andrey Konovalov odkrył za pomocą (do tego stworzonego) fuzzera spod stajni Google błąd w protokole DCCP – The Datagram Congestion Control Protocol. Luka ta podobnie, jak DirtyCow istnieje w jądrze już ponad 11 lat i dotyka wszystkie kluczowe dystrybucje systemu Linux: Debian, Ubuntu, OpenSUSE oraz RedHat. Luka typu use-after-free została rozpoznana w implementacji zwalniania przez DCCP zasobów SKB (buffor gniazda) dla pakietu typu DCCP_PKT_REQUEST kiedy opcja IPV6_RECVPKTINFO jest ustawiona na gnieździe. Lokalny użytkownik jest w stanie wykorzystać ten błąd do modyfikacji pamięci jądra i w ten sposób podniesienia swoich uprawnień w systemie. Warto wspomnieć, że dwa miesiące temu została ujawniona podobna luka w pakiecie AF. Osoby, które nie chcą aktualizować swoich systemów do nowszych wersji np. z powodu obawy o stabilność – powinny zadbać o odpowiednie wpisy blokujące ładowanie wspomnianego modułu.

Więcej informacji: Security expert discovered a new 11-year old privilege escalation vulnerability, tracked as CVE-2017-6074, in the Linux kernel

Używanie dockera by przejąć hosta serwera – eskalacja uprawnień?

18/02/2017 w Bezpieczeństwo Możliwość komentowania Używanie dockera by przejąć hosta serwera – eskalacja uprawnień? została wyłączona

M

ój administrator idzie z duchem po(d)stępu i podzielił nasz wielki serwer na mniejsze byśmy mogli robić te…, jak one mają… – mikroserwisy. Jako najprostszy i najszybszy sposób dla systemu Ubuntu 16.04 LTS wybrał szybującą w rozwoju technologię, czyli Dockera. Po szybkiej i sprawnej instalacji najnowszej wersji 1.13.1 mój zwykły użytkownik (darkstar) uzyskał możliwość posługiwania się tą technologią poprzez dopisanie go do grupy docker:
[ czytaj całość… ]

Eskalacja uprawnień poprzez paczkę nginx w Debianie i Ubuntu

17/11/2016 w Bezpieczeństwo Możliwość komentowania Eskalacja uprawnień poprzez paczkę nginx w Debianie i Ubuntu została wyłączona

P

akiet nginx w dystrybucjach Debian i Ubuntu systemu Linux jest podatny na eskalację uprawnień poprzez zastosowanie niebezpiecznych praw dostępu do katalogu, gdzie przechowywane są logi serwera WWW. Skutkiem błędnej konfiguracji może być uzyskanie praw administratora przez atakującego, który na przykład wcześniej zdołał skompromitować aplikację internetową uruchomioną na serwerze nginx i uzyskał dostęp do konta www-data lub taki dostęp został mu wcześniej przyznany, aby móc wdrażać aplikacje internetowe. Za pomocą odpowiedniego eksploita jest w stanie podnieść swoje uprawnienia w ciągu 24 godzin za pomocą narzędzia logrotate, które poddaje logi rotacji raz dziennie.

Więcej informacji: CVE-2016-1247, PoC Video

Omijanie uwierzytelniania w mechanizmie szyfrowania dysków LUKS

15/11/2016 w Bezpieczeństwo Możliwość komentowania Omijanie uwierzytelniania w mechanizmie szyfrowania dysków LUKS została wyłączona

B

łąd w implementacji narzędzia cryptsetup używanego do szyfrowania dysków w systemie Linux za pomocą LUKS pozwala atakującemu na ominięcie procedur uwierzytelniania za pomocą. Uwaga. Naciskania klawisza „ENTER” przez 70 sekund. Skutkiem jest otrzymanie powłoki uruchomionej z uprawnieniami administratora. Luka została odkryta przez Hektora Marco – tak, tego samego odpowiedzialnego za znalezienie błędu pozwalającego na ominięcie uwierzytelniania w bootloaderze GRUB2.
[ czytaj całość… ]