Linux Post-Exploitation
Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Przechwytywanie haseł logowania za pomocą PAM
Skonfigurujmy moduł PAM, aby rejestrował każde hasło, które użytkownik używa do logowania. Jeśli nie wiesz, co to jest PAM, sprawdź:
PAM - Pluggable Authentication ModulesAby uzyskać więcej szczegółów, sprawdź oryginalny post. To tylko streszczenie:
Przegląd techniki: Mobilne moduły uwierzytelniania (PAM) oferują elastyczność w zarządzaniu uwierzytelnianiem w systemach opartych na Unixie. Mogą zwiększyć bezpieczeństwo poprzez dostosowywanie procesów logowania, ale także stanowią ryzyko w przypadku niewłaściwego użycia. To streszczenie przedstawia technikę przechwytywania danych logowania za pomocą PAM, wraz z strategiami łagodzenia zagrożeń.
Przechwytywanie danych logowania:
Skrypt bash o nazwie
toomanysecrets.sh
jest tworzony, aby rejestrować próby logowania, przechwytując datę, nazwę użytkownika ($PAM_USER
), hasło (przez stdin) i adres IP zdalnego hosta ($PAM_RHOST
) do/var/log/toomanysecrets.log
.Skrypt jest ustawiany jako wykonywalny i integrowany z konfiguracją PAM (
common-auth
) za pomocą modułupam_exec.so
z opcjami uruchamiania w trybie cichym i ujawniania tokenu uwierzytelniania skryptowi.Ta metoda pokazuje, jak skompromitowany host Linux może być wykorzystany do dyskretnego rejestrowania danych uwierzytelniających.
Backdooring PAM
Aby uzyskać dalsze szczegóły, sprawdź oryginalny post. To tylko streszczenie:
Moduł Autoryzacji Podstawowej (PAM) to system używany w systemie Linux do uwierzytelniania użytkowników. Działa na trzech głównych koncepcjach: nazwa użytkownika, hasło i usługa. Pliki konfiguracyjne dla każdej usługi znajdują się w katalogu /etc/pam.d/
, gdzie biblioteki współdzielone obsługują uwierzytelnianie.
Cel: Zmodyfikuj PAM, aby umożliwić uwierzytelnianie za pomocą określonego hasła, omijając rzeczywiste hasło użytkownika. Skupia się to szczególnie na bibliotece współdzielonej pam_unix.so
, używanej przez plik common-auth
, który jest dołączany przez prawie wszystkie usługi do weryfikacji hasła.
Kroki do Modyfikacji pam_unix.so
:
pam_unix.so
:Zlokalizuj Dyrektywę Autoryzacji w pliku
common-auth
:
Linia odpowiedzialna za sprawdzanie hasła użytkownika wywołuje
pam_unix.so
.
Zmodyfikuj Kod Źródłowy:
Dodaj instrukcję warunkową w pliku źródłowym
pam_unix_auth.c
, która udziela dostępu, jeśli użyte jest predefiniowane hasło, w przeciwnym razie kontynuuje zwykły proces uwierzytelniania.
Przebuduj i Zamień zmodyfikowaną bibliotekę
pam_unix.so
w odpowiednim katalogu.Testowanie:
Dostęp jest udzielany w różnych usługach (logowanie, ssh, sudo, su, zabezpieczenie ekranu) za pomocą predefiniowanego hasła, podczas gdy normalne procesy uwierzytelniania pozostają nienaruszone.
Możesz zautomatyzować ten proces za pomocą https://github.com/zephrax/linux-pam-backdoor
Dowiedz się i ćwicz Hacking w AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking w GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated