Bonjour
Je ne suis pas sur de poster dans la bonne catégorie mais c'est un peu un problème de sécurité :
J'ai codé un petit programme tout simple qui prend le paramètre entré par l'utilisateur et qui l'exécute via system() afin de voir s'il était possible d'exécuter des commandes root en tant qu'utilisateur standard (Oui, je sais system() c'est le mal)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdio.h> #define NOM_SOFT "rootadit" int main(int argc, char* argv[]) { if(argc < 2) { fprintf(stdout, "Usage : $ %s \"commande\"", NOM_SOFT); return 1; } system(argv[1]); return 1; }
Puis, je le compile et je le "chown" en root
distopia@dallas:/media/dallas$ gcc -o rootadit rootadit.c
distopia@dallas:/media/dallas$ sudo chown root:root ./rootadit
[sudo] password for distopia:
distopia@dallas:/media/dallas$ ./rootadit "whoami"
distopia
distopia@dallas:/media/dallas$ sudo chmod u+s rootadit
distopia@dallas:/media/dallas$ ls -l
-rwsr-xr-x 1 root root 7217 2011-11-17 21:56 rootadit
-rw-r--r-- 1 distopia distopia 689 2011-11-17 19:08 rootadit.c
distopia@dallas:/media/dallas$ ./rootadit "whoami"
root
Comme vous le voyez, un simple utilisateur pourrait utiliser ce soft pour faire des bêtises...
Mais si je tente la même chose à partir d'une clé USB :
distopia@dallas:/media/RutherfordUSB$ gcc -o rootadit rootadit.c
distopia@dallas:/media/RutherfordUSB$ sudo chown root:root ./rootadit
[sudo] password for distopia:
distopia@dallas:/media/RutherfordUSB$ ./rootadit "whoami"
distopia
distopia@dallas:/media/RutherfordUSB$ sudo chmod u+s rootadit
distopia@dallas:/media/RutherfordUSB$ ls -l
-rwsr-xr-x 1 root root 7217 2011-11-17 21:59 rootadit
-rw-r--r-- 1 distopia distopia 689 2011-11-17 19:08 rootadit.c
distopia@dallas:/media/RutherfordUSB$ ./rootadit "whoami"
distopia
Le système comprend que je veux le duper alors que les deux dossiers (le disque et le clé ont les même droits)
distopia@dallas:/media/RutherfordUSB$ ls -l /media/
drwxrwxrwx 6 root root 4096 2011-11-17 21:56 dallas
drwxrwxrwx 7 root root 4096 2011-11-17 21:59 RutherfordUSB
Quelque part c'est rassurant car si on pouvait exécuter ce soft à partir d'une clé USB, çe serait une faille énorme.
Mais je me demandais, pourquoi ça marche sur le disque dur ( /media/dallas/ ) et pas sur la clé?
Merci de votre attention






Répondre avec citation







Partager