Es probable que hayas visto con anterioridad como junto a programas o archivos descargables desde internet aparecen ciertos términos como hash, MD5, SHA o similares. Hoy veremos para qué sirve un hash y como calcular el hash de un archivo o programa descargado de internet.
Qué es un hash?
Las funciones hash son frecuentemente utilizadas para garantizar la integridad de un archivo o ejecutable, garantizando que el mismo no ha sido alterado desde que fue creado, esto es, desde la fuente original.
Podemos encontrar hashes que se utilizan en situaciones muy diversas, desde firmas digitales a fingerprinting (sirve a modo de resumen con valor de integridad) o para contabilizar checksums o sumas de verificación, estas últimas destinadas a comprobar que un archivo es el que dice ser.
Un hash es un conjunto de instrucciones utilizada por ordenadores para manipular datos. Muchas funciones hash están diseñadas para producir un resultado fijo, sin importar el tamaño de los datos de entrada.
Algunos desarrolladores de software publican en sus sitios de descarga los valores hash asociados a sus paquetes de software, de manera que quien los descarga sabe que se trata de una versión genuina del mismo. Así podemos descartar de antemano que un atacante los haya manipulado en tránsito.
Diferentes tipos de hashes
Los hashes, entre los que encontramos el estándar MD5 o Message-Digest Algorithm 5 ha sido usado durante décadas en muchas aplicaciones de ciberseguridad, pero también es importante para otro propósito: la verificación de datos.
Aún a día de hoy, el MD5 es el tipo de hash que más se utiliza para garantizar la integridad.
Imaginemos que estás buscando una imagen ISO de un sistema operativo Windows o Linux, que quieres buscar la última disponible y lo haces desde un cliente como BitTorrent u otra fuente no oficial.
La única forma de evitar instalar un software con posibles manipulaciones o puertas traseras es usar la validación de integridad o «digest» con estándares como MD5, SHA-1, SHA256, etcétera.
¿Cómo calcular el hash de un archivo o ejecutable?
Quizá te estarás preguntando, ¿Cómo calcular un hash para garantizar la integridad y veracidad de un ejecutable o conjunto de archivos? Es más sencillo de lo que parece.
Calcular un hash en Linux o Mac OS
En estos sistemas es sumamente fácil porque tienen el cálculo de hashes posibilitado desde el propio sistema operativo. Solo tenemos que abrir un terminal y escribir lo siguiente:
md5sum ruta/archivo.iso
Lo que hemos hecho es decirle al sistema que calcule un hash (identificador único no manipulable) del fichero en cuestión. Es el número largo que aparece delante.
En un sistema Mac OS abriremos un Terminal y escribiremos:
md5 ruta/archivo.iso
Esto funciona exactamente igual con el hash de tipo SHA-1 y solo tendremos que sustituir md5 por sha1.
Calcular hash de una cadena de texto
Si queremos calcular el hash de un texto introducido a mano o pegado desde el portapapeles (en lugar de en base a un archivo) podemos adoptar una solución como la siguiente, desde el terminal de Linux:
~$ echo -n <texto> | md5sum
Donde pone texto, omitiremos los símbolos <>.
Calcular un hash en Windows
Certutil
La utilidad certutil nos permite administrar certificados y es nativa en sistemas Windows y Windows Server. Uno de los cometidos de la revisión de un certificado es garantizar su integridad, para lo cual esta utilidad cuenta con una sintaxis determinada que permite calcular la suma Hash de los mismos.
certutil -hashfile <ruta\nombre_archivo> SHA256
Ejemplo.
certutil -hashfile "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" MD5
Resultado:
FCIV
Aunque Windows no tiene esta característica de forma nativa, podemos descargar la aplicación ofrecida por Microsoft –FCIV– para comparar los hashes de dos programas o archivos. En la descarga encontraremos dos cosas: el propio programa y un archivo de texto con instrucciones de uso.
Recomiendo instalar el mismo en la ruta Windows\System32 para que podamos invocar al a herramienta desde cualquier carpeta del equipo sin tener que acceder siempre manualmente a la ruta del programa.
Ahora, para calcular el hash MD5 de un archivo descargado, solo necesitamos abrir el CMD o Símbolo de Sistema desde la ruta donde se encuentra el archivo y escribir lo siguiente:
1
|
<em>fciv.exe nombre de archivo</em> |
Por defecto se calculará el hash MD5 de un archivo. Si queremos obtener el hash SHA-1 bastará con escribir:
1
|
<em>fciv.exe –sha1 C:\ruta\archivo.iso</em> |
La salida que obtendremos mediante el CMD con esta herramienta es similar a la que ofrece Linux:
Calcular hash con Powershell
También podemos echar mano de la potente linea de comandos que es powershell, que viene incluido en todas las versiones recientes de Windows.
Abriremos powershell pulsando la combinación de teclas WINDOWS + R y seleccionaremos la opción apropiada. En versiones anteriores abriremos el menú Inicio > Ejecutar y escribiremos «powershell» (sin comillas) seguido de intro.
Luego escribiremos la orden:
Get-FileHash \ruta\archivo
También podemos usar Get-FileHash seguido de intro e ir escribiendo después tantas rutas como queramos. Cuando hayamos terminado pulsaremos un intro sin escribir nada. El resultado se parecerá a este:
Por supuesto, al utilizar el cmdlet Get-FileHash de Powershell podemos escoger el tipo de algoritmo de hash a representar, pues no siempre nos encontraremos con lo mismo en la web donde vayamos a descargar nuestro fichero, o quizá nos interese escoger algo más robusto que md5, como sha1 o sha256, que es el predefinido en Powershell.
Ejemplos:
Get-FileHash /ruta/archivo -algorithm <algoritmo>
Ejemplo: md5, sha1, sha256, etcétera.
Otras formas de calcular hashes
Si lo anterior nos da problemas o simplemente queremos conseguir alternativas más convenientes o rápidas, os recomiendo tener en cuenta dos opciones:
- Hashtab: esta aplicación calcula hashes fácilmente. Una vez la hayamos instalado, podremos analizar el hash asociado a cualquier programa o archivo con el botón derecho. Soporta muchos más tipos además de los habituales md5 y sha1.
- DomainTools: esta web tiene multitud de herramientas para administradores de sistemas y servicios cloud. Este resulta especialmente conveniente. Podemos calcular cualquier tipo de hash sin esfuerzo, tanto para archivos como para entradas de texto.
Recordad que siempre hay que desconfiar de todo aquello que nos bajamos desde internet. Es mejor prevenir que curar -o esperar a que el antivirus de turno sea capaz de neutralizar la amenaza- así que empezad ya a practicar con esos hashes!.
No te pierdas ninguna de nuestras guías, deja tu comentario si te ha parecido útil, y nos vemos con más guías y consejos sobre informática y ciberseguridad, así como guías detalladas sobre los mejores antivirus gratis para Windows, Mac o Android (así como sus versiones Premium para una protección más completa).
Descubre el mejor antivirus para 2024
Accede a nuestro comparador gratuito y encuentra el antivirus que mejor se adapte a lo que necesitas y con mejor valoración de los expertos.
Ir al comparador