Napisał: Patryk Krawaczyński
18/09/2017 w Bezpieczeństwo
P
odczas codziennego użytkowania Internetu zazwyczaj korzystamy z dwóch metod HTTP: GET
oraz POST
. Inną metodą jest OPTIONS
, która po prostu pozwala na odpytanie serwera HTTP, jakich metod może użyć użytkownik w komunikacji z nim. Serwer powinien nam odpowiedzieć wartością nagłówka „Allow”, gdzie obsługiwane metody będą wymienione po przecinku:
curl -v -XOPTIONS https://www.0x0.pl > /dev/null
HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
16/09/2017 w Bezpieczeństwo
J
eśli używasz urządzenia obsługującego technologię Bluetooth: smartfona, laptopa, TV, zestaw w samochodzie, czy inne urządzenia IoT – właśnie stałeś się narażony na ataki ze strony złośliwego oprogramowania, które może zdalnie przejąć kontrolę nad Twoim urządzeniem nawet bez potrzeby interakcji z Twojej strony. Naukowcy ds. bezpieczeństwa właśnie odkryli w sumie 8 podatności typu zero-day w protokole Bluetooth, które mają wpływ na bezpieczeństwo ponad 5.3 mld urządzeń – od Androida po iOS, Windows i na systemie Linux kończąc.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
30/08/2017 w Bezpieczeństwo
W
kolejnej części naszej serii [ 1 ] [ 2 ] [ 3 ] zajmiemy się atakami związanymi z uwierzytelnianiem. Zaczniemy od tezy, że nie należy polegać na skryptach, aby ustalać, czy użytkownik ma lub nie ma uprawnień do danej czynności. Jest to możliwe, jednak istnieją dobre i złe strony takiego rozwiązania. Za przykład posłuży nam skrypt:
#!/bin/bash
if [ $UID = 0 -a $USER = "root" ] ; then
echo "Jesteś administratorem zapraszam do domu."
echo $HOME
fi
Kod ten zawiera trzy błędy bezpieczeństwa i wszystkie są spowodowane używaniem zmiennych. Mimo, że bash chroni przed modyfikacją zmienną $UID
to już $USER
jest niezabezpieczona. No i kto powiedział, że inne powłoki chronią zmienną $UID
?
root@darkstar:/home/agresor# ./test.sh
Jesteś administratorem zapraszam do domu.
/root
root@darkstar:~#
Skrypt działa poprawnie dla konta administratora. Przeprowadźmy teraz atak za pomocą zwykłego użytkownika:
agresor@darkstar:~$ ./test.sh
agresor@darkstar:~$ # Niestety nic z tego, ale...
agresor@darkstar:~$ tcsh
darkstar:~> setenv UID 0
darkstar:~> setenv USER root
darkstar:~> setenv HOME /tmp
darkstar:/home/agresor> /bin/bash test.sh
Jesteś administratorem zapraszam do domu.
/tmp
Jeśli ewentualnie chcemy pozyskać informacje o użytkowniku powinniśmy wykorzystać polecenie id:
# Prawdziwy UID
USRUID="$(/usr/bin/id -u -r)"
# Efektywny UID
USEUID="$(/usr/bin/id -u)"
# Nazwa użytkownika
USNUID="$(/usr/bin/id -u -n)"
Na szczęście powyższy skrypt operował tylko wyświetlaniem komunikatów za pomocą echo
. W połączeniu z innym możliwym atakiem (wstrzykiwania) można te błędy wykorzystać w bardziej zły sposób.
Więcej informacji: TCSH / CSH Shell Set PATH Variable, Shell Script Security
Napisał: Patryk Krawaczyński
24/08/2017 w Administracja, Bezpieczeństwo
P
otężny administrator systemu postanowił stworzyć bramę do ukrytego wymiaru. Dla niepoznaki zrobił to w katalogu domowym zwykłego użytkownika. By chronić portal przed różnymi daemonami rzucił na niego zaklęcie zdejmujące wszystkie prawa dostępu:
:~# bash -c "echo 'Niedostrzegalne barwy - czarne wodospady' > \
/home/agresor/ukryty_wymiar"
:~# chmod 0000 /home/agresor/ukryty_wymiar
Podczas powrotu do swojego katalogu ($HOME
) użytkownik zauważył dziwne wrota:
agresor@darkstar:~$ ls -lah ukryty_wymiar
---------- 1 root root 39 Aug 24 21:01 ukryty_wymiar
Dookoła nich krążyły już Kerberos, Sphinx oraz sam Dracula. Widząc to, w użytkowniku wezbrał niepohamowany gniew, który przekształcił w ukrytą moc zniszczenia. Użytkownik wiedział, że bez księgi sudo nie jest w stanie zniszczyć portalu potężnego administratora, ale postanowił chociaż spróbować:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
20/08/2017 w Bezpieczeństwo
Bardzo często zdarza się, że dla lepszych wyników SEO stosuje się przekierowanie 301 z subdomeny www na „czystą” domenę np. z www.openredirect.pl na openredirect.pl. W serwerze Apache jednym z sposobów na uzyskanie tego efektu jest wykorzystanie dyrektywy Redirect
pochodzącej z modułu alias:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
19/08/2017 w Bezpieczeństwo, Pen Test
W
dzisiejszych czasach bezpieczeństwo aplikacji webowych jest jednym z najważniejszych elementów bezpieczeństwa Internetu, w tym serwerów udostępniających usługi w sieci. Włamania na serwery HTTP niosą jednak za sobą wiele większe ryzyko niż podmiana zawartości strony. Cyberprzestępcy mogą uzyskać dostęp nie tylko do poświadczeń logowania użytkowników danej witryny, ale również plików serwera, co niesie za sobą o wiele szersze konsekwencje.
Książka o tematyce DFIR (Digital Forensics and Incident Response) z jednej strony pokazuje tradycyjne podejście informatyki śledczej, a z drugiej reagowanie na incydenty (Live Fornesics). Tematem przewodnim jest analiza powłamaniowa aplikacji webowej w środowisku Linux. Szczegółowo ukazuje techniczne podejście w tym analizę logów serwera Apache2 i systemu plików Linux Debian oraz zwraca uwagę na możliwości anti-forensics. Z książki czytelnicy dowiedzą się jak przeanalizować incydent związany z włamaniem na stronę w tym jakie operacje przeprowadzał atakujący dzięki analizie osi czasu czy pamięci procesu backdoora. Poruszone zostały też tematy pokrewne takie jak pisanie jednolinijkowych skryptów w powłoce bash czy wykorzystywanie narzędzi anti-forensics do analizy.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
04/08/2017 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
29/07/2017 w Bezpieczeństwo
T
rzecia część [ 1 ] [ 2 ] będzie poruszać ataki wstrzykiwania do skryptów powłoki. Te typy ataków występują, gdy użytkownik dostarcza jako argumenty przechowywane w zmiennych skryptu spreparowane polecenia lub wartości zamiast oczekiwanych danych wejściowych. W dodatku użyte zmienne są pozbawione znaków cytowania, które służą do usuwania interpretacji znaków specjalnych przez powłokę. Na przykład:
#!/bin/bash
read LOGIN
read COMMAND
if [ x$LOGIN = xroot ]; then
echo $LOGIN
eval $COMMAND
fi
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
18/07/2017 w Bezpieczeństwo
J
ak zostało to wspomniane we wcześniejszym wpisie – w wersji Linuksa v3.14 został wprowadzony mechanizm Kernel Address Space Layout Randomization. Wiele dystrybucji od jakiegoś czasu i tak zdecydowało o włączeniu KASLR dlatego od wersji v4.12 jądra Ingo Molnar podjął decyzję o jego aktywacji w standardowej konfiguracji. Oznacza to, że kod jądra będzie losowo umieszczany w pamięci RAM przy każdym starcie systemu:
# 1'wsze uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffff8109eb60 T commit_creds
ffffffff8109ee40 T prepare_kernel_cred
# 2'gie uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffffaa0a3bd0 T commit_creds
ffffffffaa0a3fc0 T prepare_kernel_cred
Na temat efektywności tego rozwiązania wypowiedział się Brad Spengler z PaX Team. Warto również zapoznać się z prezentacją Black Hat – „Breaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX”. Dlatego rozwiązanie to należy traktować jako jedną z wielu warstw do ochrony systemu.
Więcej informacji: Kernel address space layout randomization
Napisał: Patryk Krawaczyński
17/07/2017 w Administracja, Bezpieczeństwo
J
eśli zainstalujemy natywną paczkę MongoDB w dystrybucji Ubuntu 16.04 LTS w wersji 2.6.10 i po jej uruchomieniu przejdziemy do katalogu, gdzie są przechowywane metadane i bazy – wówczas prawa dostępu do plików i katalogów będą wyglądać tak. Niestety jeśli podążymy drogą oficjalnej instrukcji instalacji dla wersji 3.4 (tutaj 3.4.6) to już prawa dostępu będą wyglądać tak. Od razu widać, że uprawnienia te są zbyt szerokie i każdy użytkownik posiadający konto na serwerze jest w stanie wykonać pełną kopie wszystkich danych z tego katalogu (np. za pomocą programu tar). Okazuje się, że błąd ten jest znany od 2015 roku. Stanowić to może poważny problem bezpieczeństwa dla hostingu oraz usług współdzielonych oferujących tego typu bazę. Każdy użytkownik jest w stanie pozyskać dane „sąsiadów” i nie musi nawet posiadać konta z aktywną powłoką – zawsze może uruchomić zadanie cron, które skopiuje mu dane do jego katalogu przewidzianego dla strony www, później pobierając je przy pomocy HTTP, czy FTP. Rozwiązaniem tego błędu jest przywrócenie poprawnych praw dostępu do katalogu /var/lib/mongodb
:
chmod o-rx /var/lib/mongodb
oraz modyfikacji umask dla użytkownika mongodb.
Więcej informacji: MongoDB at shared hosting: security surprises
Ostatni komentarz :