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

Podwójne uwierzytelnienie w SSH (2FA) za pomocą FreeOTP

06/04/2016 w Bezpieczeństwo Możliwość komentowania Podwójne uwierzytelnienie w SSH (2FA) za pomocą FreeOTP została wyłączona

P

odówjne uwierzytelnianie polega na zabezpieczeniu dostępu do danej usługi (tutaj SSH) polegająca na dodatkowym uwierzytelnieniu oprócz wpisania standardowego loginu i hasła. Najczęściej występujące rodzaje zabezpieczeń to: sms z dodatkowym kodem; kody jednorazowe spisane na kartce lub wysyłane na adres e-mail; aplikacja z kodami jednorazowymi zainstalowana na komputerze lub urządzeniu mobilnym (tablet / telefon). W tym artykule skupimy się na kodach jednorazowych (OTP – One Time Passwords), które dodatkowo będą chronić naszą usługę SSH.
[ czytaj całość… ]

Logujemy logowania i nie tylko cz.I – moduły PAM

27/01/2016 w Bezpieczeństwo Możliwość komentowania Logujemy logowania i nie tylko cz.I – moduły PAM została wyłączona

Z

ałóżmy, że posiadamy centralny system logowania, który gromadzi różne dane z wszystkich naszych serwerów. Może być on oparty o komercyjne usługi typu Loggly, Logentries, DataDog lub własne rozwiązania, których sercem jest Elasticsearch, czy RethinkDB. Zależy nam na tym, aby każde normalne logowanie i to na uprzywilejowane konto root, czy to bezpośrednio na maszynę, czy to za pomocą sudo było przesyłane do naszego centrum danych. Dane te mogą posłużyć nie tylko jako ewidencja i kontrola osób, które mają prawo do tego typu działań, ale również umożliwia nam ich analizę i wykrywanie potencjalnych naruszeń bezpieczeństwa.
[ czytaj całość… ]

Przejście z MD5 na SHA512 w systemach RedHat/CentOS 5.x (Fedora 9)

16/03/2013 w Bezpieczeństwo Możliwość komentowania Przejście z MD5 na SHA512 w systemach RedHat/CentOS 5.x (Fedora 9) została wyłączona

S

ystemy z rodziny RHEL w wersji 5‘tej korzystają z kryptograficznej funkcji skrótu MD5 do przechowywania haseł systemowych. Nie jest to zły algorytm, ale nie na tyle dobry i trudny do złamania – aby obecnie korzystać z jego możliwości. W celu zmiany metody szyfrowania z MD5 na SHA512, która jest o wiele bezpieczniejsza (i używana standardowo w wersji 6.x) wystarczy wydać polecenie:
[ czytaj całość… ]

CentOS 6 – /lib/security/pam_fprintd.so

05/09/2011 w Debug Możliwość komentowania CentOS 6 – /lib/security/pam_fprintd.so została wyłączona

J

eśli w logu systemowym /var/log/secure podczas logowania się użytkowników do systemu otrzymujemy informację związaną z błędami w konfiguracji PAM, a dokładniej – związaną z modułem czytnika linii papilarnych:

Sep  5 19:35:17 stardust su: PAM unable to dlopen(/lib/security/pam_fprintd.so):
/lib/security/pam_fprintd.so: nie można otworzyć pliku obiektu dzielonego:
Nie ma takiego pliku ani katalogu
---
Sep  5 19:35:17 stardust su: PAM unable to dlopen(/lib64/security/pam_fprintd.so):
/lib64/security/pam_fprintd.so: cannot open shared object file:
No such file or directory

Którego nie posiadamy – wystarczy wydać polecenie:
[ czytaj całość… ]

Piszemy własny moduł PAM

31/10/2009 w Magazyny Możliwość komentowania Piszemy własny moduł PAM została wyłączona

U

miejętność pisania modułów PAM jest bardzo przydatna, gdy tworzymy niestandardowy lub nietypowy system uwierzytelniania. Ponadto przekazywana tu wiedza z pewnością przyda się przy modyfikacjach konfiguracji PAM wykraczających poza tematy zawarte na ubogich nieraz stronach manuali. Analiza kodu źródłowego modułu może często wyjaśnić wiele pozornych nieprawidłowości w jego funkcjonowaniu albo nietypowych zachowań.
[ czytaj całość… ]

Tworzenie lepszych haseł dzięki CrackLib

22/07/2009 w Bezpieczeństwo Możliwość komentowania Tworzenie lepszych haseł dzięki CrackLib została wyłączona

L

inux jest systemem, w którym hasła pełnią jedną z głównych funkcji zabezpieczających (Punkt 3. Skomplikowane hasła). Niestety nie każdy użytkownik naszego systemu potrafi zrozumieć rangi ich bezpieczeństwa. Wielu z nich tworzy bardzo łatwe kombinacje przy ich doborze. Wpływa to nie tylko negatywnie na bezpieczeństwo samego konta danego użytkownika, ale również bezpieczeństwo całego systemu. By przeciwdziałać tego rodzaju uchybieniom, możemy wymusić tworzenie lepszych haseł na samych użytkownikach z poziomu mechanizmów służących do ustanowienia i zmiany hasła. Proces taki nazywany jest proaktywnym testowaniem haseł i polega on na eliminowaniu słabych haseł zanim pojawią się w plikach zawierających informacje o kontach użytkowników.
[ czytaj całość… ]