NFsec Logo

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

22/12/2017 w Bezpieczeństwo Brak komentarzy.

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 Brak komentarzy.

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

SMBLoris

04/08/2017 w Bezpieczeństwo Brak komentarzy.

Podczas studiowania eksploita EternalBlue badacze Sean Dillon oraz Jenna Magius w czerwcu 2017 r. odkryli 20’sto letnią lukę w protokole SMB (ang. Server Message Block), która umożliwia przeprowadzenie ataku odmowy usługi (DoS) poprzez wyczerpanie zasobów pamięci wybranego komputera. Podatne są wszystkie wersje protokołu SMB (1,2 i 3) oraz systemy Windows 10 aż do wersji 2000 (patrząc wstecz od najnowszej wersji).
[ 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ść… ]

getsploit

08/06/2017 w Pen Test Brak komentarzy.

V

ulners udostępniło kolejne narzędzie. Tym razem jest to program do wyszukiwania i ściągania exploitów zainspirowany przez searchsploit. Pozwala na interaktywne wyszukiwanie baz najpopularniejszych serwisów takich, jak: Exploit-DB, Metasploit, Packet Storm i inne:

~# git clone https://github.com/vulnersCom/getsploit
~# cd getsploit
~# ./getsploit.py SSV-73222
Total found exploits: 1
Web-search URL: https://vulners.com/search?query=bulletinFamily%3Aexploit+AND+SSV-73222
+-------------------+------------------------------+--------------------------------------+
|          ID       |         Exploit Title        |                 URL                  |
+===================+==============================+======================================+
|      SSV-73222    | Linux kernel 2.0 Sendmail    | https://vulners.com/seebug/SSV-73222 |
|                   | Denial of Service            |                                      |
|                   | Vulnerability                |                                      |
+-------------------+------------------------------+--------------------------------------+

Istnieje możliwość pobrania całej bazy do na dysk w formacie SQLite v3:

~# ./getsploit.py --update
Downloading getsploit database archive. 
Please wait, it may take time. Usually around 5-10 minutes.
219852688/219852688 [100.00%]Unpacking database.
Database download complete. 
Now you may search exploits using --local key './getsploit.py -l wordpress 4.7'

Więcej informacji: Command line utility for searching and downloading exploits

Eskalacja uprawnień w sudo przez błąd w get_process_ttyname()

31/05/2017 w Bezpieczeństwo Brak komentarzy.

W

programie sudo wykryto poważną lukę w kodzie, która umożliwia uzyskanie uprawnień administratora przez każdego użytkownika posiadającego dostęp do powłoki shell. Działa ona również na systemach z włączoną obsługą SELinux (CentOS / RHEL). Wystarczy, że lokalny użytkownik posiada w systemie uprawnienia do uruchomienia dowolnego polecenia za pośrednictwem sudo. Daje mu to możliwość eskalacji swoich uprawnienia do poziomu administratora.
[ czytaj całość… ]

Linux – lokalna eskalacja uprawnień w n_hdlc

12/03/2017 w Bezpieczeństwo Brak komentarzy.

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

systemd v228, screen root exploit i globalne problemy z setuid

27/01/2017 w Bezpieczeństwo 1 komentarz.

Sebastian Krahmer z SUSE Security Team odkrył lokalny exploit w systemd v228. Przez ten błąd użytkownik znajdujący się w podatnym systemie jest w stanie podnieść swoje uprawnienia do roli administratora. Patrząc na sedno błędu z wysokiego poziomu proces ten jest dość prosty:

1) Systemd używa wartości -1 do reprezentacji nieprawidłowej wartości mode_t (praw dostępu do systemu plików)
2) Przez przypadek wartość ta jest przekazywana podczas tworzenia (open) nowego pliku, co w rezultacie dawało nam plik z ustawionymi wszystkimi bitami dostępu: globalny zapis, globalne wykonanie i najgorsze: setuid dla root.
3) Atakujący może nadpisać ten plik dowolnym programem, ponieważ jest dostępny do zapisu dla wszystkich.
4) Atakujący może wykonać ten plik z wgranym programem, ponieważ jest dostępny do wykonania dla wszystkich.
5) Atakujący wykonuje program z prawami administratora, ponieważ plik posiada setuid dla root.
[ czytaj całość… ]

Wywałka ntpd jednym pakietem UDP

22/11/2016 w Bezpieczeństwo Brak komentarzy.

N

owy błąd w daemonie NTP pozwala na przeprowadzenie ataku Denial of Service za pomocą jednego, spreparowanego pakietu UDP, który wywołuje null pointer dereference. Atak można przeprowadzić zdalnie, a atakujący nie musi być uwierzytelniony. Cały atak ogranicza się do wysłania na port NTP wiadomości:

echo "FgoAEAAAAAAAAAA2bm9uY2UsIGxhZGRyPVtdOkhyYWdzPTMyLCBsY"\
"WRkcj1bXTpXT1AAMiwgbGFkZHI9W106V09QAAA=" | base64 -d | nc -u -v 127.0.0.1 123

Podatne są wszystkie wersje do ntp-4.2.7p22 z wykluczeniem ntp-4.2.8p9 oraz do ntp-4.3.0 z wykluczeniem ntp-4.3.94. O ile aktywnie utrzymywane systemy operacyjne poradzą sobie z aktualizacją pakietów – ponownie nie wszystkie urządzenia korzystające z wbudowanych systemów będą mogły zostać zaktualizowane. Większość urządzeń nie posiada już wsparcia ze strony producentów lub dostarczenie odpowiedniej poprawki może być bardzo przeciągnięte w czasie. W takich wypadkach należy wyłączyć usługę serwera czasu (jeśli nie jest ona w ogóle potrzebna) lub ograniczyć do niej sieciowy dostęp tylko z zaufanych źródeł.

Więcej informacji: Vulnerability Note VU#633847, CVE-2016-7434

MySQL – eskalacja uprawnień poprzez sytuację wyścigu

02/11/2016 w Bezpieczeństwo Brak komentarzy.

D

awid Golunski w formie. Serwer MySQL oraz jego odmiany (MariaDB, Percona) są podatne na eskalację uprawnień poprzez możliwość wygrania sytuacji wyścigu. Podatność pozwala lokalnemu użytkownikowi systemu na eskalację uprawnień i dowolne wykonanie kodu jako użytkownik bazy danych – najczęściej „mysql” – za pomocą dostępu zwykłego konta do bazy danych z podstawowymi uprawnieniami (CREATE/INSERT/SELECT). Eksploatacja zakończona sukcesem pozwala atakującemu na uzyskanie dostępu do wszystkich baz danych przechowywanych na podatnym serwerze. Wraz z połączeniem z innymi błędami może dojść nawet do pełnej kompromitacji systemu poprzez uzyskanie praw administratora. Wystarczy, że atakujący stworzy bazę danych w tymczasowym katalogu i wykona na niej operację REPAIR, która pozwoli mu na wygranie wyścigu przed operacją chmod(). W oknie atakujący może zamienić plik bazy danych na symlink do katalogu /var/lib/mysql. W ten sposób wcześniej ustawione prawa dostępu bazy np. 777 zostaną przeniesione na katalog, na który wskazuje symlink. Inne wykorzystanie tej luki umożliwia uzyskanie powłoki systemowej z uprawnieniami użytkownika, z którymi został uruchomiony serwer MySQL. Podatne są wersje:

MariaDB: 
	< 5.5.52
	< 10.1.18
        < 10.0.28
MySQL:
	<= 5.5.51
	<= 5.6.32
	<= 5.7.14
Percona Server:
	< 5.5.51-38.2
	< 5.6.32-78-1
	< 5.7.14-8
Percona XtraDB Cluster:
	< 5.6.32-25.17
	< 5.7.14-26.17
	< 5.5.41-37.0

Więcej informacji: PoC oraz Exploit wraz z szczegółowym opisem podatności

Strona 1 z 212