hacktricks/linux-hardening/linux-post-exploitation
2024-09-04 13:37:30 +00:00
..
pam-pluggable-authentication-modules.md Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack. 2024-09-04 13:37:30 +00:00
README.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:28:58 +00:00

Linux Post-Exploitation

{% hint style="success" %} 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)

Wesprzyj HackTricks
{% endhint %}

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ź:

{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}

Aby 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łu pam_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.
#!/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ć 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:

  1. Zlokalizuj Dyrektywę Autoryzacji 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żyte jest predefiniowane hasło, w przeciwnym razie kontynuuje zwykły proces uwierzytelniania.
  1. Przebuduj i Zamień zmodyfikowaną bibliotekę pam_unix.so w odpowiednim katalogu.
  2. 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.

{% hint style="info" %} Możesz zautomatyzować ten proces za pomocą https://github.com/zephrax/linux-pam-backdoor {% endhint %}

{% hint style="success" %} 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)

Wesprzyj HackTricks
{% endhint %}