NFsec Logo

Atakowanie prywatnych sieci dzięki DNS rebinding

10/03/2019 w Ataki Internetowe Możliwość komentowania Atakowanie prywatnych sieci dzięki DNS rebinding została wyłączona

D

omowa sieć WiFi to nasze święte miejsce. Nasz skromny kawałek cyberprzestrzeni. Tam podłączamy nasze telefony, laptopy i inne „inteligentne” urządzenia ze sobą i internetem. Jeszcze nie ma końca dwa tysiące dwudziestego roku, a nasze sieci lokalne zostały zaludnione przez rosnącą liczbę urządzeń. Od inteligentnych telewizorów i odtwarzaczy multimedialnych po asystentów domowych, kamery bezpieczeństwa, lodówki, zamki do drzwi i termostaty – nasze LANy stały się schronieniem dla zaufanych urządzeń osobistych i domowych. Wiele z tych urządzeń oferuje ograniczone lub żadne uwierzytelnianie w celu uzyskania dostępu i kontrolowania swoich usług. Z natury ufają one innym urządzeniom w sieci w taki sam sposób, w jaki z własnej woli ufalibyście komuś, komu pozwoliliście znaleźć się w Waszym domu. Korzystają z takich protokołów, jak Universal Plug and Play (UPnP) i HTTP, aby swobodnie komunikować się między sobą, ale są z natury chronione przed połączeniami przychodzącymi z internetu za pomocą zapory ogniowej routera. Można porównać to do ogrodu otoczonego murem. Niestety wystarczy podążenie za złym linkiem, aby umożliwić atakującemu dostanie się do wewnętrznej sieci i uzyskanie kontroli nad różnego rodzaju urządzeniami.
[ czytaj całość… ]

KASAN – odkrywa nową podatność w jądrze od 2.6 do 4.20

20/02/2019 w Bezpieczeństwo Możliwość komentowania KASAN – odkrywa nową podatność w jądrze od 2.6 do 4.20 została wyłączona

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ść… ]

Luka w runC – ucieczka z kontenera

13/02/2019 w Bezpieczeństwo 2 komentarze.

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ść… ]

Powrót luk bezpieczeństwa w SCP po 36 latach

16/01/2019 w Bezpieczeństwo Możliwość komentowania Powrót luk bezpieczeństwa w SCP po 36 latach została wyłączona

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ść… ]

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

05/12/2018 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

Spectre of the KAISER Meltdown

05/01/2018 w Bezpieczeństwo 1 komentarz.

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ść… ]

Błędy w weryfikatorze BPF pozwalają na wykonanie dowolnego kodu w jądrze

22/12/2017 w Bezpieczeństwo Możliwość komentowania Błędy w weryfikatorze BPF pozwalają na wykonanie dowolnego kodu w jądrze została wyłączona

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

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ść… ]

Słonie leżą na betonie, czyli kolejne strzały do Hadoopa

05/10/2017 w Pen Test Możliwość komentowania Słonie leżą na betonie, czyli kolejne strzały do Hadoopa została wyłączona

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ść… ]

OPTIONSbleed – HTTP OPTIONS może prowadzić do wycieku pamięci serwera Apache

18/09/2017 w Bezpieczeństwo Możliwość komentowania OPTIONSbleed – HTTP OPTIONS może prowadzić do wycieku pamięci serwera Apache została wyłączona

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ść… ]