NFsec Logo

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

POINTYFEATHER aka ominięcie ścieżki rozpakowania tar

31/10/2016 w Bezpieczeństwo Brak komentarzy.

B

łąd w programie tar umożliwia pomyślne wypakowanie plików i katalogów do dowolnej lokalizacji, gdy podsunie mu się odpowiednio spreparowany plik archiwum. W przypadku, gdy na systemie zostanie rozpakowane archiwum dostarczone przez atakującego podatność może zostać wykorzystania do nadpisania wrażliwych plików zwykłego użytkownika (np. .ssh/authorized_keys, .bashrc, .bash_logout, .profile, .subversion, czy .anyconnect), a w przypadku użycia tar przez administratora np. podmiany /etc/shadow, wpisów cron użytkownika root, plików binarnych na te zawierające tylną furtkę lub atrybut suid.
[ czytaj całość… ]

Zapalmy flarę nad CloudFlare

09/09/2016 w Pen Test Brak komentarzy.

P

rzy okazji wygasania certyfikatu na stronie zacząłem się zastanawiać, czy skorzystać z Let’s Encrypt, czy może z CloudFlare? CF to serwis oferujący „darmową” ochronę webaplikacji, CDN oraz szyfrowanie SSL (jeśli używa się go poprawnie). Zastanawiało mnie ile klientów / domen korzysta z tego serwisu? Oto, co udało mi się ustalić.
[ czytaj całość… ]

Logujemy się do każdej maszyny zabezpieczonej GRUB2

30/12/2015 w Ataki Internetowe, Bezpieczeństwo Brak komentarzy.

Z

espół cyberbezpieczeństwa w Polytechnic University of Valencia (UPV) w Hiszpanii znalazł sposób na bardzo proste ominięcie mechanizmu uwierzytelniania na poziomie bootloadera GRUB2. Wystarczy, że zamiast podania nazwy użytkownika zostanie wciśnięty 28 razy klawisz BACKSPACE, który spowoduje uruchomienie „Grub rescue shell” umożliwiając atakującemu dostęp do dowolnej części systemu.

Więcej informacji: Back to 28: Grub2 Authentication 0-Day