5 de las Mejores Herramientas de Esteganografía en Linux

Una fotografía de una mujer trabajando nerviosamente frente a un portátil.

La esteganografía es el arte y el proceso de poner un tipo de información dentro de otro en un intento de ocultarlo. Esto a menudo se hace en situaciones donde un individuo quiere preservar información secreta dentro de objetos normales.

Esta guía muestra cinco de las mejores herramientas de esteganografía actualmente disponibles en Linux. También te enseña cómo puedes ocultar tu primer mensaje usando estas utilidades.

Tabla de Contenidos

  • ¿Qué es la esteganografía y por qué deberías usarla?
    1. Steghide
    1. Stegoshare
    1. Wavsteg
    1. Snow
    1. Steganoroute
  • Preguntas Frecuentes

¿Qué es la esteganografía y por qué deberías usarla?

La esteganografía no es una nueva innovación. Desde la época de los antiguos griegos, los historiadores han escrito sobre cómo las culturas usaban la esteganografía para ocultar información a simple vista. Con ese fin, un famoso relato fue la historia de Heródoto sobre Histías, donde tatuó un mensaje corto en el cuero cabelludo de un sirviente.

Desde entonces, los avances en la tecnología han permitido a los individuos usar esteganografía dentro de objetos digitales. Por ejemplo, ahora es posible insertar un libro entero dentro de una simple fotografía JPEG.

Una ventana que muestra una imagen que contiene un mensaje oculto.

Una de las mayores ventajas de usar herramientas esteganográficas es que son simples y fáciles de usar. En la mayoría de los casos, estos programas son solo utilidades de línea de comandos simples que toman tu mensaje y un archivo ficticio.

Una terminal mostrando las opciones de steghide.

Otra ventaja de las herramientas esteganográficas es que puedes obtenerlas de forma gratuita. La mayoría de los desarrolladores de hoy en día licencian sus utilidades como Software Libre y de Código Abierto (FOSS). Solo necesitas tener una computadora y una conexión a Internet para comenzar con la esteganografía.

Bueno saber: FOSS también involucra innumerables programas más allá de la esteganografía. Aprende cómo puedes instalar una distribución FOSS con Linux-libre.

1. Steghide

Steghide es una de las herramientas esteganográficas más populares hoy en día. Es un programa simple de línea de comandos que codifica texto dentro de imágenes. Steghide funciona creando una lista aleatoria de bits dentro de tu archivo ficticio e inserta tus datos secretos entre esos bits.

Este enfoque significa que tus datos se mezclarán sin problemas con tu archivo ficticio. Además, steghide también incluye algoritmos sólidos de compresión y cifrado por defecto. Esto asegura que sea difícil extraer tu información, incluso si un actor malicioso sabe que tu archivo contiene datos secretos.

Puedes instalar steghide en Ubuntu y Debian ejecutando el siguiente comando:

sudo apt install steghide

Ejecuta este comando para crear tu primer archivo esteganográfico:

steghide embed -ef ./my-secret-data.txt -cf ./my-plain-image.jpg -sf ./steg-image.jpg

Una ventana de terminal mostrando steghide en acción.

Pros

  • Rápido y fácil de usar
  • Usa sumas de verificación para verificar la integridad de los datos

Contras

  • La salida es notablemente más grande que la original
  • Modifica pequeños bits del archivo ficticio original

Consejo: si prefieres tener más confidencialidad, aprende cómo cifrar archivos usando Tomb en Linux.

2. Stegoshare

Stegoshare es una herramienta esteganográfica gráfica que proporciona a los usuarios una interfaz intuitiva para ocultar datos dentro de archivos de imagen. A diferencia de steghide, stegoshare destaca en permitirte codificar grandes binarios dentro de múltiples archivos.

Una ventana que muestra la interfaz básica de stegoshare.

Otra ventaja clave de stegoshare sobre otras herramientas es que es altamente portátil. Puedes distribuir el programa a otros usuarios independientemente del sistema operativo que usen. Por ejemplo, puedes codificar en Linux y aún así decodificarlo en Windows.

  1. Para usar stegoshare, primero instala sus dependencias:
sudo apt install wget openjdk-8-jdk openjdk-8-jre

Una ventana de terminal mostrando el proceso de instalación de las dependencias para stegoshare.

  1. Descarga los binarios de stegoshare desde el sitio web del desarrollador:
wget http://downloads.sourceforge.net/stegoshare/StegoShare.jar
  1. Ejecuta el programa y haz clic en “Explorar”.

Una ventana que muestra el botón de explorar para stegoshare.

  1. Selecciona tu carpeta de imagen ficticia.

Una ventana que muestra el selector de archivos para stegoshare.

  1. Haz clic en el botón “Seleccionar” debajo de “Explorar”.

Una ventana que muestra el botón de seleccionar en stegoshare.

  1. Selecciona el archivo que deseas ocultar.

Una ventana que muestra el selector de datos para stegoshare.

  1. Haz clic en el botón “Ocultar” para codificar tus datos secretos en tu archivo ficticio.

Una ventana que muestra el botón de ocultar en stegoshare.

Pros

  • Simple y fácil de usar
  • Funciona en cualquier plataforma que ejecute Java

Contras

  • Produce archivos grandes
  • Las herramientas de análisis de imágenes pueden detectar el algoritmo de stegoshare

Bueno saber: descubre cómo redimensionar y optimizar tu imagen desde la Terminal de Linux.

3. Wavsteg

Aparte de incrustar información dentro de imágenes, también puedes ocultar tu información utilizando archivos de sonido. Wavsteg es una herramienta simple pero efectiva que te permite mezclar datos secretos entre los bits de un archivo de audio digital.

Una captura de pantalla de la comparación entre un archivo de audio limpio y uno lleno de datos.

Wavsteg lee un archivo de audio completo y busca sus “Bits Menos Significativos”. Estas son las partes de un archivo que no eliminan ni modifican los datos dentro de él. Un archivo de audio que contiene datos secretos no tendrá ninguna diferencia audible de un archivo “limpio”.

  1. Instala sus dependencias:
sudo apt install python3 python3-pip  
PATH=$PATH:/home/$USER/.local/bin/
  1. Instala el programa usando pip:
pip install stego-lsb

Una ventana de terminal mostrando el proceso de instalación para wavsteg.

  1. Una vez instalado, puedes comenzar a codificar datos dentro de tus archivos de audio con el siguiente comando:
stegolsb wavsteg -h -i my-plain-music.wav -s my-secret-data.txt -o steg-audio.wav

Una ventana de terminal mostrando la codificación para wavsteg.

Pros

  • Ligero y simple de usar
  • No hay diferencia audible entre otros archivos de audio

Contras

  • Solo funciona con archivos de texto
  • Puede producir archivos grandes

4. Snow

Snow es una herramienta ligera que utiliza espacios en blanco y tabulaciones para ocultar información dentro de archivos de texto. A diferencia de otras herramientas esteganográficas, snow no se basa en formatos binarios para codificar datos secretos. Esto puede ser increíblemente útil en casos donde no es posible compartir archivos binarios grandes.

Una ventana de terminal mostrando la página del manual para snow.

Dado que snow solo se basa en texto plano, todavía es posible comprimir y cifrar tus archivos, similar a un archivo binario. Snow puede producir archivos extremadamente pequeños que pueden mezclarse con otros datos de texto.

  1. Instala snow con el siguiente comando:
sudo apt install stegsnow
  1. Usa el siguiente comando para ocultar la frase “MakeTechEasier” dentro del archivo “hello.txt”.
stegsnow -C -m"MakeTechEasier" -p asecurepassword hello.txt steg-hello.txt

Una ventana de terminal mostrando snow en acción.

Pros

  • Produce archivos pequeños
  • El texto de salida se puede usar en cualquier programa que acepte texto plano

Contras

  • El espacio de datos puede ser extremadamente limitado
  • El algoritmo de cifrado es relativamente obsoleto

Consejo: ¿prefieres aún más privacidad? Cambia a estos servicios de correo electrónico seguros.

5. Steganoroute

La esteganografía digital tradicionalmente oculta información dentro de un archivo. Sin embargo, también es posible usar esteganografía sin utilizar archivos ficticios.

Steganoroute es una herramienta de red innovadora que te permite ocultar información utilizando TCP. El programa crea paquetes ICMP falsos que contienen el mensaje que deseas enviar. Un host puede escuchar al servidor para sus paquetes falsos y decodificar su información utilizando una herramienta de análisis de red.

  1. Instala las dependencias de steganoroute:
sudo apt install git mtr python3 python-scapy
  1. Clona el código fuente del programa desde su repositorio:
git clone https://github.com/stratosphereips/steganoroute.git
  1. Transmite tus mensajes de steganoroute ejecutando el siguiente comando:
cd ./steganoroute  
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP  
sudo python3 ./steganoroute.py -i lo -m"MakeTechEasier" -l

Una ventana de terminal mostrando steganoroute transmitiendo un mensaje.

  1. Prueba si el programa está transmitiendo correctamente utilizando la herramienta de análisis mtr:
mtr -t your.local.lan.ip

Una vez que esté en funcionamiento, también debes presionar D para imprimir el mensaje.

Una ventana de terminal mostrando el mensaje de transmisión para steganoroute.

Pros

  • No depende de crear archivos ficticios
  • Solo necesitas transmitir para compartir mensajes

Contras

  • Se basa en forjar paquetes ICMP
  • Los actores maliciosos pueden interceptar los paquetes y reconstruir tu mensaje

Consejo: la red puede parecer abrumadora para un usuario novato. Aprende cómo los paquetes DNS viajan en la red usando dig.

Preguntas Frecuentes

¿La esteganografía cambiará cómo se comporta mi archivo?

No. Por defecto, las herramientas esteganográficas buscan conservar tanto como sea posible de los datos originales. Puedes compartir tu archivo con otros y aún podrán usar y acceder al archivo original.

Envié una imagen esteganográfica. ¿Por qué perdió su mensaje?

Esto probablemente se deba a un problema con tu proveedor de alojamiento de imágenes. La mayoría de los sitios web de intercambio de imágenes tienden a comprimir las imágenes tan pronto como llegan a sus servidores. Este es un problema para las herramientas de esteganografía, ya que dependen de la estructura de datos exacta del archivo de imagen original.

Asegúrate de que tu proveedor de alojamiento de imágenes no esté comprimiendo ninguna imagen que envíes a través de su servidor.

¿Existen desventajas al ocultar datos usando esteganografía?

Depende. En su mayor parte, herramientas como steghide dependen de ocultar datos dentro de archivos digitales regulares. Si bien la esteganografía no cambiará el comportamiento de un archivo, aún dejará una huella notable en un archivo digital. Esto puede ser un problema si un actor malicioso es consciente de que estás usando esteganografía.

¿Por qué mi destinatario de steganoroute no está recibiendo mis paquetes ICMP?

Esto probablemente se deba a que tu servidor de steganoroute está enviando sus paquetes ICMP con la interfaz incorrecta. Para solucionarlo, encuentra la interfaz de red deseada usando ip addr.

Luego, agrega la opción -i, seguida de tu interfaz de red. Por ejemplo, lo siguiente ejecuta steganoroute a través de mi puerto Ethernet: sudo ./steganoroute.py -i enp3s0 -m "MakeTechEasier" -l.

Créditos de imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.