Esteganografía y Criptografía
GNU / Linux,  Hacking,  Tech

Ocultemos información en una imagen

La esteganografía es una técnica criptológica que nos permite ocultar información dentro de un objeto o contenedor de forma que dicha información pase inadvertida para cualquier persona. Esta técnica ha sido empleada por los gobiernos, los servicios de inteligencia y hasta las organizaciones criminales a lo largo y ancho del mundo. Hoy aprenderemos cómo se hace de una forma sencilla y segura.


UN POCO DE HISTORIA.

El término esteganografía proviene etimológicamente de las palabras griegas steamos que significa escondido u oculto y graphos que significa escritura. Por su parte, la criptología deriva su nombre de los términos krypto (oculto) y logos (estudio). Se cree que el término esteganografía fue usado por primera vez en el siglo XVI por el alemán Johannes Trithemius en sus libros Steganography y Polygraphiae libri sex.

Desde entonces, las técnicas para ocultar información han ido evolucionando. Sabemos de métodos como el uso de tintas invisibles creadas con zumos de frutas cítricas, leche, vinagre e incluso orina. El mensaje se escribía sobre papel utilizando dichas tintas y el receptor, previamente enterado de la existencia del mensaje secreto, acercaba el papel a una fuente de calor como un radiador o una vela y el texto oculto se develaba.

Durante la Primera Guerra Mundial, los alemanes utilizaron una modificación de la rejilla de Cardano. Consistía de una rejilla cuyos agujeros estaban distribuidos de forma tal que al sobreponerse a un texto, en cada espacio quedaría una palabra. El conjunto de palabras ubicadas en cada celda de la rejilla formaban el mensaje que se quería transmitir.

Rejilla de Cardano

Para la Segunda Guerra Mundial aparece el micropunto alemán. Este consiste en la reducción considerable de un texto o una imagen hasta hacerlo casi imperceptible. Este micropunto se adhería a cualquier documento sin ninguna importancia aparente de forma que, en caso de ser interceptado, el bando contrario no pudiera descubrir la información oculta. Este punto podía pasar tan inadvertido como una mancha en el papel o un signo de puntuación.

Micropunto alemán

La esteganografía moderna nace en 1985 con los ordenadores personales. Al día de hoy, existen muchísimas técnicas para ocultar información. Nosotros utilizaremos una en la cual ocultaremos un mensaje dentro una imagen cualquiera que pasaría inadvertida para cualquier usuario y en cualquier ordenador.


OCULTAR INFORMACIÓN CON STEGHIDE.

Para este ejercicio vamos a usar la aplicación Steghide y la correremos en Linux Ubuntu. Esta aplicación es una utilidad de línea de comandos y nos permite ocultar información en archivos WAV., JPG., BMP., y AU. Lo primero que haremos es instalar la aplicación con el comando: sudo apt install steghide. Después, corremos la ayuda de la aplicación con el comando steghide --help.

Como vemos, la ayuda es muy completa y nos imprime todas las opciones que tenemos. Ahora buscamos una imagen cualquier para usarla como archivo contenedor del mensaje que queremos ocultar de los fisgones.

Para el ejercicio descargué la imagen de una casa cualquiera en formato JPG y la renombré  House2Hide. Ahora voy a crear el archivo de texto MSGHIDE.txt con el mensaje que quiero ocultar. Los dos archivos, el de imagen y el de texto, los tendré en la misma carpeta para facilitar el procedimiento. Acto seguido vamos a la terminal y tecleamos el siguiente comando:

sudo steghide embed -ef MSGHIDE.txt -cf House2Hide.jpg.

La aplicación nos va a pedir un salvoconducto, esto es la contraseña que queremos darle a nuestro archivo hipermegaultrasecreto. En la imagen vemos que todo el proceso tomó 14 segundos, es muy rápido (como todo en Linux). Nuestra imagen con la información oculta está lista para ser enviada a nuestro destinatario. Ahora extraigamos el archivo TXT oculto en la foto.

Vamos a verlo paso a paso. La primera línea de comandos ls -l nos lista los archivos contenidos en la carpeta. En este caso solo tenemos el archivo House2Hide.jpg, nuestra imagen contenedora. Con el siguiente comando extraemos el archivo oculto:

sudo steghide extract -sf House2Hide.jpg

Le herramienta nos pide la contraseña (salvoconducto) que establecimos cuando insertamos el archivo de texto dentro de la imagen. Escribimos nuestro password y la aplicación nos dice que un archivo llamado MSGHIDE.txt fue extraído. Vamos bien. Listamos nuevamente el contenido de la carpeta con el comando ls -l y vemos que ahora aparecen 2 archivos: nuestra imagen contenedora y el recién extraído archivo de texto. Ahora revisamos el contenido del archivo que estaba oculto. Para ello escribimos el comando cat MSGHIDE.txt y en la terminal deberá aparecer la información que ocultamos:

ESTA IMAGEN CONTIENE UN MENSAJE OCULTO: LAS CLAVES ESTÁN EN EL ARCHIVO EPUB DE LA NUBE SECUNDARIA. SOLO ABRIR ESTANDO SOLO. LA CLAVE PRINCIPAL DEL CONTENEDOR ESTÁ AL REVÉS. BUENA SUERTE.

Y eso es todo. Otra herramienta que permite ocultar información dentro de un archivo es Outguess pero de esa aplicación hablaremos luego porque tengo jaqueca. Hasta la próxima.