viernes, 9 de noviembre de 2012

MINI RETO #4 XOR IT



Este reto esta dedicado a todos aquellos que consideren que ganarse una entrada con un sorteo no es meritorio y prefieren hacer un poco mas de esfuerzo ;)

La primera persona que envíe la respuesta correcta al correo fernando.a.quintero AT gmail.com acompañada de un corto resumen explicando como logró solucionarlo se ganará una entrada* para el evento Security Zone que se realizará el 6 y 7 de Diciembre de 2012 en la ciudad de Cali, Colombia.


Muchas veces un XOR es solo el inicio, no pierdas la cabeza con este reto.

Bienvenido al mini reto #4 : XOR IT!

*Gastos adicionales como transporte, alimentación, alojamiento, cerveza, talleres, etc. NO están incluidos.

Buena suerte.

UPDATE:


Durante el reto recibí muchas consultas relacionadas sobre el procedimiento para solucionar el reto, la mayoría de las personas estaban bien encaminadas sin embargo se perdían en algunos detalles.


Aqui les dejo algunas soluciones propuestas:


Juan Esteban Valencia: http://www.sendspace.com/file/yrrd7n


rmolina.co     : http://pastebin.com/mJn13eLE

Como siempre hay varias formas de resolver los retos, un procedimiento de ejemplo es el siguiente:

1. El archivo descargado parece simplemente DATA, si tenemos las pistas (xor) de que es posiblemente un PDF entonces con un "strings" podemos tener pistas para encontrar un byte ("s") repetitivo con el que se hace el xor. En las respuestas publicadas hay varias formas de acercarse a este valor. 

Herramientas útiles:

xor:


xorsearch:


2. El obtener el PDF es solo la primera parte, lo que sigue es abrirlo y tratar de entender de que se trata, el contenido del PDF sirve como pista también. A la mayoría de las personas se les ocurrió buscar el nombre en Internet y efectivamente van a encontrar el PDF original. Cuando los comparen se darán cuenta de que no son iguales. Puede compararlos con: 

vbindiff:


Se pueden ver en rojo los bytes que no son iguales en el archivo entregado para el reto.

3. Conociendo los bytes diferentes los extraigo y los pongo en un archivo diferente, en total serán 256 bytes. Esto se hace con un script en el lenguaje que mas les guste.

4. El paso difícil aqui es entender que hacer con los 256 bytes, pero la pista que se dio apunta a que se trata de un shellcode, para Linux de 64 bits. El shellcode se puede convertir en un binario, la mas fácil es usar un stub que funcione para 64 bits (ojo, no todos los stubs funcionaran y menos los tradicionales). Aqui pueden encontrar algunos:


5. Lo siguiente es analizar el shellcode anterior, el binario generado o ejecutar el binario y analizar su comportamiento (ojo, en algunos casos puede ser realmente maligno :P , se asume que están en un entorno de pruebas o están haciendo un análisis estatico). Con un simple "strings" al binario, con un análisis del shellcode o después de ejecutar el binario encontraran este string:

"|h.l$.L.d$.H..l.%...L.l$.L.t$.l.|$.h.\\\\$.h..a..i..h...i..|.H..T.1...@.l..L..D..a...H.H9.R.H.\\\\$.H.L$|h.L$.l.d$.h..L.%...l.l$.L.t$.l.|$.h.\\\\$.h..a..I..h...I..|.h..T.1...@.l..L..d..A...H.h9.R.h.\\\\$.H.L$|h.l$.l.d$.H..l.%...l.l$.L"

Este string esta fabricado a proposito pues es un string generico en muchos binarios de Linux, así que bien podría ser una pista o ser algo mas. La mayoría de los concursantes llegaron hasta aquí y falto solo un paso como se dijo en los tuits de ayuda.

El ultimo paso era usar este string en el software de horrografia de @hecky :


Dando como resultado la flag ganadora: secxone  ;)

Gracias a todos por jugar!


lunes, 5 de noviembre de 2012

Network Forensics en el SecZone



CONCURSO NETWORK FORENSICS




Si quieres ir al 2º Congreso de Seguridad Informática Security-Zone, aquí está tu oportunidad de conseguir una entrada. 


Escribe un artículo/post introductorio sobre el tema de Network Forensics, comparte la URL de tu artículo en twitter agregando un cc @nonroot , el tuit debe incluir la siguiente frase del concurso: "quiero ir al @SecZone, #Network #Forensics es mi entrada".


Se recibirán artículos hasta el Martes 13 de noviembre a las 23:59 (GMT -5) y el anuncio del ganador de la entrada* al evento se hará el Viernes 16 de noviembre a las 23:59 (GMT -5), el ganador será el autor del mejor articulo publicado. 

Las métricas para la evaluación son:
  • El mas preciso
  • El mas bonito
  • El mejor redactado
En conclusión:  el mas chévere :P

El anuncio se hará por la cuenta @nonroot 

Aclaración:

* La entrada que se entrega es para el evento Security Zone, los días 6 y 7 de Diciembre en la ciudad de Cali, Colombia. Gastos adicionales como transporte, alimentación, alojamiento, cerveza, talleres, etc. NO están incluidos.

Nos vemos en Cali!

Entradas populares