Solución al Reto de Esteganografia Civil War

1 comment
Como es de su conocimiento hace un par de semanas se lanzo el reto de esteganografia que tenia como premio un libro de 0xWord lastimosamente nadie lo quiso o quizas paso a mas! en esta entrada se resolvera el reto bajo Windows y en la siguiente entrada una forma de hacerlo desde Linux cabe aqui notar que esto es con el fin de indicar que el Sistema Operativo no hace al Pentester, Informatico, Usario final y como dice Eribal que no es la flecha si no el Indio que la falla. 




Como saben lo primero que tenemos en el reto es una imagen de Spiderman indicando que tiene que hacer un anuncio y booom el detontante de CivilWar ya me calmo, ando esperando en el CINE es por ello mi locura, bueno teniendo la imagen nos da a entender que puede tener que ver el reto con la araña o bien con Comics referentes a CivilWar. 


Procedemos a descargar, la imagen y lo primero que se nos ocurre es ver si cuenta con metada, por si se tiene alguna pista o algun dato que nos pueda servir. 

Para este paso en Linux tenemos herramientas que nos pueden ayudar como  fileinfo con interfaz grafica, o exiftool.

En este caso la herramienta que utilizaremos sera OSForensic una utilidad que tiene bastantes herramientas que sirven para ir jugando pero en este caso mas que todo es por las opciones que tiene para la extraccion de datos  y textos.


La funcionalidad que usaremos sera la de Viewers como ven tenemos  5 pestañas para trabajar lo que haremos es dirigirnos  a la de metadata.
En este caso lo que llama la atencion es  el encoding Process y el programa con el cual fue realizada la imagen veamos que la fecha de modificacion dice 2015. Para llegar a conocer un poco mas sobre Huffman Coding visiten el link de Wikipedia.

Ahora tambien veremos lo que lleva por las cabeceras es recomendable siempre revisar por si se tiene algo de por medio, esto lo pueden hacer con un editor hexadecimal tras ir revisando de a poco y con paciencia veran algo metido por ahi por medio de EOF.
 
Con lo visto podemos comenzar a realizar grepeos (no se si esta bien dicho) hacer uso de grep y buscar url, ficheros por extensionm todo segun la necesidad o lo que se nos ocurra para ir revisando cabe resaltar que este proceso llegaria a ser un poco de Forense y análisis esteganográfico.

Como andamos encarando el reto con ayuda de OSFORENSIC utilizaremos su Ex-String Viewer tenemos la opcion de extraer todos los textos como tambien buscar unicamente por extension, URL o todo.


Vemos que nos devuelve algunas URL, podriamos ir por ese lado revisar y ver que tiene, pero cuando le damos por extension en el filtro nos da reto.iso, dino.jpg y Libro.jpg por lo cual nos da a entender que dentro de esta imagen tiene esos 3 ficheros, lo primero que se puede venir a la mente es abrirlo con Winrar o el manejador de ficheros preferido.

Sorpresa!! lo tenemos el reto.iso esta ahi disponible, pero  ya conocemos otros 2 ficheros mas por ello abriremos el .iso despues de descomprimir y lo analizaremos. Si vemos en la cabecera nos dice que es un Rar! entonces se realizo un cambio de la extension original no es un .iso.

Una vez cambiando la extension y damos extraer tenemos los otros dos ficheros dino.jpg y Libro.jpg.

 Ahora si toca revisar las herramientas que tenemos disponibles para hacer análisis esteganografico porque en esos dos ficheros tienen algo o son solo para despistar? Podriamos usar  lsb, cambios de curvas de color y demas tecnicas para identificar pero muchas veces es necesario pensar en simple para algunos retos ademas cabe resaltar que es el primer reto de Esteganografia que se lanza en el blog.

Por ello al realizar el reto hice uso de una herramienta bastante usada la cual es Steghide lo tenemos en la distro de Pentesting favorita, y como andamos en Windows podemos usarlo!!. Entonces accedemos desde la terminal y probamos a tener suerte por si ninguno de ellos cuenta con contraseña.


Vaya sorpresa el dino.jpg si cuenta con un fichero y dice flag1.txt el otro cuenta con contraseña. Entonces procedemos a visualizar el txt que obtuvimos, al visualizarlo tenemos un texto el cual esta cifrado.

Con tan solo ver el cifrado llega a ser un Base64  por los dos ultimos == es un patrón que con el tiempo al verlo infiero que llega a ser base64 recuerdo que tiene algun cambio de por medio para determinar alguna variante.


Al realizar el DECODE obtenemos un texto el cual si esta cifrado por lo cual a simple vista llegaria a ser un CESAR o una variante les invito a que lean sobre ello en el siguiente link Cifrado por sustitución.

Entonces probado y trasteando es posible obtener el texto en claro, para ello con un servicio online o bien armando un script personal es posible obtener el texto en claro. Por cierto era Root 11.


Entonces con la pista o bandera ya tenemos por donde comenzar con la segunda imagen, para ello podriamos crear un diccionario de superheroes tomando como base la primera imagen de spiderman, otro diccionario a armar podria ser de Dinosaurio por el dino? las opciones son bastantes pero en este caso todo venia de la mano de armar un diccionario con el texto del post, quizas algo no especifico o determinado en la pista pero vamos la idea era revisar ademas en su momento lanze un tweet y comente para luego eliminarlo :).

Por lo cual yo use BurpSuite para esta tarea con el Plugin CO2, lo que hacemos es una vez ingresamos a la pagina o el sitio en este caso el post donde se lanzo el reto, una vez realizado ello interceptando la petición lo que se hace es ir al request  y click derecho enviamos a Cewel.


Ya en el tenemos una pantalla bastante parecida a la siguiente, en realidad identica. 

1. Nos dirigmos a la pestaña CeWLer.
2. Tendremos en el campo de texto Extract from la URL que enviamos previamente. 
3. En este campo determinamos la longitud mínima y máxima. 
4. El ultimo tenemos que valores omitira si se encuentra palabras repetidas, comentarios y demas para realizar un filtro adecuado. 
5. Y al final solo nos queda Extract! 
Tras guardar tendremos un diccionario como se ve a continuación.


La palabra que se encuentra marcada es la contraseña, ahoar la forma de proceder a realizar la fuerza bruta puede ser con un script automatizando la prueba o bien con una version modificada de steghide que cuenta para realizar ya este ataque. Steghide Brute Force.


El script que les muestro fue realizado por @jdangosto 


Como veran con la palabra redundancia obtenemos el segundo flag al verlo ya nos da una pista bastante grande el cual es busqueda OSINT ver como identificar. 


El objetivo era que hagan uso de Google, Maltego o cualquier utilidad que vean de importancia, la otra pista la teniamos disponible en Pastebin al mencionar repositorios publicos me referia a Github, PasteBin y demas con el fin de algo de busqueda por cierto 1 persona si logro encontrar con Maltego :).



La bandera final teniamos el siguiente mensaje.
 


Espero les haya agradado el reto y aun mas la solución queria mostrarles una manera de realizarlo en Windows, en la siguiente entrada la tenemos pero desde Linux el cual se encuentra hasta donde llego la persona que se animo a realizar el reto. 


Dudas, plumeos y lo que quieran bienvenido nos vemos en el reto de Abril que vendra otro!!

Regards,
Snifer

1 comentario

  1. Muy bueno, me tendría que haber animado a participar.. ..para la próxima le doy un intento..

    ResponderEliminar