Hoy les enseñaré algo que quizá nunca en sus vidas van a utilizar pero que es muy divertido saberlo: crackear un mensaje encriptado dentro de una imagen. Esto solo les va a servir muchísimo si entran a trabajar a una agencia de inteligencia, algo que no es que le pase al grueso de la población con mucha frecuencia.
Hace años les enseñé a ocultar información dentro de una imagen con Steghide. Esa información oculta podrá ser revelada por cualquiera que tenga la contraseña. Empero, ¿qué pasa si no tenemos el password? De eso trata esta entrada. Vamos a crackear un mensaje encriptado dentro de una imagen usando un ataque de diccionario.
Lo primero que haré será buscar una imagen cualquiera. Algo insignificante, alguna porquería sin importancia. Veamos qué me arroja el buscador si le pido: «basura despreciable que no se comerían ni los gallinazos»:
Esta cochinada fue lo que me dio el buscador. Sus razones tendrá el algoritmo. Guardo la imagen como porqueria.jpg y procedo a encriptar la información dentro de ella.
Recordemos que para hacerlo debemos crear un archivo .txt con el mensaje que quieren ocultar en la imagen. Mi archivo se llama hide.txt. Después, usaremos el siguiente código para ocultar el mensaje dentro de la imagen. OJO, ustedes usarán los datos de su archivo de texto y el nombre de su foto.
sudo steghide embed -ef hide.txt -cf porqueria.jpg
Si todo sale bien la salida será:
[sudo] contraseña para su_usuario: Anotar salvoconducto: Re-ingresar salvoconducto: adjuntando "hide.txt" en "porqueria.jpg"... hecho
Ahí vemos que el mensaje fue ocultado con éxito en la imagen porqueria.jpg. Ahora sí vamos con la herramienta que nos permite cracker un mensaje encriptado dentro de una imagen.
StegCracker.
StegCracker es una herramienta para la línea de comandos (CLI) escrita en Python que usa diccionarios para crackear mensajes encriptados mediante esteganografía. Para obtenerla vamos a su repo en Github y la clonamos e instalamos siguiendo los pasos a continuación:
git clone https://github.com/Paradoxis/StegCracker.git cd StegCracker && ls python3 setup.py install stegcracker --version
Si todo sale bien estaremos viendo la versión de StegCracker en nuestra terminal. Lo que haremos ahora será copiar la ruta donde tenemos la imagen que contiene el mensaje encriptado, en mi caso el archivo porqueria.jpg. Teniendo la ruta lanzamos la herramienta StegCracker con el comando:
stegcracker ruta/al/archivo
Después de la ruta al archivo podemos pasarle la ruta a un diccionario. Si no le pasamos ningún diccionario de posibles contraseñas, StegCracker usará por defecto el diccionario rockyou.txt que viene con Kali Linux. En mi caso la salida fue:
No wordlist was specified, using default rockyou.txt wordlist. Counting lines in wordlist.. Attacking file '/home/knibal/Descargas/Steg/porqueria.jpg' with wordlist '/usr/share/wordlists/rockyou.txt'.. Successfully cracked file with password: iloveu Tried 214 passwords Your file has been written to: /home/knibal/Descargas/Steg/porqueria.jpg.out iloveu
La contraseña para desencriptar el mensaje oculto es: iloveu. Muy adecuada. StegCracker nos creó un archivo llamado porqueria.jpg.out que contiene la información que estábamos buscando. Ese archivo lo podemos leer con el comando cat
así:
cat porqueria.jpg.out
y en mi caso la salida fue:
Gusano imbañable, demagogo delirante, farsante, delincuente, corrupto, narcicista insoportable, psicópata, mitómano, criminal, impresentable, insufrible, ignorante, sucio, ordinario, enfermo, envidioso, resentido, parásito improductivo, impostor, asqueroso, zafio, despreciable, mezquino, ególatra y como si no fueran suficientes cualidades: cacorro, comemierda e hijueputa.
Y eso es todo. De esta forma tan sencilla es como podemos crackear un mensaje encriptado en una imagen. Algo que el 99.99% de las personas del mundo nunca tendrán que hacer pero a mí me gustan todas esas pendejadas. Hasta la próxima.