Die Identifizierung von SUID-Dateien mit Root-Berechtigungen
Die Verwendung des find-Befehls
Die gebräuchlichste Methode, um SUID-Dateien mit Root-Berechtigungen zu identifizieren, ist die Verwendung des find
-Befehls. Der folgende Befehl durchsucht das gesamte Dateisystem und listet alle SUID-Dateien auf, die vom Root-Benutzer (root user) gehört werden:
find / -type f -perm -4000 -user root -exec ls -l {} \;
Lassen Sie uns den Befehl analysieren:
find /
: Sucht im gesamten Dateisystem, beginnend vom Root-Verzeichnis (/
).
-type f
: Sucht nach regulären Dateien (nicht Verzeichnissen).
-perm -4000
: Findet Dateien, für die das SUID-Bit gesetzt ist.
-user root
: Filtert die Ergebnisse so, dass nur Dateien angezeigt werden, die vom Root-Benutzer gehört werden.
-exec ls -l {} \;
: Führt den ls -l
-Befehl für jede gefundene Datei aus und zeigt die ausführliche Dateiliste an.
Die Analyse der Ausgabe
Die Ausgabe des find
-Befehls zeigt Ihnen eine Liste von SUID-Dateien mit Root-Berechtigungen, ähnlich wie im folgenden Beispiel:
-rwsr-xr-x 1 root root 27608 Mar 23 2022 /usr/bin/sudo
-rwsr-xr-x 1 root root 43088 Mar 23 2022 /usr/bin/passwd
-rwsr-xr-x 1 root root 27608 Mar 23 2022 /usr/bin/su
In diesem Beispiel sind die Dateien /usr/bin/sudo
, /usr/bin/passwd
und /usr/bin/su
SUID-Dateien, die vom Root-Benutzer gehört werden. Dies bedeutet, dass sie potenziell ausgenutzt werden können, wenn sie Sicherheitslücken (vulnerabilities) aufweisen.
Die Automatisierung des Prozesses
Um den Prozess der Identifizierung von SUID-Dateien effizienter zu gestalten, können Sie ein Skript erstellen, das den find
-Befehl ausführt und die Ausgabe in einer Datei speichert. Dies kann nützlich sein, um Ihr System regelmäßig auf SUID-Dateien zu überwachen und zu auditieren.
Hier ist ein Beispielskript, das Sie verwenden können:
#!/bin/bash
output_file="suid_files.txt"
echo "Searching for SUID files with root permissions..."
find / -type f -perm -4000 -user root -exec ls -l {} \; > $output_file
echo "Results saved to $output_file"
Speichern Sie dieses Skript unter find_suid_files.sh
, machen Sie es ausführbar mit chmod +x find_suid_files.sh
und führen Sie es dann mit ./find_suid_files.sh
aus. Die Ergebnisse werden in der Datei suid_files.txt
gespeichert, die Sie dann überprüfen und analysieren können.