- info@hackbysecurity.com
- +34605 237 826
¡Buenas tardes hacker!
En el anterior post te expliqué cómo ocultar información dentro de un sistema mediante el uso de los NTFS Alternate Data Streams y en este vamos a cómo ocultar archivos u información dentro de otros utilizando la esteganografía.
Puntos que se van a abordar en este post:
La esteganografía y la criptografía no son lo mismo. La criptografía cifra la información de manera que sea ilegible para un observar, y la esteganografía oculta la información de tal modo que pase desapercibido el hecho mismo de su existencia y envío. La esteganografía y la criptografía se complementan, unidas añaden un nivel más de seguridad.
En la siguiente imagen, se describe de una forma muy representativa el proceso esteganográfíco de ocultar un mensaje en una cubierta utilizando una función esteganográfica, como recorre el canal inseguro sin ser detectado y, por último, como se aplica la función esteganográfíca inversa para obtener el mensaje original.
Steghide es una herramienta de esteganografía capaz de ocultar datos en varios tipos de archivos de imagen y audio. Las frecuencias de color de las muestras no cambian, lo que hace que la incrustación sea resistente a las pruebas estadísticas de primer orden.
Características:
El algoritmo de cifrado por defecto es AES con un tamaño de clave de 128 bits. Con el argumento encinfo, se pueden observar todos los algoritmos de cifrado y modos disponibles.
> steghide encinfo
El primer paso es instalar la herramienta, ya que por defecto no viene instalada en Kali:
> apt-get install steghide -y
Crea un documento txt nombrado como secret.txt, y dentro introduce la frase "Esto es un secreto":
> touch secret.txt && echo "Esto es un secreto" > secret.txt && cat secret.txt
Ahora comprime el archivo secret.txt en zip, descarga la imagen propuesta con wget y renómbrala a HbStego.png:
> zip secret.zip secret.txt > wget https://upload.wikimedia.org/wikipedia/commons/2/2f/Pied-winged_swallow_%28Hirundo_leucosoma%29.jpg > mv Pied-winged_swallow_\(Hirundo_leucosoma\).jpg pied.jpg
Para ocultar un archivo dentro de una imagen hay que utiliza el siguiente comando:
> steghide embed -ef secret.zip -cf pie.jpg -sf HbStego.jpg
Argumentos:
Si se requiere un nivel más de información o que no proporcione ninguna a la hora de realizar la acción puedes usar los argumentos -v o -q, respectivamente:
> steghide embed -ef secret.zip -cf pie.jpg -sf HbStego.jpg -v > steghide embed -ef secret.zip -cf pie.jpg -sf HbStego.jpg -q -f
También existe la posibilidad de proporcionar a Steghide directamente la passphrase como argumento con el argumento -p. Por ejemplo, con los anteriores argumentos -p y -f podemos realizar la acción directamente sin mostrar nada por pantalla:
> steghide embed -ef secret.zip -cf pie.jpg -sf HbStego.jpg -p Hbs -q -f
Si quieres ver la información de un archivo que oculta otro mediante esteganografía, puedes utilizar el siguiente comando:
> steghide info HbStego.jpg
Como se puede observar el archivo incrustado "secret.zip" ha sido cifrado con Rijndael-128 en modo cbc:
Existen múltiples argumentos que pueden resultar útiles a la hora de ocultar los archivos o de tú hacer pruebas con la herramienta y con la esteganografía:
Por último, para la extracción tendrás que usar el comando extract con los siguientes argumentos:
> steghide extract -sf HbStego.jpg -p HbS -f ó > steghide extract -sf HbStego.jpg -xf extracted -p HbS
Con un editor hexadecimal, como es xxd, podemos comparar que los dos archivos extraídos, uno sin -xf y el segundo con -xf, son idénticos:
Durin´s Gates CTF
Este es un CTF de la categoría Criptografía y Esteganografía de la plataforma Atenea CCN CERT (https://atenea.ccn-cert.cni.es ). El reto está actualmente retirado, así que será perfecto para poner en práctica alguno de los conocimientos aquí presentados.
Para descargar la imagen [doors_of_durin-f686f3e1aa18d5e3f4261bea89a24c17.jpg] vas a tener que registrarte en Atenea y dirigirte a Retos >> Retos 2018 >> Criptografía y Esteganografía: Durin´s Gates.
Cuando abras la imagen, verás una frase que puede ofrecernos la primera pista del reto <<It´s simple. If you are a friend, you speak the password and the doors will open>>
Antes de nada, uno de los primeros pasos para poder evaluar un objeto al que se le ha aplicado esteganografía es visualizar detenidamente sus metadatos. Una de las herramientas por excelencia para este análisis es exiftool, así que ahora deberás instalar la herramienta y ejecutarla de forma básica.
> apt-get install exiftool -y > exiftool doors_of_durin-f686f3e1aa18d5e3f4261bea89a24c17.jpg
Después de analizar detenidamente los metadatos, se puede observar que lo único sospechoso que igual deberíamos de apuntar es el Artista: 68913499125FAA
También es recomendable realizar un análisis hexadecimal, aunque sea tedioso el proceso muchas veces es necesario. Este análisis se puede realizar con la herramienta xxd, exiftool, HxD y un sinfín de ellas. Este paso no lo voy a realizar porque no es necesario para resolver el reto.
Si recuerdas, en la película, Gandalf cae en la cuenta de que lo que quiere decir la frase es "Say friend and enter", así que la contraseña para su acceso es Mellon, que significa "friend" en Sindarin.
Una vez descubierta la passphrase, puedes utilizar la herramienta steghide con el comando info para visualizar la información de los datos embebidos:
> steghide info doors_of_durin-f686f3e1aa18d5e3f4261bea89a24c17.jpg
Ahora llega el momento de extraer el fichero url.txt:
> steghide extract -sf doors_of_durin-f686f3e1aa18d5e3f4261bea89a24c17.jpg
Después de extraer el fichero y realizar un cat para comprobar que el contenido es una url, puedes utilizar el siguiente comando para abrirlo directamente en el browser:
> cat url.txt > cat url.txt | xargs firefox
Se te abrirá un pastebin con un código en base 64 que tendremos que decodificar:
Copia el contenido y pégalo en un fichero llamado SgaSizcn.txt. Para decodificarlo puedes utilizar el siguiente comando:
> base64 -d SgaSizcn.txt > decoded
Posteriormente, con el comando file podrás comprobar que se trata de un archivo cifrado con contraseña mediante OpenSSL.
Una de las contraseñas que puedes probar lógicamente es Mellon, pero en ese caso no te va a resultar útil. Sin embargo, si recuerdas, extrajimos en el análisis de metadatos de la imagen una string del campo Artista que parecía ser bastante sospechosa, así que prueba con esta para ver si es la posible contraseña:
> openssl enc -aes-256-cbc -d -md MD5 -in decoded -out decoded2 -k 68913499125FAA
Por último, verifica con el comando file qué tipo de archivo es:
> file decoded2
Podrás observar que es un archivo MP4, así que ya solo queda reproducirlo.
¿Cuál es la contraseña que te muestra?
Hasta aquí el post de hoy sobre Esteganografía. Espero que te haya gustado y recuerda, utilízalo para aumentar tus conocimientos, no para hacer el mal.
Muchas gracias hacker ¡hasta la próxima!
Autor: Juan Miranda Blitz
By accepting you will be accessing a service provided by a third-party external to https://www.hackbysecurity.com/
¿Quieres dedicarte a la ciberseguridad y no sabes por dónde empezar?
Chema Alonso te ayuda a identificar tu perfil dentro de la ciberseguridad