Linux Post-Exploitation
Mitschneiden von Anmeldepasswörtern mit PAM
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:
PAM - Pluggable Authentication ModulesFü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 Modulpam_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.
Backdooring PAM
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.
Schritte zur Modifizierung von pam_unix.so
:
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
Last updated