• Inicio
  • Sobre mí
    • Que no te hackeen photo

      Que no te hackeen

      Bienvenido! mi nombre es Cristian Chiri, conoce un poco mas de mi y de mis trabajos.

    • Learn More
    • Email
    • LinkedIn
  • Publicaciones
    • Todos
    • Etiquetas
  • Laboratorio

Capture the flag - esteganografía en imagenes y audio | Try Hack Me

Que es estenografía?

La esteganografía es el arte de esconder informacion, imagenes o mensajes de audios dentro de otro archivo que parece inocente a simple vista. Cualquie objeto digital puede puede tener mensajes ocultos o secretos.

Para comprender mas de la estenografia realizaremos la solucion con diferentes herramientas los ejercicios propuestos por Try Hack Me , por el momento la room del usuario se encuentra en modo privado.

Descarga los archivos para la practica

Click para descargar los archivos

Ejercicio 1 - Imagen jpeg1

Como primer paso, es aconsaje saber el tipo de archivo que es, ya que el tipo de archivo puede ser modificada, es decir, un archivo png su extension puede ser modificada aun jpeg o demas extensiones.

Para saber el tipo de archivo usamos la herramienta file

─$ file jpeg1.jpeg
jpeg1.jpeg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 246x205, components 3

Al observar el resultado, efectivamente estamos con una imagen de tipo jpeg

Uso de steguide

Steghide es un programa de esteganografia que nos permite ocultar datos en imagenes o archivos de audios, es compatible con archivos JPEG MBP WAV y AU, encriptacion blowfish, hash MD5 de contraseñas.

Para instalar usamos el siguiente comando:

sudo apt install steghide

Para ver las opciones que tiene esta herramienta: steghide --help

Procedemos a extraer los datos

─$ steghide extract -sf jpeg1.jpeg 
Enter passphrase: 
  • extract es para extraer los datos que tiene esta imagen
  • -sf seleccionamos el archivo para extraer los datos No podemos extraer la informacion ya que nos pide una contraseña, para el descifrado de la contraseña podemos usar la herramienta stegcracker

StegCracker es una utilidad de fuerza bruta de esteganografía para descubrir datos ocultos dentro de archivos

sudo apt install stegcracker

Con esta herramienta hacemos fuerza bruta para obtener la contraseña

stegcracker jpeg1.jpeg

─$ stegcracker jpeg1.jpeg 
StegCracker 2.1.0 - (https://github.com/Paradoxis/StegCracker)
Copyright (c) 2022 - Luke Paris (Paradoxis)

StegCracker has been retired following the release of StegSeek, which 
will blast through the rockyou.txt wordlist within 1.9 second as opposed 
to StegCracker which takes ~5 hours.

StegSeek can be found at: https://github.com/RickdeJager/stegseek

No wordlist was specified, using default rockyou.txt wordlist.
Counting lines in wordlist..
Attacking file 'jpeg1.jpeg' with wordlist '/usr/share/wordlists/rockyou.txt'..
Successfully cracked file with password: password123
Tried 1896 passwords
Your file has been written to: jpeg1.jpeg.out
password123

La contraseña del archivo es password123, volvemos a ejecutar

steghide extract -sf

└─$ steghide extract -sf jpeg1.jpeg
Enter passphrase: 
wrote extracted data to "a.txt".

El resultado de la extracion es un archivo a.txt, vemos el contenido

cat a.txt

pinguftw

¡Reto completado!

Ejercicio 2 - Imagen png1

Para esta imagen ya no podemos usar steghide ya que no soporta archivos PNG

En este caso usamos la herramienta zsteg, que sirve para ver datos ocultos en archivos PNG y BMP

Instalacion:

sudo gem install zsteg

Extraemos los datos: zsteg png1

└─$ zsteg png1.png        
imagedata           .. file: DOS 2.0 backup id file, sequence 48
b1,bgr,lsb,xy       .. text: "nootnoot$"

Al revisar el resultado hay muchos datos ilegibles, a excepción del text nootnoot, siendo esta el mensaje escondido.

¡Reto completado!

Ejercicio 2 - Imagen jpeg3

Para este ejercicio nos pide cual es el nombre del archivo jpeg3

Usaremos la herramienta exiftool, esta harramienta sirve para ver los metadatos de cualquier tipo de archivos, en los metadatos podemos encontrar diferentes tipos de informaciones como ser: desde que dispositivo se creo el archivo, hora, localización, nombre, tamaño, etc.

Instalacion

sudo apt install exiftool

Extraemos los datos exiftool jpeg3.jpeg

ExifTool Version Number         : 12.52
File Name                       : jpeg3.jpeg
Directory                       : .
File Size                       : 8.5 kB
File Modification Date/Time     : 2020:01:06 14:09:44-07:00
File Access Date/Time           : 2022:12:23 11:36:17-07:00
File Inode Change Date/Time     : 2022:12:23 09:24:25-07:00
File Permissions                : -rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Exif Byte Order                 : Big-endian (Motorola, MM)
Document Name                   : Hello :)
X Resolution                    : 1
Y Resolution                    : 1
Resolution Unit                 : None
Y Cb Cr Positioning             : Centered
Image Width                     : 213
Image Height                    : 160
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 213x160
Megapixels                      : 0.034

Como Document Name tenemos Hello :), siendo la respuesta.

¡Reto completado!

Ejercicio 3 - Imagen jpeg2

El reto es encontrar el mensaje oculto en la imagenes jpeg2

usaremos la herramienta stegoveritas, es una herramienta de esteganografia que soporta muchas mas tipos de archivos

Nota para usar la herramienta debemos tener instalado python

Instalacion

sudo pip3 install stegoveritas

stegoveritas_install_deps

Extraemos los datos stegovertias jpeg2.jpeg

└─$ stegoveritas jpeg2.jpeg 
Running Module: SVImage
+------------------+------+
|   Image Format   | Mode |
+------------------+------+
| JPEG (ISO 10918) | RGB  |
+------------------+------+
+---------+------------------+-----------------------------------------------------------------------------------------------+-----------+
| Offset  | Carved/Extracted | Description                                                                                   | File Name |
+---------+------------------+-----------------------------------------------------------------------------------------------+-----------+
| 0x13736 | Carved           | LZMA compressed data, properties: 0xBE, dictionary size: 0 bytes, uncompressed size: 32 bytes | 13736.7z  |
| 0x13736 | Extracted        | LZMA compressed data, properties: 0xBE, dictionary size: 0 bytes, uncompressed size: 32 bytes | 13736     |
+---------+------------------+-----------------------------------------------------------------------------------------------+-----------+

Solo pondre el inicio ya que nos da muchos mas resultados.

Al terminar de extraer los datos, esta herramienta crea una carpeta donde guarda todas las extracciones de datos que hizo llamada results, ingresando encontraremos mucha informacióncomo la siguiente:

Revisando archivo por archivo, hay muchos txt que solo tienen números o dirección de rutas. La respuesta se encuentra en el archivo steghide_9b2243c171f5ac7afaf55022c626267b, ya que es el único archivo que contiene letras.

¡Reto completado!

Ejercicio 3 - Audio wav1.wav, wav1.wav

El siguiente ejercicio trata de espectrograma esteganografia, donde extraeremos texto del sonido usando un visualizador de sonido llamado Sonic Visualiser

Instalacion de la herramienta Descarga aqui Sonic Visualiser

una vez descargado la herramienta, nos dirigimos a la carpeta de descargas y abrimos una terminal para usar el comando

sudo apt install ./sonic-visualiser_4.5.1_amd64.deb

Abrimos la aplicación desde el buscador de kali

Abrimos un nuevo archivo en file open y buscamos el audio wav1.wav

Una vez abierto el audio, el programa quedara asi

Nos dirigimos a Pane en la opciones y click en Add Spectrogram

Ahora ya podemos ver el contenido que hay en el audio

Para el audio wav2.wav, hacemos los mismos pasos y obtendremos el siguiente texto:

¡Reto completado!



Capture The Flag Share Tweet +1