Linux Post-Exploitation
Last updated
Last updated
Lernen Sie und üben Sie AWS-Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen Sie und üben Sie GCP-Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lassen Sie uns ein PAM-Modul konfigurieren, um jedes Passwort zu protokollieren, das jeder Benutzer zum Anmelden verwendet. Wenn Sie nicht wissen, was PAM ist, überprüfen Sie:
Für weitere Details überprüfen Sie den Originalbeitrag. Dies ist nur eine Zusammenfassung:
Technikübersicht: Pluggable Authentication Modules (PAM) bieten Flexibilität bei der Verwaltung der Authentifizierung auf Unix-basierten Systemen. Sie können die Sicherheit verbessern, indem sie Anmeldeprozesse anpassen, stellen aber auch Risiken dar, wenn sie falsch verwendet werden. Diese Zusammenfassung umreißt eine Technik zum Erfassen von Anmeldeinformationen mithilfe von PAM sowie zu den Abwehrstrategien.
Erfassen von Anmeldeinformationen:
Ein Bash-Skript namens toomanysecrets.sh
wird erstellt, um Anmeldeversuche zu protokollieren, indem das Datum, den Benutzernamen ($PAM_USER
), das Passwort (über stdin) und die IP des Remote-Hosts ($PAM_RHOST
) in /var/log/toomanysecrets.log
erfasst werden.
Das Skript wird ausführbar gemacht und in die PAM-Konfiguration (common-auth
) integriert, indem das Modul pam_exec.so
mit Optionen verwendet wird, um leise auszuführen und das Authentifizierungstoken an das Skript weiterzugeben.
Der Ansatz zeigt, wie ein kompromittierter Linux-Host ausgenutzt werden kann, um Anmeldeinformationen unauffällig zu protokollieren.
Für weitere Details siehe den Originalbeitrag. Dies ist nur eine Zusammenfassung:
Das Pluggable Authentication Module (PAM) ist ein System, das unter Linux für die Benutzerauthentifizierung verwendet wird. 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 verarbeiten.
Ziel: Ändern Sie PAM so, dass die Authentifizierung mit einem spezifischen 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.
pam_unix.so
:Suchen Sie die Authentifizierungsanweisung in der Datei common-auth
:
Die Zeile, die für die Überprüfung des Benutzerpassworts verantwortlich ist, ruft pam_unix.so
auf.
Ändern des Quellcodes:
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.
Neu kompilieren und Ersetzen der modifizierten pam_unix.so
-Bibliothek im entsprechenden Verzeichnis.
Testen:
Der Zugriff wird mit dem vordefinierten Passwort über verschiedene Dienste (Anmeldung, ssh, sudo, su, Bildschirmschoner) gewährt, während normale Authentifizierungsprozesse unberührt bleiben.
Sie können diesen Prozess automatisieren mit https://github.com/zephrax/linux-pam-backdoor
Lernen Sie & üben Sie AWS-Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen Sie & üben Sie GCP-Hacking: HackTricks Training GCP Red Team Expert (GRTE)