NFsec Logo

Jak znaleźć ducha w linuksowej skorupie? – eBPF

07/09/2017 w Administracja Brak komentarzy.

A

naliza wydajności często jest ograniczona przez brak widoczności różnych zjawisk zachodzących w systemie. Obserwacja tych zjawisk pozwala inżynierom systemów łatwo identyfikować elementy, które zawierają ograniczenia i mogą być szybsze. „Najnowszym” narzędziem do obserwacji systemu operacyjnego Linux jest BPF (ang. Berkeley Packet Filter). Został on opracowany w 1992 roku, aby zapewnić sposób filtrowania pakietów sieciowych oraz uniknięcia ich bezużytecznego kopiowania z przestrzeni jądra do użytkownika. Początkowo składał się z prostego kodu bajtowego, który był wstrzykiwany z przestrzeni użytkownika do jądra. Tam był sprawdzany przez weryfikator – w celu uniknięcia krachu jądra lub problemów z bezpieczeństwem – i dołączany do gniazda, a następnie uruchamiany na każdym odebranym pakiecie.
[ czytaj całość… ]

Podstawy skryptów shell #4

30/08/2017 w Bezpieczeństwo Brak komentarzy.

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

Ukryty wymiar praw dostępu

24/08/2017 w Administracja, Bezpieczeństwo Brak komentarzy.

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

Apache 2.4 – o jeden slash od otwartego przekierowania

20/08/2017 w Bezpieczeństwo Brak komentarzy.

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

Praktyczna analiza powłamaniowa: Aplikacja webowa w środowisku Linux – Adam Ziaja

19/08/2017 w Bezpieczeństwo, Pen Test Brak komentarzy.

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

tcp_killer – wycinanie połączeń TCP w systemie

15/08/2017 w Administracja Brak komentarzy.

J

ason Geffer z Google stworzył mały skrypt w języku Python, który jest podobny do cuttera. Potrafi zerwać połączenie TCP w systemach Linux oraz MacOS. Wystarczy skopiować lokalny oraz zdalny adres z polecenia netstat -lanW :

apt install python-pip
pip install frida
wget https://raw.githubusercontent.com/google/tcp_killer/master/tcp_killer.py
chmod +x tcp_killer.py
python tcp_killer.py 127.0.0.1:12345 127.0.0.1:48882

Więcej informacji: tcp_killer

Kroniki Shodana: mDNS

11/08/2017 w Pen Test Brak komentarzy.

M

ulticast DNS (mDNS, DNS w trybie rozsyłania grupowego) został stworzony w celu wykonywania operacji DNS w sieciach lokalnych pozbawionych konwencjonalnego serwera DNS działającego w trybie transmisji jednostkowej – unicast. Jako usługa typu zero-config wymaga niewielkiej lub nie wymaga żadnej konfiguracji, aby korzystać z połączenia pomiędzy uczestnikami w sieci. Protokół ten działa, nawet gdy nie ma żadnej infrastruktury lub jest ona w stanie awarii – wymaga jedynie współpracy pomiędzy innymi użytkownikami w sieci.
[ czytaj całość… ]

SMBLoris

04/08/2017 w Bezpieczeństwo Brak komentarzy.

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

Kroniki Shodana: Modemy Verizona

02/08/2017 w Pen Test Brak komentarzy.

Prawie każdy dostawca internetu ma w zwyczaju przywiązywanie się do jednego producenta sprzętu. Hurtowe zamówienia, hurtowe ceny. Jeśli zapytamy shodana o modemy nasłuchujące na porcie 8443 oraz firmę Verizon Wireless otrzymamy dostęp do tysięcy urządzeń pochodzących od firmy cradlepoint. Jest to firma, która wykorzystuje do uwierzytelniania dane z adresu MAC, który powinien być unikalny dla każdego wyprodukowanego routera. Ogólnie rzecz biorąc wydawać się może, że zachowanie to dostarcza więcej entropii w schemacie uwierzytelniania niż ma to miejsce w przypadku domyślnego mechanizmu hasła, którego większość producentów routerów LAN/WAN jeszcze używa.
[ czytaj całość… ]

Podstawy skryptów shell #3

29/07/2017 w Bezpieczeństwo Brak komentarzy.

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

Strona 2 z 6512345...1015...Ostatnia »