Auditoría y CTFCriptografíaEsteganografía

CTF – Civil War –

Colaborador: Alberto44

Hoy os traemos otro Wargame de los chicos de SniferLabs, esta vez se trata de algo diferente, vamos a tratar la Esteganografía, la cual para los que se inician y lo voy a resumir a mi manera para sea entendible sin medios muy técnicos, se usa para camuflar mensajes. También se puede camuflar archivos (.rar, .zip, .txt, .doc, .xls, .mp3, .wav, etc…) dentro de otro archivo,  para que no se perciba su existencia, pero no es su finalidad.

Desde el blog, podréis iniciaros en este mundillo de la mano de nuestro compañero Naivenom, el cual os va a iniciar en esa clase de Wargames.

También hay que aclarar que en esta clase de desafíos hay varios caminos a tomar para resolverlos, cada cual tiene su librillo o manera de hacerlos, en fwhibbit cada cual tiene su manera de hacer las cosas y esta es la manera en la que lo hemos resuelto en fwhibbit.

Vosotros tendréis la vuestra, ninguna técnica es mejor que otra, pues sabiendo hacer las cosas nos llevan al mismo resultado satisfactorio. Todo lo explicado a continuación es para uso didáctico nunca lo uséis con fines delictivos.

 

Manos a la obra:

 Nos dirigimos al link dejado para descargarnos el reto: LINK

1_download_reto

Una vez descargada la imagen civilwar.jpg, vamos a examinar con una serie de comandos que suelen usar para buscar información del archivo que queremos analizar y extraer en otras cosas:

2_analisis_civilwar_jpg

file: nos da información en general del archivo.

steghide: es una herramienta que se usa para esconder archivos, por eso queremos saber si tiene algo oculto.

binwalk: es una herramienta que reconoce las cabeceras de los archivos entre otras cosas.

Como hemos podido comprobar binwalk no ha descubierto que la imagen no es lo que aparenta ser.

exiftool: es otra herramienta usada para leer los metadatos de un archivo por si tuviera algún mensaje oculto.

Vamos a extraer lo que contiene oculto:

3_binwalk_extraccion_civilwar

Binwalk nos extrae todo de una vez lo que contiene oculto:

4_archivos_extraidos

 Para daros un ejemplo del poder de binwalk, vamos analizar el archivo reto.iso de 2 maneras:

1)

2-1_file_analisis_civilwar_jpg2)

5_analisis_reto_iso

Suelo usar esta web para analizar las cabeceras de los archivos cuando no estoy muy seguro, le subimos el fichero (reto.iso) y si os fijáis nos devuelve algo que sospechábamos, que es un archivo .rar.

Vamos a renombrar el fichero de .iso a .rar y comprobar su contenido:

6_renombrando

Como podéis comprobar, binwalk nos ha ahorrado los pasos anteriormente descritos, pero no está demás el saber otra manera de hacer las cosas.

Pues bien, vamos a darle un vistazo a esas imágenes:

7_dino_analisis

Steghide es el único que nos arroja algún resultado: “ flag1.txt “ . Vamos a extraerlo:

8_flag1_esteghide_extract(nos lo ha dejado extraer sin pass)

Vamos a ver lo que contiene el flag1.txt:

9_cat_flag1(es un base64 a simple vista)

Antes vamos asegurarnos y vamos a pasarle un script en Python que es para ocultar mensajes haciéndolos pasar por base64:

stegb64 es una herramienta para ocultar texto o archivo en una cadena que simula ser un base64

10_stegb64(con esto podemos confirmar que podemos estar casi seguro de que es base64)

Vamos a decodificarlo:

11_descifrado_b64

Ok, nos ha soltado otro mensaje codificado, lo primero que se me viene a la mente es cesar, vamos a comprobarlo con un script en Python que ha mejorado nuestro compañero @_v45c0:

12_cesar(estaba cifrado con la misma llave ambos mensajes)

Ahora parece que tenemos que crearnos un diccionario, pero exactamente de qué manera.

Lo primero que se me vino a la mente fue la herramienta CEWL, la cual puede crear un wordlist desde una web, repasemos las opciones de configuración que vamos a usar:

13_cewl

cewl -d1 -a -w wordlist.txt http://www.sniferl4bs.com/2016/03/retosorteo2016.html

-d = nos indica hasta qué nivel escarbará la herramienta.

1 = solamente generaremos el diccionario de la web indicada y no de sus enlaces a sitios externos.

-w = es para indicarle que vamos a darle un nombre al archivo que vamos a obtener.

wordlist = es el nombre que le hemos puesto al archivo resultante.

El motivo de usar la web que he puesto es por sospechas de otros retos y lo que siempre estamos hablando en las entradas ” probad y probab y si falla probad otra manera ” es decir un ejercicio de prueba y error.

13_cewl_resultado

Ya tenemos el diccionario, ahora veamos la imagen con la herramienta que antes usamos y nos dió buenos resultados, steghide:

14_steghide

Hemos intentado sacar información e intentar extraer lo que sea que contenga, pero en ambas obciones nos ha dado negativo, pues nos pide algún password.

Veamos las opciones que hemos usado:

info, –info     mostrar información sobre un archivo de portada o stego

extract, –extract      extraer datos

-sf, –stegofile        elegir archivo stego

Si recordáis en la anterior flag nos dieron una pista de hacernos un diccionario, pues vamos a darle uso.

Aquí es donde entra en juego mi compañero de fatigas Python @_v45c0, pues mi dominio de Python es básico y él controla muy bien, le pedí ayuda para hacer un script para crackear la password para steghide. En la red vimos otros scripts en perl, php, bash pero se quedaban en un bucle, que tenías que pararlo manualmente y no se detenía al sacar el archivo ni te mostraba la password.

Pues todo el trabajo pesado lo hizo él, (es un excelente programador y con mucha creatividad), pues en 2 días hizo lo imposible y menuda herramienta para tener a mano en nuestro arsenal para los CTF:

14-1_steg_brute

14-2_steg_brute(próximamente se pondrá a disposición esta herramienta para todos)

Como podéis comprobar nos ha dado:

  • La password: redundancia.
  • El contenido del fichero de texto: txt.
  • Ruta en la cual nos ha dejado el fichero resultante:

/root/Escritorio/CTF_retos/Civil_War/_civilwar_flag.txt”

(tendréis la herramienta liberada en la próxima entrada que nuestro compañero @_v45c0 haga su review).

Vamos a la ruta en la cual nos ha dicho que ha descargado el archivo .txt.

15_flag2

En el mismo script vimos su contenido:

Ahora debes de hacer uso de tus skills de OSINT busca en repositorio públicos el reto.

2 pista: Correo de contacto del blog >D

Recurrimos a los dorks de google y veamos que conseguimos:

16_osint_google

Para más información tenéis esta entrada de nuestro compañero Naxhack5 y también esta otra entrada de nuestro compañero Hurd4n0.

Hemos encontrado una buena pista, le damos al enlace y :

18_pastebin_flag3

Ahí tenemos nuestra Flag3 y con esto terminamos este apasionante reto.

Lo que siempre digo y recordad que hay muchas variantes de hacer los retos y esta ha sido la manera en la que lo he realizado.

Hasta la próxima y sed buenos.

3 comentarios en “CTF – Civil War –

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los datos introducidos se guardarán en nuestra base de datos como parte del comentario publicado, como se indica en la política de privacidad.