Búsqueda de sitios web

Hashdeep: una herramienta para la integridad de archivos y análisis forense


Como usuario experimentado de Linux con más de una década de experiencia, me he encontrado con muchas herramientas que ayudan en diversos aspectos de la administración del sistema, la seguridad y la ciencia forense.

Una de esas herramientas que encuentro particularmente útil es hashdeep, que es una potente utilidad de línea de comandos que se utiliza principalmente para comprobar la integridad de los archivos y verificar los hashes criptográficos.

En este artículo, brindaré una comprensión detallada de qué es hashdeep, cómo funciona y cómo puede usarlo de manera efectiva en entornos Linux.

¿Qué es el hash profundo?

hashdeep es una herramienta utilizada para calcular, comparar y verificar hashes de archivos, que son identificadores únicos que se crean aplicando una función hash (como SHA-256 o MD5). al contenido de un archivo. Estos hashes sirven como “huellas digitales” para los archivos. Cuando dos archivos tienen el mismo hash, significa que su contenido es idéntico.

hashdeep admite múltiples algoritmos hash como MD5, SHA-1 y SHA-256, lo que lo hace flexible para varios casos de uso.

Se utiliza más comúnmente en:

  • Comprobación de la integridad de los archivos: garantizar que los archivos no hayan sido manipulados ni dañados con el tiempo.
  • Forense Digital: Verificación de la integridad de archivos en investigaciones forenses.
  • Copia de seguridad y restauración: verificar la integridad de los archivos de copia de seguridad y garantizar la coherencia de los datos durante los procesos de recuperación.

Instalación de hashdeep en Linux

Antes de profundizar en su uso, primero instalemos hashdeep en su sistema Linux, que está disponible en la mayoría de los repositorios de paquetes de distribución, para que la instalación sea fácil.

sudo apt install hashdeep         [On Debian, Ubuntu and Mint]
sudo yum install hashdeep         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/hashdeep  [On Gentoo Linux]
sudo apk add hashdeep             [On Alpine Linux]
sudo pacman -S hashdeep           [On Arch Linux]
sudo zypper install hashdeep      [On OpenSUSE]    
sudo pkg install hashdeep         [On FreeBSD]

Una vez instalado, puede comenzar a usar hashdeep para calcular y verificar los hashes de archivos.

A continuación se detallan algunos de los casos de uso más comunes.

1. Calcular hashes de archivos

El uso más básico de hashdeep es calcular el hash de uno o varios archivos.

hashdeep -c sha256 myqr.png

En este comando:

  • -c sha256 especifica el algoritmo hash (SHA-256 en este caso).
  • myqr.png es el archivo que desea aplicar hash.

Puede reemplazar sha256 con md5, sha1 u otros algoritmos compatibles según sus preferencias.

2. Hashing de archivos de forma recursiva en un directorio

También puedes aplicar hash a todos los archivos en un directorio, incluidos los subdirectorios, usando el indicador -r (recursivo):

hashdeep -c sha256 -r /path/to/your/directory

3. Guardar hashes en un archivo

Si desea guardar los hashes calculados en un archivo para compararlos más adelante, puede usar la opción -o para especificar un archivo de salida:

hashdeep -r ravi > hashes.txt
cat hashes.txt

4. Verificación de la integridad del archivo

Uno de los usos más importantes de hashdeep es verificar la integridad de los archivos. Si ya tiene una lista de hashes conocidos (por ejemplo, de una sesión anterior), puede comparar los hashes del archivo actual con estos valores conocidos para ver si se ha modificado algún archivo.

Para hacer esto, use el siguiente comando para verificar archivos:

hashdeep -a -k hashes.txt -r /home/ravi/ravi

Este comando verificará recursivamente todos los archivos dentro del directorio “ravi” con los hashes enumerados en hashes.txt, lo que le permitirá verificar su integridad correctamente.

5. Generar múltiples hashes simultáneamente

Para calcular varios tipos de hashes (por ejemplo, MD5, SHA-1 y SHA-256) a la vez, puede especificar más de un algoritmo con el indicador -c:

hashdeep -c md5,sha1,sha256 -r /path/to/your/directory

Conclusión

hashdeep es una herramienta versátil y potente para comprobar la integridad de archivos y realizar análisis forense digital. Su compatibilidad con múltiples algoritmos hash, hash recursivo de directorios y comparación de archivos lo convierten en una utilidad indispensable para cualquiera que trabaje en seguridad, análisis forense o administración de sistemas.

Artículos relacionados: