Ocultar datos en Steghide

Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a utilizar Steghide, una poderosa herramienta de esteganografía, para ocultar datos dentro de archivos de imagen. Los ejercicios lo guiarán a través del proceso de instalación de Steghide, la inserción de archivos secretos en imágenes portadoras y la extracción del contenido oculto, todo mientras se mantiene la integridad de los datos.

Practicará técnicas clave de ciberseguridad al actualizar paquetes, preparar archivos de muestra y realizar operaciones de esteganografía. Esta experiencia práctica le ayudará a comprender cómo ocultar y verificar información de manera segura utilizando imágenes digitales.


Skills Graph

Instalar Steghide

En este paso, instalará Steghide, una poderosa herramienta de esteganografía que le permite ocultar datos secretos dentro de archivos de imagen o audio comunes. La esteganografía se diferencia del cifrado (encryption) - mientras que el cifrado hace que los datos no sean legibles, la esteganografía oculta la existencia misma de los datos al incrustarlos en archivos de apariencia inocente.

Antes de comenzar, es importante entender que estamos trabajando en un entorno Linux donde la gestión de paquetes se realiza a través de la terminal. Los comandos que utilizaremos primero actualizarán la información de los paquetes de nuestro sistema y luego instalarán el software Steghide.

  1. Primero, actualice la lista de paquetes para asegurarse de obtener la última versión de Steghide. Este comando actualiza la información de su sistema sobre los paquetes de software disponibles:

    sudo apt update
  2. Ahora instale Steghide utilizando el siguiente comando. La opción -y confirma automáticamente la instalación, evitándole tener que escribir 'yes' durante el proceso:

    sudo apt install -y steghide
  3. Después de que se complete la instalación, verifiquemos que Steghide se haya instalado correctamente comprobando su versión. Este paso de confirmación asegura que la instalación fue exitosa antes de continuar:

    steghide --version

    Debería ver una salida similar a:

    steghide 0.5.1

Ahora ha instalado Steghide en su sistema con éxito. El número de versión confirma que la herramienta está lista para usar. En los siguientes pasos, exploraremos cómo ocultar datos dentro de archivos utilizando esta poderosa herramienta de esteganografía.

Preparar una imagen y un archivo

En este paso, preparará los archivos necesarios para las operaciones de esteganografía. La esteganografía funciona ocultando datos dentro de archivos comunes como imágenes, donde el archivo original (llamado "portador") parece sin cambios a simple vista. Aquí usaremos un archivo de imagen como nuestro portador y un archivo de texto que contiene el mensaje secreto a ocultar.

  1. Primero, navegue hasta su directorio de proyecto si no está ya allí. Esto asegura que todos los archivos que creemos estarán organizados en el mismo lugar:

    cd ~/project
  2. Descargue un archivo de imagen de muestra utilizando wget. Lo llamaremos "carrier.jpg" para identificar claramente su propósito como nuestro archivo portador:

    wget https://labex.io/data/steghide/sample.jpg -O carrier.jpg
  3. Cree un archivo de texto que contenga su mensaje secreto. El comando echo crea el archivo y escribe el texto en un solo paso:

    echo "This is my secret message" > secret.txt
  4. Verifique que ambos archivos se hayan creado correctamente. El comando ls -l muestra información detallada sobre los archivos en el directorio actual:

    ls -l

    Debería ver tanto carrier.jpg como secret.txt enumerados en la salida, junto con sus tamaños y fechas de creación.

  5. Compruebe el contenido de su archivo secreto para confirmar que el mensaje se haya guardado correctamente:

    cat secret.txt

    Esto debería mostrar: This is my secret message

Ahora tiene tanto la imagen portadora (carrier.jpg) como el archivo secreto (secret.txt) listos para el siguiente paso, donde incrustaremos el secreto en la imagen utilizando Steghide. La imagen seguirá pareciendo normal, pero contendrá su mensaje oculto.

Incrustar el archivo en la imagen

En este paso, utilizará Steghide para incrustar su archivo secreto en la imagen portadora. Este proceso creará un nuevo archivo de imagen que contiene sus datos ocultos. La imagen original servirá como un "contenedor" que almacena tanto la imagen visible como su información oculta.

  1. Primero, asegúrese de estar en el directorio correcto donde se encuentran sus archivos. Esto es importante porque Steghide necesita acceder tanto a la imagen como al archivo secreto:

    cd ~/project
  2. Ahora usaremos el comando embed de Steghide. La opción -cf especifica la imagen portadora (cover), mientras que -ef indica el archivo que desea ocultar. La estructura del comando sigue este patrón: steghide embed -cf [imagen] -ef [archivo]:

    steghide embed -cf carrier.jpg -ef secret.txt

    Cuando se le solicite, ingrese y confirme una frase de contraseña (por ejemplo, "labex123"). Esta frase de contraseña actúa como una contraseña para proteger sus datos ocultos. Recuérdela exactamente, ya que la necesitará más tarde para extraer la información.

  3. Después de la incrustación, es una buena práctica verificar la operación. El tamaño del archivo debería aumentar ligeramente porque hemos agregado datos ocultos. Compare el tamaño antes y después utilizando:

    ls -lh carrier.jpg

    Las opciones -lh hacen que la salida sea legible para humanos, mostrando los tamaños en KB o MB.

  4. Opcionalmente, puede ver los metadatos sobre los datos incrustados sin revelar el contenido real. Esto es útil para confirmar la presencia y el tipo del archivo oculto:

    steghide info carrier.jpg

    Ingrese su frase de contraseña cuando se le solicite. La salida mostrará detalles como el nombre del archivo incrustado y el método de cifrado utilizado.

Ahora ha ocultado con éxito su mensaje secreto dentro del archivo de imagen. El archivo original carrier.jpg ahora contiene tanto la imagen visible como sus datos ocultos, pareciendo sin cambios a simple vista pero guardando su información confidencial de manera segura.

Extraer datos ocultos

En este paso, aprenderá cómo recuperar información oculta de un archivo de imagen utilizando Steghide. Este proceso se llama extracción y es lo contrario de lo que hizo al incrustar datos. Necesitará la misma frase de contraseña que utilizó durante la incrustación para extraer con éxito el archivo oculto.

  1. Primero, asegúremos de estar en el directorio correcto donde se almacena nuestro archivo de imagen. El comando cd cambia su directorio de trabajo actual:

    cd ~/project
  2. Ahora usaremos el comando extract de Steghide. La opción -sf especifica qué archivo de imagen contiene nuestros datos ocultos. Cuando ejecute este comando, Steghide le pedirá la frase de contraseña:

    steghide extract -sf carrier.jpg

    Ingrese la frase de contraseña "labex123" (la misma que usó anteriormente) cuando se le solicite. Si es correcta, Steghide extraerá el archivo oculto.

  3. Veamos qué archivos hay en nuestro directorio ahora. El comando ls -l muestra una lista detallada de archivos, incluyendo el recién extraído:

    ls -l

    Debería ver secret.txt aparecer en la lista, que es el archivo que ocultamos dentro de la imagen.

  4. Para confirmar que este es realmente nuestro mensaje secreto original, mostraremos su contenido utilizando el comando cat:

    cat secret.txt

    La terminal debería mostrar: This is my secret message

  5. Para una verificación exhaustiva, podemos comparar el archivo extraído con el original utilizando el comando diff. Esto comprueba si ambos archivos son idénticos:

    diff secret.txt original_secret.txt

    (Nota: Si no guardó el archivo original del paso anterior, puede omitir con seguridad este paso de comparación)

Ahora ha completado el ciclo completo de esteganografía, desde ocultar datos en una imagen hasta recuperarlos con éxito. Esto demuestra cómo Steghide puede ocultar y revelar información de manera segura dentro de archivos de imagen cuando conoce la frase de contraseña correcta.

Verificar la extracción

En este último paso de verificación, confirmaremos que nuestro proceso de esteganografía funcionó correctamente al comprobar que el archivo extraído coincide con nuestro mensaje secreto original. Esto es crucial porque demuestra que nuestros datos ocultos se incrustaron y recuperaron sin daños.

  1. Primero, naveguemos hasta nuestro directorio de trabajo donde se almacenan todos los archivos de nuestro proyecto:

    cd ~/project

    Esto asegura que estemos mirando los archivos correctos en la ubicación adecuada.

  2. Ahora veamos el contenido del archivo secreto extraído:

    cat secret.txt

    Debería ver exactamente: This is my secret message - esto confirma que el texto se extrajo correctamente de la imagen.

  3. Para una verificación más técnica, generaremos una suma de comprobación (huella digital) del archivo:

    sha256sum secret.txt

    Si tiene la suma de comprobación del archivo original, compárelas - valores coincidentes significan que los archivos son idénticos.

  4. Veamos el tipo de archivo para asegurarnos de que es lo que esperamos:

    file secret.txt

    La salida debería mostrar "ASCII text", confirmando que es un archivo de texto normal como se pretendía.

  5. Finalmente, comprobaremos el tamaño del archivo para asegurarnos de que es razonable para nuestro mensaje:

    ls -lh secret.txt

    Esto muestra el tamaño del archivo en un formato legible para humanos (como 25B para 25 bytes).

Estas comprobaciones exhaustivas verifican que la extracción fue exitosa y que los datos ocultos permanecen sin cambios desde que los incrustamos por primera vez en la imagen.

Resumen

En este laboratorio (lab), has aprendido los fundamentos del uso de Steghide para operaciones de esteganografía. El proceso incluyó la instalación y verificación de Steghide, la preparación de archivos portadores (carrier files) y la realización de incrustación y extracción de datos.

Has practicado con éxito ocultar mensajes secretos dentro de archivos de imagen y recuperarlos, lo que demuestra la aplicación práctica de técnicas de esteganografía. Esta experiencia práctica te ha dado una visión de los métodos de ocultación segura de datos utilizando herramientas comunes.