Esteganografía en Linux sin instalar software adicional

Ya en el pasado hablamos de software para ocultar archivos dentro de otros (la llamada esteganografía) en Linux, como SilentEye o Outguess. Pero realmente es posible ocultar un archivo dentro de una imagen sin necesidad de software extra, valiéndonos sólo de la consola.

Lo primero es comprimir el archivo que queremos ocultar, mismamente con la herramienta nativa de compresión de Ubuntu lo transformamos en un archivo .zip (y si queréis un extra de seguridad podéis añadirle una contraseña). Para el ejemplo lo llamaremos secreto.zip mismamente.

Ahora necesitamos un archivo de imagen, para el ejemplo tendremos una que se llamará base.png, y lanzamos un terminal.

La idea es simple: concatenamos el archivo zip a continuación de la imagen generando un nuevo archivo que tendrá la misma extensión que la imagen base (si la extensión de la imagen fuera distinta no se verá, por ejemplo si usamos un png de base pero de salida lo llamamos .jpg). Rápidamente lo entenderéis con un ejemplo de la operación:

cat base.png secreto.zip > resultado.png

A primera vista el archivo resultado.png es la misma imagen que base.png, si bien si miráis sus propiedades veréis que tamaño del nuevo archivo es más grande (porque lleva concatenado el archivo comprimido, lógicamente).

¿Cómo accedemos al archivo oculto? Pues simplemente renombrando el archivo resultado.png y cambiando la extensión de la imagen por la del archivo comprimido que usáramos (en este caso pasaría a ser resultado.zip). Tras este cambio si la abrís con el gestor de archivos comprimidos podréis acceder al archivo que habéis ocultado.

Tal vez ofrezca menos seguridad y optimización que el software específico para esteganografía, pero para un apuro puede ser una solución válida.

SilentEye: más software para esteganografía en Ubuntu

Si el otro día hablaba sobre esteganografía en Ubuntu usando Outguess hoy vamos a ver otro programa para el mismo propósito: SilentEye.

Frente a Outguess os diré que es más coñazo de instalar (aunque no mucho) pero más fácil de usar. Para su instalación en Ubutu podéis descargaros desde aquí el paquete .deb, y previamente hay que tener instalado Qt4 C++, ya que depende del mismo para el entorno gráfico.

El uso del programa es extremadamente simple: con la aplicación abierta seleccionamos un archivo y pulsamos Encode. Eso nos permitirá elegir entre agregar un mensaje de texto escrito por nosotros o introducir un archivo que ocultar. Para recuperar el mensaje basta abrir el archivo desde el programa y pulsar Decode.

Lo que hace verdaderamente interesante SilentEye, por encima de su simpleza en el uso, es la posibilidad de añadirle diversos plugins para usar diversos formatos de imagen, vídeo y para añadir un cifrado fuerte. Por defecto ya deberían venir instalados en el .deb enlazado antes, pero si no podéis encontrarlos en la página del proyecto y, como no, si os veis con fuerza podéis intentar desarrollar vuestros propios plugins.

Outguess: software para esteganografía en Linux

La esteganografía se trata de una serie de técnicas que permiten ocultar una información a simple vista, similar en cierto modo a la criptografía pero con una idea distinta: en lugar de tornar indescifrable el mensaje la idea es esconderlo. En el caso del sotftware del que nos ocupamos nos permitirá ocultar un archivo dentro de otro. Por ejemplo meter un texto dentro de una foto, que sólo será recuperable por aquel que conozca la contraseña, el resto verán un simple y poco llamativa foto.

Lo primerito es instalar el programa, con un simple sudo apt-get install outguess en la consola. Una vez lanzado podemos trabajar con él desde la consola.

¿Cómo ocultamos un archivo? Bueno, vamos a empezar con dos archivos para un ejemplo: un archivo de texto que se llamará culpable.txt y una foto que se llamará coartada.jpg (festival del humor). En la línea de comandos debemos lanzar el programa pasándole como parámetros de entrada una contraseña (irá precedida de -k) y los datos en este orden: datos a ocultar, archivo “tapadera” y nombre que llevará el archivo generado (en este caso precedidos de un -d). Vamos con el ejemplo:

outguess -k mipassword1 -d culpable.txt coartada.jpg inocente.jpg

En este caso se generará una foto llamada inocente.jpg que aparentemente será la foto coartada.jpg pero que dentro contendrá el archivo culpable.txt para que sea extraído por aquel que sepa la contraseña.

Y ¿cómo se recupera el archivo?

Bueno, pues se necesita un comando similar, aunque añadiendo un -r al principio y como parámetros recibirá el archivo con el texto oculto y un nombre para el resultado recuperado:

outguess -r -k mipassword1 -d inocente.jpg recuperado.txt

Y de esa forma tenemos de nuevo el archivo .txt oculto, ahora bajo el nombre que le hemos dado tras recuperarlo.

No es una solución de seguridad definitiva, pero sí una ayuda a la hora de “ocultar” archivos.