GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

Analyses Sécurité avec Powershell

Analyser un hash

https://gchq.github.io/CyberChef/

Un hash est utilisé pour détecter si un fichier a été modifié et n'est donc plus intègre. il existe un grand nombre de mécanismes de hash basés sur les algorithmes MD4/5, SHA 1/2/3, NT Hash, LM Hash, CRC-16 ou 32 et encore bien d'autres. Le résultat généré par cette fonction est unique et constitue l'empreinte (ou la signature) du fichier ou du message (ou du certificat SSL). Lors de téléchargements de fichiers licites et officiels, les éditeurs fournissent également le hash de ce fichier, afin que nous puissions nous assurer que le fichier téléchargé n'a pas été corrompu.

Hash sous Linux

Linux dispose de commandes de base pour gérer les hash des algorithmes les plus courants (dans /usr/bin) :

CommandeDescription
sha1sumSomme de contrôle avec SHA1
md5sumSomme de contrôle avec MD5
cksumSomme de contrôle par CRC
innochecksumSomme de contrôle pour tables InnoDB
b2sumSomme de contrôle par BLAKE2 (512-bit)
sha224sumSomme de contrôle avec SHA224
sha384sumSomme de contrôle avec SHA384
sha512sumSomme de contrôle avec SHA512
sha256sumSomme de contrôle avec SHA256
Calculer le hash revient alors à des étapes simples comme
sha256sum <fichier>

Ou bien pour calculer le hash d'un fichier 
echo "hello world" | sha256sum

Ce qui affiche le has suivant
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
			

Une fois ce hash disponible, il ne reste plus qu'à comparer le hash source et le hash destination pour déterminer si le fichier a été corrompu ou non.

Hash sous Windows

Pour générer le hash d'un fichier, sous Windows avec MSDOS, utilisez la command certutil : certutil -hashfile <nom_du_fichier> <algorithme> L'algorithme peut être SHA256, SHA1, ...

Avec Powershell : Get-FileHash -Algorithm SHA256 -Path <file_path>

Focus sur SHA-256

L'algorithme SHA-256 (Secured Hash Algorithm) est une fonction de hachage crypto permettant de générer une empreinte numérique de 256 bits à partir de données de longueur variable. Cette empreinte est représentée sous forme d'une suite de chiffres et lettres de 64 caractères en hexadécimal. Créé en 2001 par la NSA (National Security Agency), c'est un algorithme très utilisé dans de nombreux domaines, notamment les chaines de Bitcoin, car c'est un algorithme qui offre un haut niveau de sécurité.

L'algorithme SHA-256 est relativement complexe, mélangeant des calculs binaires avec des fonctions de compression incluant des additions, multiplications, substitutions, rotations ainsi que d'arbres de Merkle. Quand je vous dis que c'est robuste...

Quoi faire de plus avec un hash ?

Nous avons vu que le hash permettait d'être comparé à une valeur hexadécimale fournie par le site qui propose le téléchargement du fichier qui nous intéresse. Maintenant il existe d'autres services permettant de gérer ces hash comme les sites d'antivirus qui vont vérifier les hash en les comparant avec des fichiers reconnus comme étant porteurs de virus.

Un site pratique pour ce genre d'activité est virustotal avec lequel vous pouvez spécifier un hash et VirusTotal vous dira ce qu'il en est de ce fichier.

Une autre solution est de simplement copier/coller ce hash dans la barre de recherche de Google et potentiellement de se rendre sur MD5hashing.net. Ce site vous permettra de savoir ce qui se trouve derrière ce hash. Par exemple si vous passez ce hash (a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447) à MD5hashing, il vous sortira l'information que c'est en fait la chaine "hello world" qui a subi ce hash.