Esteganografía en Linux

En esta entrada vamos a retomar de nuevo la Esteganografía pero esta vez empleando para ello un SO Linux.

Para comenzar vamos a hablar de la herramienta de Esteganografía por excelencia para Linux: Steghide. Es una herramienta manejable desde la terminal, y tiene la capacidad tanto de ocultar archivos como de extraerlos de nuevo. Además Steghide permite cifrar el contenido al ocultarlo. Se puede obtener fácilmente desde los repositorios oficiales de tu distribución (yo la instalé con sudo apt-get install steghide en 1 minuto), o si no desde http://steghide.sourceforge.net/download.php se puede descargar. La herramienta soporta como camuflajes archivos JPEG, BMP, WAV y AU.

A la hora de ocultar un archivo, este es comprimido y (si el usuario lo elige) cifrado con la contraseña que le asignemos. El algoritmo por defecto es AES (o Rijndael) de 128 bits, pero tenemos la libertad de elegir otros (pasándole el argumento “encinfo”). Una vez está el contenido comprimido (en caso de elegir que se cifre, el siguiente paso se hace en base a la contraseña que le hayamos asignado) elige unas posiciones del archivo pseudo-aleatorias y en ellas introduce la codificación del archivo. Para llevar a cabo este proceso, la sintaxis sería: “steghide embed -ef [archivo a ocultar] -cf [archivo que servirá de camuflaje] -sf [nombre del nuevo archivo a crear]”. Al introducirlo, a continuación nos preguntará si queremos establecer una contraseña. En caso de querer agregar la contraseña desde un primer momento, podemos agregar “-p [contraseña]” a lo anterior. Para extraer el archivo la sintaxis es “steghide extract -sf [archivo que contiene aquello que está oculto) -xf [archivo nuevo a crear con lo extraído]”. A continuación pedirá la contraseña (la tenga o no) y podremos obtener el archivo. De nuevo si queremos indicar la contraseña a la hora de lanzar la herramienta emplearemos “-p [contraseña]” y ya.

Otra forma podría ser empleando la técnica EOF, de una forma muy sencilla además. Para ocultar por ejemplo un archivo comprimido llamado “oculto.rar” en una imagen llamada “foto.jpg” y obtener un nuevo archivo llamado “nuevo.jpg” (Es importante que el nuevo archivo tenga la extensión del archivo que emplearemos de camuflaje. Después veremos por qué).Para llevarlo a cabo lanzamos “cat foto.jpg oculto.rar > nuevo.jpg” y obtendremos la nueva foto “nuevo.jpg” que a priori es exactamente igual que la inicial. El único cambio que hay a simple vista es el tamaño (que aumentará en proporción al tamaño del archivo que hayamos ocultado). Además, si abrimos la imagen inicial y luego el nuevo archivo con un editor hexadecimal (Yo utilizo bless, disponible en los repositorios de tu distribución favorita) podremos comprobar que al final de lo que se supone que era la imagen inicial hay más información: el archivo oculto. La explicación de qué lleva a cabo esta técnica la tenéis en mi anterior entrada, y responde a por qué debe llevar la misma extensión que el archivo camuflaje. Aunque la realización fuera para un S.O. Windows, los tres primeros párrafos que son la parte de explicación teórica son los mismos para ambos.

Esta técnica se puede llevar a cabo también lanzando “cat oculto.rar >> foto.jpg” (Es importante el “>>” y no usar el “>” de antes porque lo que queremos es añadir al final del archivo y no sustituirlo). Esta forma modifica el archivo camuflaje inicial, no crea uno nuevo.

Para obtener de nuevo el archivo oculto bastaría con abrir el archivo que contenga el camuflaje con el archivo oculto con un editor hexadecimal y copiar la parte correspondiente al archivo oculto en un nuevo fichero, y guardarlo con la extensión correspondiente. Para encontrar la parte correspondiente a ese archivo simplemente tendremos que buscar la cabecera del archivo (en este caso hemos ocultado un rar así que habría que buscar la cabecera “Rar!” y copiar lo que haya desde ahí hasta el final.

De igual manera a como vimos en la entrada de Esteganografía en ficheros comprimidos podemos también ocultar archivos dentro de un comprimido. También cambiaríamos el valor de la cabecera del archivo a ocultar a 0x00. El único cambio es que ahora al abrirlo con el explorador de archivos muestra un error, pero una persona corriente no sospecharía de dicho error, pensaría que el archivo está corrupto o algo, e intentaría recuperarlo con “rar r archivo.rar”. Esto crearía un nuevo comprimido con los archivos que haya detectado dentro del rar que se creía corrupto. Por supuesto, el archivo que queríamos ocultar no deja ni rastro en ese nuevo comprimido. Igualmente, si directamente extraemos el comprimido con “rar x archivo.rar” sin repararlo, saldría un error en la terminal pero extraería sin ningún problema todos los archivos a excepción del que hemos querido ocultar, que de nuevo no quedará ni rastro de él.

AlDr0id

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s