Napisał: Patryk Krawaczyński
20/02/2019 w Bezpieczeństwo
K
ASAN (The Kernel Address Sanitizer) – wykrywający błędy pamięci dynamicznej w kodzie jądra Linuksa właśnie odkrył nową lukę typu: use-after-free (użycia po zwolnieniu pamięci), która pojawiła się od wczesnych wersji jądra Linux 2.6. KASAN (wraz z innymi środkami do sanityzacji) okazał się dość cenny w wykrywaniu różnych błędów w programowaniu zanim zostaną wykorzystane w rzeczywistym świecie. Tym razem padło na odkrycie: CVE-2019-8912. W kodzie podsystemu sieciowego sockfs
wykrył podatność use-after-free, która może doprowadzić do wykonania dowolnego kodu (ang. arbitrary code execution). Problem został zgłoszony w zeszłym tygodniu przez inżyniera Huawei i wkrótce po tym został naprawiony. Wydanie jądra Linuksa w wersji 4.20.11 nie wydaje się jeszcze posiadać tej poprawki, ale wkrótce powinna pojawić się w różnych stabilnych / długoterminowych gałęziach.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
13/02/2019 w Bezpieczeństwo
P
oważna luka w zabezpieczeniach została odkryta w głównym kodzie kontenera – runC, która wpływa na kilka systemów open source do zarządzania kontenerami. Umożliwia ona atakującemu potencjalną ucieczkę z kontenera systemu Linux i uzyskanie nieautoryzowanego dostępu na poziomie administratora systemu do systemu operacyjnego hosta. Luka, która otrzymała numer CVE-2019-5736 została odkryta przez badaczy bezpieczeństwa Adama Iwaniuka i Borysa Popławskiego i ujawniona publicznie przez Aleksa Sarai, starszego inżyniera oprogramowania i opiekuna runC w SUSE.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
16/01/2019 w Bezpieczeństwo
H
arry Sintonen odkrył zestaw 36-letnich w implementacji protokołu Secure Copy Protocol (SCP) wielu aplikacji klienckich. Luki te mogą zostać wykorzystane przez złośliwe serwery do nieautoryzowanego nadpisania dowolnych plików w katalogu docelowym klienta SCP. Dla przypomnienia: SCP, zwany również “bezpieczną kopią”, jest protokołem sieciowym, który umożliwia użytkownikom bezpieczne przesyłanie plików pomiędzy lokalnym, a zdalnym hostem przy użyciu protokołu RCP (ang. Remote Copy Protocol) oraz protokołu SSH (ang. Secure Shell. Innymi słowy, SCP (pochodzący z 1983 roku) jest bezpieczną wersją RCP, która wykorzystuje uwierzytelnianie i szyfrowanie protokołu SSH do przesyłania plików między serwerem, a klientem.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
05/12/2018 w Bezpieczeństwo
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
Napisał: Patryk Krawaczyński
05/01/2018 w Bezpieczeństwo
W
“2015 roku zaobserwowaliśmy kilka naprawdę poważnych błędów w procesorach Intela i w przyszłości powinniśmy spodziewać się ich więcej” – cytując klasyka. W ciagu ostatnich dni pojawiło się trochę domysłów, histerii i analizy na temat luki, która wpływa na co najmniej kilka generacji procesorów. Wspomniana podatność jest aktywna nie tylko na systemie Linux, ale także na Windows i macOS, a w raz z pojawieniem się poprawek będzie powodowała duże zamieszanie w centrach danych i u dostawców chmur obliczeniowych ze względu na konieczność restartu serwerów i obserwowania wpływu zmian na dotychczasową wydajność środowiska.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/12/2017 w Bezpieczeństwo
J
ądro Linuksa zbudowane ze wsparciem wywołania systemowego bpf(2)
(CONFIG_BPF_SYSCALL
) podatne jest na uzyskanie dostępu do odczytu i zapisu przestrzeni adresowej jądra. Do błędu może dojść, gdy użytkownik systemu uruchomi szkodliwy program BPF powodujący błędy obliczeń w module weryfikatora (funkcja check_alu_op) Berkeley Packet Filter. Tym samym nieuprawniony użytkownik może wykorzystać tę lukę do eskalacji swoich uprawnień w systemie. Podatne są wersje jądra od 4.9 do 4.14.8. Ograniczenie luki jest możliwe poprzez ustawienie opcji w sysctl:
echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
lub
sysctl -w kernel.unprivileged_bpf_disabled=1
echo kernel.unprivileged_bpf_disabled=1 | \
tee /etc/sysctl.d/90-CVE-2017-16995-CVE-2017-16996.conf
Spowoduje ona zablokowanie dostępu do wywołania bpf()
dla nieuprawnionych użytkowników (ponowne jej wyłączenie wymagać będzie restartu systemu).
Więcej informacji: Unprivileged bpf(), Debian, RedHat/CentOS, Ubuntu
Napisał: Patryk Krawaczyński
08/10/2017 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
05/10/2017 w Pen Test
W nawiązaniu do przeglądania danych na Hadoopie poprzez “ukryty” URL – /browseDirectory.jsp spróbujmy dzisiaj dostać się do jego serwerów. Podobnie, jak Mesos Hadoop jest frameworkiem do rozproszonego przetwarzania zadań… więc po prostu rozprasza zadania do wykonania na klastrze. W prostym modelu uwierzytelniania bez żadnego filtrowania sieciowego dla wystawionych usług możemy dowolnie wykonać polecenia na węzłach klastra za pomocą zadań MapReduce. Nie musimy nawet potrafić pisać poprawnego kodu w języku Java.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
18/09/2017 w Bezpieczeństwo
P
odczas codziennego użytkowania Internetu zazwyczaj korzystamy z dwóch metod HTTP: GET
oraz POST
. Inną metodą jest OPTIONS
, która po prostu pozwala na odpytanie serwera HTTP, jakich metod może użyć użytkownik w komunikacji z nim. Serwer powinien nam odpowiedzieć wartością nagłówka “Allow”, gdzie obsługiwane metody będą wymienione po przecinku:
curl -v -XOPTIONS https://www.0x0.pl > /dev/null
HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
16/09/2017 w Bezpieczeństwo
J
eśli używasz urządzenia obsługującego technologię Bluetooth: smartfona, laptopa, TV, zestaw w samochodzie, czy inne urządzenia IoT – właśnie stałeś się narażony na ataki ze strony złośliwego oprogramowania, które może zdalnie przejąć kontrolę nad Twoim urządzeniem nawet bez potrzeby interakcji z Twojej strony. Naukowcy ds. bezpieczeństwa właśnie odkryli w sumie 8 podatności typu zero-day w protokole Bluetooth, które mają wpływ na bezpieczeństwo ponad 5.3 mld urządzeń – od Androida po iOS, Windows i na systemie Linux kończąc.
[ czytaj całość… ]
Ostatni komentarz :