NFsec Logo

#Kochanki.Adminów – where there’s a shell, there’s a way

10/03/2017 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania #Kochanki.Adminów – where there’s a shell, there’s a way została wyłączona

I

nternet przyzwyczaja nas do wielu nowych rzeczy. To, co jest w nim opublikowane przyjmujemy czasem za pewnik, a porady za sprawdzone i uzasadnione. Niestety nie zawsze tak jest. Jeśli spojrzymy na niektóre, zalecane metody instalacji lub konfiguracji oprogramowania to aż trudno uwierzyć, że nikt nie pomyślał na ile różnych sposobów można je wykorzystać. Sprawdźmy dokąd może zaprowadzić nas na przykład polecenie:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

[ czytaj całość… ]

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

Kilka słów o wdrożeniu SSL i TLS – cz. 1

09/02/2017 w Bezpieczeństwo Możliwość komentowania Kilka słów o wdrożeniu SSL i TLS – cz. 1 została wyłączona

S

SL / TLS jest pozornie prostą techniką zapewniającą m.in. ochronę witryn internetowych. Gwarantuje poufność transmisji danych przesyłanych przez internet, zachowując przy tym prostotę instalacji i działania – z wyjątkiem, gdy tak nie jest. Przy końcówce 2014 roku, gigant z Mountain View – Google – na swoim blogu poinformował, że strony korzystające z certyfikatów SSL, będą bardziej „lubiane” w wynikach wyszukiwania, a także chętniej indeksowane. Nie jest to jednak ostatnie słowo. Główna litera Alfabetu nie tylko tą akcją chce wprowadzić strony WWW w kolejny etap bezpiecznego internetu. Już na początku 2017 roku, rodzima przeglądarka Chrome będzie posiadała mechanizmy, które podczas łączenia z dowolną witryną jednoznacznie odpowiedzą użytkownikowi na pytanie: czy korzystanie z niej jest bezpieczne?
[ czytaj całość… ]

LUNAR – Lockdown UNix Auditing and Reporting

08/02/2017 w Bezpieczeństwo Możliwość komentowania LUNAR – Lockdown UNix Auditing and Reporting została wyłączona

L

UNAR jest narzędziem do audytu systemów z rodziny *nix opartym na kilku benchmarkach oraz innych frameworkach. W skryptach źródłowych można znaleźć nawet adnotacje odnoszące się do konkretnych punktów z zaleceń benchmarków. Obsługuje m.in systemy: RHEL 5, 6, 7 (w tym CentOS oraz Scientific Linux); SLES 10, 11, 12; Debian / Ubuntu; Amazon Linux; Solaris 6, 7, 8, 9, 10 oraz 11 oraz Mac OS X. Jak sam autor zaleca, aby mieć największą pewność, że żadne niepowołane zmiany zostaną dokonane w naszym systemie – najlepiej uruchamiać narzędzie w trybie audytu (-a). W ten sposób do wykrytych nieprawidłowości można odnieść się poprzez czytanie konkretnych instrukcji kodu (całość napisana jest w języku powłoki bash) lub wspomnianych wcześniej komentarzy. Gdyby doszło to jakieś pomyłki istnieje możliwość wycofania zmian, ponieważ pliki są backupowane za pomocą cpio.
[ czytaj całość… ]

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

Wstrzykiwanie .htaccess do aplikacji PHP

22/01/2017 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania Wstrzykiwanie .htaccess do aplikacji PHP została wyłączona

M

imo, że nginx zyskuje coraz więcej na popularności, jeśli chodzi o główny serwer serwujący treści w internecie to Apache z jego mod_php nadal jest faworyzowany w większości systemów CMS oraz webaplikacji napisanych w języku PHP. Bardzo częstym błędem jest oddawanie pełnej kontroli takim aplikacjom i ustawianiu dla ich katalogu opcji AllowOverride na wartość All. Poniżej znajduje się kilka przykładów (w większości działają nawet z 7 wersją PHP), które po wstrzyknięciu / umieszczeniu pliku .htaccess do takiego katalogu dają ciekawe efekty:
[ czytaj całość… ]

Ukrywanie szkodliwego kodu w skryptach bash

09/01/2017 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania Ukrywanie szkodliwego kodu w skryptach bash została wyłączona

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! 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, Terminal Emulator Security Issues

Nie ufaj X-Forwarded-For

30/12/2016 w Bezpieczeństwo Możliwość komentowania Nie ufaj X-Forwarded-For została wyłączona

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 (mirror) 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 Możliwość komentowania Sytuacja wyścigu w implementacji af_packet.c została wyłączona

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