.. | ||
pam-pluggable-authentication-modules.md | ||
README.md |
Linux Post-Exploitation
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud github Repositories senden.
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 Modulpam_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
:
- Authentifizierungsanweisung finden in der Datei
common-auth
:
- Die Zeile, die das Benutzerpasswort überprüft, ruft
pam_unix.so
auf.
- 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.
- Kompilieren und Ersetzen der modifizierten Bibliothek
pam_unix.so
im entsprechenden Verzeichnis. - 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:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Ihre Hacking-Tricks, indem Sie Pull Requests an die HackTricks und HackTricks Cloud GitHub-Repositories senden.