Identifier les fichiers SUID avec des autorisations root
Utilisation de la commande find
La méthode la plus courante pour identifier les fichiers SUID avec des autorisations root consiste à utiliser la commande find
. La commande suivante recherchera dans tout le système de fichiers et répertoriera tous les fichiers SUID appartenant à l'utilisateur root :
find / -type f -perm -4000 -user root -exec ls -l {} \;
Décortiquons cette commande :
find /
: Recherche dans tout le système de fichiers en partant du répertoire racine (/
).
-type f
: Recherche des fichiers ordinaires (pas des répertoires).
-perm -4000
: Recherche les fichiers avec le bit SUID activé.
-user root
: Filtre les résultats pour n'inclure que les fichiers appartenant à l'utilisateur root.
-exec ls -l {} \;
: Exécute la commande ls -l
pour chaque fichier trouvé, affichant la liste détaillée du fichier.
Analyse de la sortie
La sortie de la commande find
vous montrera une liste de fichiers SUID avec des autorisations root, similaire à ce qui suit :
-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
Dans cet exemple, les fichiers /usr/bin/sudo
, /usr/bin/passwd
et /usr/bin/su
sont des fichiers SUID appartenant à l'utilisateur root, ce qui signifie qu'ils peuvent potentiellement être exploités s'ils présentent des vulnérabilités.
Automatisation du processus
Pour rendre le processus d'identification des fichiers SUID plus efficace, vous pouvez créer un script qui exécute la commande find
et enregistre la sortie dans un fichier. Cela peut être utile pour surveiller et auditer régulièrement votre système à la recherche de fichiers SUID.
Voici un exemple de script que vous pouvez utiliser :
#!/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"
Enregistrez ce script sous le nom find_suid_files.sh
, rendez-le exécutable avec chmod +x find_suid_files.sh
, puis exécutez-le avec ./find_suid_files.sh
. Les résultats seront enregistrés dans le fichier suid_files.txt
, que vous pourrez ensuite examiner et analyser.