Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 23h31   #1
Invité de passage
 
Inscription : août 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 8
Points : 3
Points : 3
Par défaut Difference d'execution selon l'emplacement

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 :
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

Citation:
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 :

Citation:
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)

Citation:
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
distopia est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 18/11/2011, 08h59   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 538
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 538
Points : 7 754
Points : 7 754
ton programme doit s'exécuter les commandes comme utilisateur pas comme root, si il a besoin de toucher aux périphériques ou de modifier des libs ou fichiers dans /usr tu dois utiliser les setuid sur les commandes concernées.

mais lancer un sudo dans system().... ça limite pas le programme et c'est déjà moins porcasse que system(...sudo -c "commandes");
frp31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 16h06   #3
Invité de passage
 
Inscription : août 2009
Messages : 8
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 8
Points : 3
Points : 3
Problème résolu :

la clef USB est effectivement montée avec l’option nosuid, qui rend inopérant le bit set-user-id mais pas "/media/dallas/
distopia est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/11/2011, 18h02   #4
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 482
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 482
Points : 9 616
Points : 9 616
Citation:
Envoyé par distopia Voir le message
la clef USB est effectivement montée avec l’option nosuid, qui rend inopérant le bit set-user-id mais pas "/media/dallas/
Faut pas croire, mais les guignoles qui ecrivent les systemes d'exploitations s'y connaissent un peu en securite
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h53.


 
 
 
 
Partenaires

Hébergement Web