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
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:
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:
Binwalk nos extrae todo de una vez lo que contiene oculto:
Para daros un ejemplo del poder de binwalk, vamos analizar el archivo reto.iso de 2 maneras:
1)
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:
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:
Steghide es el único que nos arroja algún resultado: “ flag1.txt “ . Vamos a extraerlo:
(nos lo ha dejado extraer sin pass)
Vamos a ver lo que contiene el flag1.txt:
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
(con esto podemos confirmar que podemos estar casi seguro de que es base64)
Vamos a decodificarlo:
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:
(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:
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.
Ya tenemos el diccionario, ahora veamos la imagen con la herramienta que antes usamos y nos dió buenos resultados, 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:
(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.
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:
Para más información tenéis esta entrada de nuestro compañero
Hemos encontrado una buena pista, le damos al enlace y :
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 –»
Hola… que tipo de cifrado tenían esos dos mensajes???? python cesar_vasco.py
Hola Juan, esos mensajes estaban cifrados con Cesar y un desplazamiento de 15 posiciones como se puede ver en la captura.
Un saludo.
Los comentarios están cerrados.