Aller au contenu
Accueil » blog » Comprendre la fonction de hachage – HackinGeeK

Comprendre la fonction de hachage – HackinGeeK

    Quoi de neuf les gars? ça fait longtemps !!

    Après un petit moment de calme (côté article), je reviens avec un nouveau sujet pour vous ???? : « Hashing »

    • Que sont les fonctions de hachage et le hachage ?

    Les fonctions de hachage sont un type spécial de fonction qui effectue certaines opérations en mathématiques et en informatique, qui opèrent sur des bits. Ce ne sont pas des algorithmes de chiffrement/déchiffrement. Par conséquent, la fonction de hachage n’a pas besoin de clé pour effectuer des opérations. Ce sont des fonctions qui fonctionnent rapidement et disposent de fonctions de calcul simples. De cette façon, ils pourront travailler en peu de temps même sur des fichiers volumineux.

    En termes simples, il prend en réalité : une entrée et produit une sortie suite aux calculs de l’algorithme.

    Cette sortie est appelée « Hash ». La longueur d’entrée peut être variable tandis que la longueur de sortie est fixe. L’une des caractéristiques importantes des fonctions de hachage est qu’elles produisent un hachage différent pour chaque entrée différente.

    Par exemple, le hachage de la chaîne de bits « 00110101 » et le hachage de la chaîne de bits « 00110100 » sont différents. La différence d’un seul bit affecte le résultat produit par la fonction de hachage, c’est-à-dire qu’elle rend la valeur de hachage différente. La fiabilité de la fonction de hachage dépend de la production de différents hachages pour différentes entrées.

    Remarque : Si deux entrées différentes provoquent le même hachage, la fonction de hachage perd sa fiabilité ! (et si possible)

    • Quels sont les objectifs de son utilisation ?

    Ils transmettent des entrées ou des fichiers très volumineux via des opérations basées sur les bits, ce qui entraîne un hachage court et unique via l’algorithme. Le hachage produit grâce à la fonction peut être utilisé comme identité numérique des données.

    Il faut savoir que les valeurs de hachage sont utilisées pour distinguer les malwares. Je peux obtenir des informations sur les logiciels malveillants lorsque j’interroge à grande échelle le logiciel malveillant ou le hachage de fichiers sur des fichiers malveillants ou des fichiers connus. Par exemple, rechercher le hash sur « virustotal.com » (que vous connaissez déjà très bien ????).

    • Hachage et transmission de données

    Un autre objectif de l’utilisation des fonctions de hachage est la vérification de l’intégrité. Si un problème est survenu lors de la transmission des données ou du fichier et qu’il y a eu un changement dans les bits du fichier/des données, des hachages sont utilisés pour le résoudre. Parfois, les pirates peuvent spécifiquement remplacer de vrais fichiers par de faux fichiers. Dans ce cas, il vaut la peine de vérifier si le fichier est l’original ou non. Une façon de savoir que le fichier est intact consiste à utiliser des fonctions de hachage (comme lorsque je télécharge des fichiers à partir de sources externes pour vérifier leur originalité).

    Je vous montre un exemple avec le fichier avec une extension « iso » qui permet de télécharger Kali-Linux depuis son site officiel : https://www.kali.org/get-kali/#kali-installer-images

    Après avoir cliqué sur « somme » j’obtiens le hachage du fichier, il ne me reste plus qu’à vérifier si depuis mon terminal et après téléchargement j’aurai le même hachage ???

    Le hachage du fichier iso que j’ai téléchargé sur le site Web est : 54cf16e191c0b61334e9f6c1ce633c922398e13136d4b99723c64286b171646a

    Utilisation de la commande somme sha256 depuis mon terminal Linux je vais calculer le hachage sha256 de mon fichier :

    Comme je peux le voir, j’ai obtenu la même valeur de hachage fournie par le site officiel avec la commande « sha256sum ». Vu que les valeurs de hachage sont les mêmes, cela signifie que le fichier n’a pas été modifié et qu’il s’agit du fichier original !!! Alors c’est bien.

    • Le rôle des fonctions de hachage dans la cybersécurité

    Les fonctions de hachage sont très importantes en termes de cybersécurité. Sur les systèmes Linux et Windows, les informations de mot de passe utilisateur ne sont pas conservées en texte clair sur le système. Ce serait une méthode très peu sûre. Les mots de passe sont stockés sous forme de hachages dans les systèmes (vous le saviez déjà, n’est-ce pas ?). Ces fonctions sont différentes des autres algorithmes de chiffrement. L’une de ces différences, peut-être l’une des plus importantes, est qu’elles sont unidirectionnelles.

    Remarque : One-way signifie que l’entrée donnée à la fonction de hachage ne peut pas être obtenue dans le hachage.

    • Une des fonctions de hachage les plus connues : MD5

    Bien que les fonctions de hachage soient des algorithmes généraux fonctionnant avec une logique similaire, il existe certaines différences entre elles. Je dois m’en souvenir La longueur du hachage produit par chaque fonction de hachage est une valeur fixe différente !! (pour ne pas oublier). Un exemple sera plus révélateur ???? :

    – Vérification de:

    Un outil en ligne (https://www.miraclesalad.com/webtools/md5.php)

    Le terminal Linux puissant et célèbre

    Commande : éco-n hackingeek | somme md5

    Voilà, le résultat est le même en utilisant ces deux méthodes.

    REMARQUÉ : Je peux utiliser la commande « md5sum myfilename » pour calculer le hachage MD5 d’un fichier à partir de la ligne de commande Linux.

    Mes amis, c’est la fin de cet article. J’ai essayé de vous montrer la fonction de hachage d’une manière très simple. Je pense qu’il faut bien maîtriser ces fonctions (vous les retrouverez tout le temps lors de vos pratiques de pentesting, etc.), en tout cas si vous avez des questions ou des points clés que vous ne comprenez pas, n’hésitez pas à contacter moi!

    Pour ceux qui veulent voir d’autres fonctions de hachage :

    https://en.wikipedia.org/wiki/List_of_hash_functions

    Paix et à bientôt !!!