Steghide, mensajes ocultos (Esteganografía)

La esteganografía (del griego στεγανος steganos, “cubierto” u “oculto”, y γραφος graphos, “escritura”) trata el estudio y aplicación de técnicas que permiten ocultar mensajes u objetos, dentro de otros, llamados portadores, de modo que no se perciba su existencia. Es decir, procura ocultar mensajes dentro de otros objetos y de esta forma establecer un canal encubierto de comunicación, de modo que el propio acto de la comunicación pase inadvertido para observadores que tienen acceso a ese canal. (wiki)

El cifrado digital de mensajes tiene una variante que consiste en introducir un mensaje dentro de otro medio para que este pase desapercibido. Se utilizan imágenes, audios y vídeos. Cualquier medio digital es susceptible de portar mensajes.

 

Descripción del programa

Trabajaremos con Steghide, aplicación  para Linux, que  desde el terminal nos permitirá ocultar mensajes cifrados en archivos JPEG, BMP, WAV. En nuestro caso usaremos una imagen jpg. El software ha sido desarrollado gracias a la iniciativa de Stefan Hetzl y se aloja en la siguiente dirección: http://steghide.sourceforge.net/index.php

Para saber mas sobre ella nos fijaremos en sus dependencias:

  • libmhash Contiene los algoritmos tipo hash para generación de contraseñas. y archivos de verificación.
  • libmcrypt  Esta librería contiene algoritmos simétricos comunes como son: aes, twofish,…
  • libjpeg Nos dará la capacidad de comprimir y descomprimir imágenes.
  • zlib Libreria para comprimir y descomprimir mensajes.

Además tenemos el manual en Ingles y castellano gracias a la traducción de  “Alberto Adrián Schiano” (Muchas gracias por tu gran trabajo) Manual

Como usar steghide

Los ejemplos que mostrare a continuación se realizan sobre la imagen Descanso.jpg, también crearemos un archivo de texto (Mensaje.txt) con el mensaje que deseamos esconder. El programa podéis instalarlo del repositorio de vuestra distro.

Imagen Original

Sin mensaje oculto

Primer comando steghide –encinfo nos muestra todos los algoritmos disponible (heredados de la libreria libmcrypt)

[Steghide]$ ls
Descanso.jpg Mensaje.txt[Steghide]$ steghide –encinfo
algoritmos d/encriptado:
<algoritmo>: <formas reconocidas>…
cast-128: cbc cfb ctr ecb ncfb nofb ofb
gost: cbc cfb ctr ecb ncfb nofb ofb
rijndael-128: cbc cfb ctr ecb ncfb nofb ofb
twofish: cbc cfb ctr ecb ncfb nofb ofb
arcfour: stream
cast-256: cbc cfb ctr ecb ncfb nofb ofb
loki97: cbc cfb ctr ecb ncfb nofb ofb
rijndael-192: cbc cfb ctr ecb ncfb nofb ofb
saferplus: cbc cfb ctr ecb ncfb nofb ofb
wake: stream
des: cbc cfb ctr ecb ncfb nofb ofb
rijndael-256: cbc cfb ctr ecb ncfb nofb ofb
serpent: cbc cfb ctr ecb ncfb nofb ofb
xtea: cbc cfb ctr ecb ncfb nofb ofb
blowfish: cbc cfb ctr ecb ncfb nofb ofb
enigma: stream
rc2: cbc cfb ctr ecb ncfb nofb ofb
tripledes: cbc cfb ctr ecb ncfb nofb ofb

También es recomendable para saber el espacio que tenemos para ocultar el mensaje,

steghide –info Descanso.jpg

[Steghide]$ steghide –info Descanso.jpg
“Descanso.jpg”:
formato: jpeg
capacidad: 9,6 KB
Intenta informarse sobre los datos adjuntos? (s/n) n

¿Como introducir mensaje.txt en Descanso.jpg ?

Nos pedirá una contraseña desde el terminal (-cf fichero contenedor, -ef fichero embebido )

steghide embed  -cf Descanso.jpg -ef Mensaje.txt

Añadimos algunos argumentos para su funcionamiento

  • -z para el nivel de compresión (1-9)
  • -e tipo de algoritmo,
  • -p contraseña (passphrase).
  • -v información detallada (verbose).

steghide embed -e rijndael-256 -z 9 -v -p nukebull -cf Descanso.jpg -ef Mensaje.txt

[Steghide]$ steghide embed -e rijndael-256 -z 9 -v -p nukebull -cf Descanso.jpg -ef Mensaje.txt
leyendo archivo secreto “Mensaje.txt”… hecho
leyendo archivo d/portada “Descanso.jpg”… hecho
creando el gr�fico… 154 valores d/muestra, 567 v�rtices, 104113 bordes
ejecutando Static Minimum Degree Construction Heuristic… 99,8% (1,0) hecho

El proceso de extracción  lo realizaremos utilizando (-sf fichero esteganográfico) y nos creara el fichero oculto en la carpeta que ejecutemos.

esteghide extract -sf Descanso.jpg

[Steghide]$ steghide extract -sf Descanso.jpg
Anotar salvoconducto:
anot� los datos extra�dos e/”Mensaje.txt”.[Steghide]$ steghide –info Descanso.jpg
“Descanso.jpg”:
formato: jpeg
capacidad: 9,6 KB
�Intenta informarse sobre los datos adjuntos? (s/n) s
Anotar salvoconducto:
archivo adjunto “Mensaje.txt”:
tama�o: 59,0 Byte
encriptado: rijndael-256, cbc
compactado: si

Imagen Esteganográfica

password nukebull

Notas Importantes

  • Al subir imágenes a twiter, wassap, telegram,.. le aplican un algoritmo para comprimir jpg que destruye el menaje oculto. (comprobado)
  • Para no destruirlo lo podéis subir a Google Drive  (comprobado) Enlace G. Drive
  • La imagen subida en una pagina web también conserva el mensaje. La de esta pagina sirve de ejemplo.

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s