Hagamos un poquito de esteganografía. En una entrada anterior les mostré cómo ocultar información en una imagen con Steghide. Ahora les enseñaré a ocultar datos en un PNG utilizando una herramienta llamada PNGify, mucho más sencilla que Steghide aunque igualmente efectiva. Esto será rápido.
PNGIFY.
PNGify es una herramienta de línea de comandos (CLI) escrita en Go que nos permite codificar texto y archivos en imágenes PNG y decodificarlos a su forma original. Este enfoque combina el procesamiento de texto e imágenes, ofreciendo una forma divertida de almacenar y recuperar datos. El objetivo de este proyecto experimental es explorar posibilidades creativas.
Yo lo voy a instalar en un sistema Kali Linux. Lo único que tengo que hacer es abrir una terminal y escribir la siguiente orden:
go install github.com/tofl/pngify@latest
Si no nos arroja ningún error, y no debería si tenemos Go instalado, ya podemos codificar archivos con la herramienta. Yo ocultaré un archivo llamado Top_Secret que contiene información sensible. Después, enviaré el archivo png resultante por correo a la única persona que puede tener acceso a esa información. El comando a ejecutar sería:
pngify encode -f /ruta/al/archivo
En el directorio actual debe aparecer un archivo llamado output.png. Ese diminuto archivo contiene encriptado el documento Top_Secret. Enviamos ese documento por correo, lo descargamos y lo desencriptamos en nuestra carpeta de descargas. Veamos cómo:
En mi carpeta de descargas aparece un archivo llamado output.png. Para cualquiera es solo una imagen pero nosotros sabemos que en su interior se encuentra un archivo codificado. Vamos a extraerlo y a leerlo con el comando:
pngify decode -p output.png
Si hacemos un ls -l
en nuestra carpeta de descargas veremos que aparece un nuevo archivo llamado Top_Secret. Ahora solo nos resta leer la información que nos enviaron. En este caso usaré el comando: cat Top_Secret
. Y el resultado fue:
La clave de acceso al servidor central es: mX56T359@1294_IT agregar al gestor de contrasenas y destruir este archivo.
Ese fue el mensaje que nos enviaron: la contraseña de acceso al servidor. Pudo ser que compráramos dos ramitas de cilantro pero hablar de claves y servidores le daba más seriedad al post.
También podemos ocultar varios archivos comprimidos en una sola imagen png. En este caso voy a descargar un png del Github de la herramienta. Veamos:
En la primera parte vemos que en el directorio de Descargas nos aparece un archivo llamado pong.zip.png. Es el archivo que descargamos del Github. Después, usamos la orden pngify decode -p pong.zip.png
para decodificar la información oculta en el png. Al dar nuevamente ls -lh
vemos que aparece un nuevo archivo llamado pong.zip. En ese archivo se encuentran comprimidos los archivos privados que alguien nos envió.
A su vez, ese archivo comprimido puede estar protegido con una contraseña para mayor seguridad. También podemos ocultar una imagen dentro de la imagen png e incluso un video en formato .mov. Para aquellos que manipulan información sensible puede ser una buena herramienta, para otros será algo divertido. Hasta la próxima.