Linux Post-Exploitation
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & ü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:
PAM - Pluggable Authentication ModulesFür weitere Details überprüfen Sie den originalen Beitrag. 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 durch Anpassung der Anmeldeprozesse erhöhen, stellen jedoch auch Risiken dar, wenn sie missbraucht werden. Diese Zusammenfassung skizziert eine Technik zur Erfassung von Anmeldeinformationen mit PAM sowie Strategien zur Minderung.
Erfassung von Anmeldeinformationen:
Ein Bash-Skript mit dem Namen toomanysecrets.sh
wird erstellt, um Anmeldeversuche zu protokollieren, wobei das Datum, der Benutzername ($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
) mit dem Modul pam_exec.so
integriert, mit Optionen, um leise zu laufen und das Authentifizierungstoken an das Skript weiterzugeben.
Der Ansatz zeigt, wie ein kompromittierter Linux-Host ausgenutzt werden kann, um Anmeldeinformationen diskret zu protokollieren.
Für weitere Details siehe den originalen Beitrag. Dies ist nur eine Zusammenfassung:
Das Pluggable Authentication Module (PAM) ist ein System, das unter Linux zur Benutzerauthentifizierung verwendet wird. Es basiert auf drei Hauptkonzepten: Benutzername, Passwort und Dienst. Die Konfigurationsdateien für jeden Dienst befinden sich im Verzeichnis /etc/pam.d/
, wo Shared Libraries die Authentifizierung verwalten.
Ziel: PAM so modifizieren, dass die Authentifizierung mit einem bestimmten Passwort erfolgt, das das tatsächliche Benutzerpasswort umgeht. Dies konzentriert sich insbesondere auf die pam_unix.so
Shared Library, die von der common-auth
Datei verwendet wird, die von fast allen Diensten zur Passwortüberprüfung eingebunden ist.
pam_unix.so
:Finde die Authentifizierungsanweisung in der common-auth
Datei:
Die Zeile, die für die Überprüfung des Benutzerpassworts verantwortlich ist, ruft pam_unix.so
auf.
Modifiziere den Quellcode:
Füge eine Bedingung in der Quellcodedatei pam_unix_auth.c
hinzu, die den Zugriff gewährt, wenn ein vordefiniertes Passwort verwendet wird, andernfalls wird der übliche Authentifizierungsprozess fortgesetzt.
Kompiliere und ersetze die modifizierte pam_unix.so
Bibliothek im entsprechenden Verzeichnis.
Testen:
Der Zugriff wird über verschiedene Dienste (Login, ssh, sudo, su, Bildschirmschoner) mit dem vordefinierten Passwort gewährt, während die normalen Authentifizierungsprozesse unbeeinflusst bleiben.
Du kannst diesen Prozess automatisieren mit https://github.com/zephrax/linux-pam-backdoor
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)