Home Linux Hashes de archivos en Windows y Linux

Hashes de archivos en Windows y Linux

by José Luis Sánchez Borque

Empecemos definiendo que es un hash

Una función criptográfica hash- conocida como “hash”- es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada, el valor hash de salida tendrá siempre la misma longitud ( 40 caracteres )

Para los que prefieran el aprendizaje visual en esta imagen vemos el concepto.

Cryptographic Hashing Explained

Existen diferentes algoritmos para el cálculo de hashes, entre los que podemos destacar los siguientes:

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MD5

Cuidado!!! Algunos de ellos han sido ya comprometidos, por lo que su elección no sería la más adecuada para… NADA. MD5 es un ejemplo de ello.

Hoy en día las utilidades de los hashes son múltiples. Cabe destacar la principal.. Codificar las contraseñas de los usuarios para almacenarlas de forma segura.

En este Post nos centraremos en otra….Calcular el valor hash de archivos ejecutables.  ¿Porqué? ….

Hoy en día, una de las técnicas más utilizadas para conseguir el acceso a sistemas ajenos es la de software malicioso en forma de troyano o similar. Programas que normalmente son INYECTADOS en programas de uso normal, que al instalarlos en nuestro PC activan también el troyano que llevan dentro…

Los fabricantes suelen proporcionar el hash de sus archivos ejecutables, de tal forma que DEBERÍAMOS SIEMPRE COMPROBAR el hash del fichero que nos hemos bajado, con el proporcionado por el fabricante.  Sobre todo es OBLIGATORIO si lo descargamos de páginas de terceros.

Podemos ver en el siguiente Post de Shellter lo fácil que es inyectar código  maligno en un ejecutable de winrar.exe…

DEMO SHELLTER – Ataque desde el lado del cliente

Pongamos un ejemplo. Si queremos bajarnos el popular programa de virtualización VirtualBox, vemos que en la página del fabricante nos indican lo mismo que os he explicado.

Si pulsamos sobre el enlace vemos los valores para SHA-256:

Si nos fijamos en el de Windows su valor es el siguiente:

a7b340eaa8ad9de72373162bcbba3fc0eeed9696fa404a0e5b99c0983151a3fc VirtualBox-6.0.4-1284-Win.exe

Hay infinidad de utilidades que nos dan el valor … En la propia Store de Microsoft está Hash Tool. Si cargamos el fichero vemos como coincide..

Veamos como hacerlo con cmdlets de PowerShell:

PS C:\> ls .\VirtualBox-6.0.4-128413-Win.exe

Directorio: C:\

Mode        LastWriteTime      Length   Name
----        -------------      ------   ----
-a----   30/03/2019 14:29   219650560   VirtualBox-6.0.4-128413-Win.exe

PS C:\> Get-FileHash .\VirtualBox-6.0.4-128413-Win.exe -Algorithm SHA256 | Format-List

Algorithm : SHA256
Hash : A7B340EAA8AD9DE72373162BCBBA3FC0EEED9696FA404A0E5B99C0983151A3FC
Path : C:\Users\usuario\Downloads\VirtualBox-6.0.4-128413-Win.exe

Vemos como coincide en SHA-256 con el proporcionado por el fabricante 🙂

Podemos encontrar en la propio Web de microsoft ayuda del cmdlet Get-FileHash.

Básicamente con el parámetro -Algoritm podemos indicar el tipo de codificación:

PS C:\> Get-FileHash .\VirtualBox-6.0.4-128413-Win.exe -Algorithm MD5

MD5 64530CCB209C38A1C3CBEAD8B9927CE6 

PS C:\> Get-FileHash .\VirtualBox-6.0.4-128413-Win.exe -Algorithm SHA256

SHA256 A7B340EAA8AD9DE72373162BCBBA3FC0EEED9696FA404A0E5B99C0983151A3FC 

PS C:\> Get-FileHash .\VirtualBox-6.0.4-128413-Win.exe -Algorithm SHA384

SHA384 BBE3174C9B3BEC263C3328EC1BB63BBFAD4239936118ED7197C84CDFE190A6DBCEE

PS C:\> Get-FileHash .\VirtualBox-6.0.4-128413-Win.exe -Algorithm SHA512

SHA512 7426342C3BAC9E9194B230E2A665C2E62EF276EB7A26CF01276C965DEAB3F2622D6

Podemos hacer exactamente lo mismo en el mundo linux… con los comandos:

  • md5sum
  • sha256
  • sha512

Su funcionamiento igual de fácil.

root@kali:~/Downloads# ls VirtualBox-6.0.4-128413-Win.exe

VirtualBox-6.0.4-128413-Win.exe

root@kali:~/Downloads# md5sum VirtualBox-6.0.4-128413-Win.exe

64530ccb209c38a1c3cbead8b9927ce6 VirtualBox-6.0.4-128413-Win.exe

root@kali:~/Downloads# sha256sum VirtualBox-6.0.4-128413-Win.exe

a7b340eaa8ad9de72373162bcbba3fc0eeed9696fa404a0e5b99c0983151a3fc VirtualBox-6.0.4-128413-Win..

Esperemos ahora que dediques 2 segundos a comprobar dichos valores antes de meter al séptimo de caballería en tu casa en forma de troyano.

Enjoy!!

 

 

 

 

 

 

 

You may also like

Leave a Comment