Latest News

Fourni par Blogger.

Archives du blog

lundi 7 octobre 2013
walid video

Une technique de hacking infaillible

Cette technique de hacking permet de récupérer des données stockées sur un serveur contenant plusieurs utilisateurs. À noter que le principe est souple et s’applique à plusieurs systèmes d’exploitation et même aux sites web. Mais nous resterons axés sur Linux dans cet article, qui sert uniquement de démonstration.
Le but de l’article est légitime, il invite les utilisateurs à prendre connaissances des techniques afin de mieux s’en protéger. Vous serez les seuls responsables de vos actes pour toute utilisation hors du cadre prévu.
Ici, il s’agit tout particulièrement des serveurs comme ceux d’une école ou d’une entreprise dont chaque utilisateur dispose de son propre compte, et donc de son propre espace personnel. Cette méthode est extrêmement facile à mettre en place, mais nous verrons qu’il est heureusement facile de s’en prémunir lorsqu’on en a pris conscience.
Bien souvent une technique de hacking réussie consiste à chercher une faille du côté humain autant que du côté logiciel, c’est exactement ce que nous ferrons.

Introduction

Avec Linux, tous les dossiers et fichiers disposent de droits de lecture (d’accès), d’écriture et d’exécution. Ces droits sont définis par défaut sur un serveur et la commande umask (pour user mask) permet de les changer.
Bien souvent les droits par défaut sont 022 ce qui signifie que chaque dossier et fichier crée est accessible en lecture et en exécution.
Il est donc théoriquement possible d’accéder à ces fichiers et dossiers (notons par la même occasion qu’un dossier n’est qu’un fichier spécifique pour linux).
Il est également facile de modifier les droits de ces fichiers et chaque utilisateur est tenu de sécuriser son dossier personnel, ce qui ne constitue donc pas une faille de sécurité technique à proprement parler.

Explications

Le nombre 022 est à diviser en trois parties : 0, 2 et 2.
  • Le premier chiffre correspond à l’utilisateur propriétaire du fichier crée.
  • Le second chiffre correspond à tous les utilisateurs qui appartiennent au même groupe que le propriétaire.
  • Le troisième chiffre correspond à tous les autres utilisateurs.
Voici la liste de ces chiffres et leurs significations :
0 Permission totale (Lire, ecrire, exécuter)
1 Lire et Écrire
2 Lire et Exécuter
3 Lire uniquement
4 Écrire et Exécuter
5 Écrire uniquement
6 Exécuter (admin)
7 Aucune permission
Ainsi 022 correspond à :
  • Permission totale pour le propriétaire, ce qui est normal.
  • Droit de Lire et Exécuter pour le groupe.
  • Droit de Lire et Exécuter pour les autres utilisateurs.
Les chiffres vont de 0 à 7, et le masque 022 est l’inverse (le but d’un masque) de755. C’est donc l’équivalent de :
chmod 755 <fichier>
pour ceux qui préfèrent cette notation.

Que faire avec tout cela ?

On a vu que les droits par défaut d’un fichier crée permettent dans la majorité des cas de lire et d’exécuter ce fichier si nous faisons partie des autres utilisateurs.
Le dossier principal contenant tous les fichiers et sous-dossiers est quant à lui bien souvent protégé, les autres utilisateurs ne peuvent ni lire, ni exécuter et encore moins écrire dans ce dossier.
Le problème semble donc résolu, il suffit de mettre tous les fichiers et sous-dossiers dans un dossier général et le verrouiller. Mais le contenu de ce dossier généralgarde les droits par défaut (022 que nous avons vu avant) !

Exemple

Maintenant que nous savons qu’il y a de grandes chances de pouvoir lire un fichier ou dossier, il faut savoir qu’il peut être lu en connaissant son nom tout simplement !
Disons que nous sommes un utilisateur appelé lambda sur un serveur et récapitulons le tout sous forme schématique : (en jaune les dossiers, en gris les fichiers)
technique de hacking
Les sous-dossiers sd1 et sd2 ainsi que le fichier f1 sont en théorie accessibles, mais on ne peut pas y accéder en ouvrant le dossier lambda car lui ne permet pas l’affichage (l’accès) à son contenu.
Par contre en connaissant le nom des sous-dossiers et fichiers, on peut y accéder via un chemin comme :
serveur.fr/users/lambda/sd1
pour afficher le contenu dans une fenêtre de navigateur web par exemple.
Le chemin:
serveur.fr/users/lambda/
reste quant à lui bel et bien inaccessible.

Comment connaître le nom des dossiers ?

dev061walid n’incite pas à aller à l’encontre des lois. 

Comment faire pour s’en prémunir ?

Vous l’aurez compris il n’y a pas cent façons de procéder, il suffit de vérifier les droits de chaque fichier et dossier. Il est possible d’appliquer la commande chmodrécursivement pour bloquer tous les sous-dossier récursivement :
chmod -R <dossier>
Évitez également les noms trop évidents dans vos dossiers (notamment ceux qui sont sensibles ou personnels) et gardez un dossier Public qui lui seul autorisera les autres utilisateurs à lire les fichiers qui s’y trouvent.
Dans le cas d’un site web, utilisez un fichier .htaccess avec Options -Indexes pour ne pas lister les fichiers et évitez là aussi les noms trop intuitifs.
  • Blogger Comments
  • Facebook Comments

0 commentaires:

Enregistrer un commentaire

Item Reviewed: Une technique de hacking infaillible 9 out of 10 based on 10 ratings. 9 user reviews.
Scroll to Top