NFsec Logo

pamspy – zrzucacz poświadczeń dla Linuksa

14/07/2022 w Bezpieczeństwo, Pen Test Możliwość komentowania pamspy – zrzucacz poświadczeń dla Linuksa została wyłączona

N

arzędzie pamspy jest programem, który został zainspirowany przez podobną pracę, ale stworzoną znacznie wcześniej (Brendon Tiszka poczynił to dzieło na swoich studiach): 3snake. W przeciwieństwie do swojego poprzednika nie korzysta już z mechanizmu odczytu pamięci wywołań systemowych sshd i sudo, które obsługują uwierzytelnianie oparte na hasłach, ale wykorzystuje technologię eBPF. Dzięki temu jest w stanie śledzić konkretną funkcję w przestrzeni użytkownika wewnątrz biblioteki PAM (ang. Pluggable Authentication Modules) używanej przez wiele krytycznych aplikacji (sudo, sshd, passwd, gnome, X11 itp.) do obsługi uwierzytelniania. Ponieważ pamspy opiera się na libpam przed uruchomieniem programu musimy podać ścieżkę, gdzie biblioteka ta jest zainstalowana na naszej dystrybucji. W tym celu należy wydać następujące polecenie:

ldconfig -p | egrep -o '\/.*libpam\.so.*'

Po uzyskaniu ścieżki możemy uruchomić program:

sudo ./pamspy -p /lib/x86_64-linux-gnu/libpam.so.0

Załaduje on program eBPF, aby podczepić się pod funkcję pam_get_authtok z libpam.so. Za każdym razem, gdy proces uwierzytelnienia spróbuje sprawdzić nowego użytkownika, wywoła on wspomnianą funkcję pam_get_authtok, a pamspy będzie na konsolę zrzucać zawartość krytycznych sekretów. Jeśli teraz w drugiej konsoli zalogujemy się do serwera i podniesiemy swoje uprawnienia program powinien odnotować ten fakt:

1500   | sshd            | agresor              | K0ci.0g0n
1528   | sudo            | agresor              | K0ci.0g0n
3815   | passwd          | agresor              | P5i3.U5zy

Jeśli chcemy przeprowadzić kompilację programu ze źródeł to wymaga on kilku pakietów (Ubuntu 22.04):

apt install git make clang-11 gcc libelf-dev pkg-config -y 
apt install linux-tools-common linux-tools-5.15.0-41-generic -y
git clone https://github.com/citronneur/pamspy --recursive
cd pamspy/src
make

Nie musimy kompilować programu od podstaw, ponieważ w repozytorium jest już także plik zbudowany jako statyczna binarka bez żadnych zależności.

Więcej informacji: pamspy

Logujemy logowania i nie tylko cz.III – sshrc

05/04/2021 w Bezpieczeństwo Możliwość komentowania Logujemy logowania i nie tylko cz.III – sshrc została wyłączona

J

eśli w katalogu domowym użytkownika istnieje plik ~/.ssh/rcsh(1) uruchomi go po przeczytaniu plików środowiskowych, ale przed uruchomieniem powłoki lub polecenia użytkownika (nawet jeśli wyłączymy alokację TTY). Plik ten nie może generować żadnych danych na standardowy strumień wyjścia (stdout); zamiast tego należy użyć standardowego strumienia błędów (stderr). Przykład:
[ czytaj całość… ]

Inwigilacja połączeń SSH za pomocą strace

12/11/2016 w Bezpieczeństwo 1 komentarz.

T

o, że używamy SSH do połączeń z serwerami nie oznacza, że możemy czuć się bezpiecznie. Szczególnie musimy uważać na te maszyny, którymi zarządzają niezaufane osoby. Dlaczego? Ponieważ odczyt niezaszyfrowanych danych w systemie można wykonać na różnych poziomach dostępu. Za przykład weźmy wywołanie ptrace, które jest używane do monitoringu i kontroli innych procesów. Głównie jest używane do debugowania, a chyba najpopularniejszym programem wykorzystującym jego możliwości jest strace.
[ czytaj całość… ]

Audytujemy algorytmy szyfrowania SSH

17/10/2016 w Bezpieczeństwo 1 komentarz.

K

onfiguracja SSH oprócz: zezwolenia wybranych użytkowników; wyłączenia / podkręcenia niektórych funkcji; zastanawiania się czy hasłem, czy kluczem i którym portem – przede wszystkim powinna się skupić na rodzajach algorytmów, które oferują nam bezpieczną, szyfrowaną transmisję. Od strony manualnej możemy skorzystać z dobrego przewodnika Mozilli lub zaprząc do tego automat, który podpowie nam, jakie algorytmy są już przestarzałe i nie powinny być już oferowane od strony serwera w naszej wersji:
[ czytaj całość… ]

Prosty IDS dla SSH i nie tylko

14/08/2016 w Administracja, Bezpieczeństwo Możliwość komentowania Prosty IDS dla SSH i nie tylko została wyłączona

M

onit jest małym, ale potężnym narzędziem, które potrafi zarządzać monitoringiem i kondycją systemu. Potrafi przeprowadzać zautomatyzowane czynności utrzymaniowe, naprawcze i zaradcze w sytuacjach wystąpienia różnych błędów. Nie tylko umie czuwać nad poprawnym działaniem procesów, ale również zgłaszać incydenty oraz podejmować różne akcje (np. poprzez skrypty). Poniżej zamieszczam prosty przykład, jak wykorzystać tego daemona do monitorowania logowań przez SSH i wysyłania powiadomień przez e-mail.
[ czytaj całość… ]