05 agosto 2009

1/4 - Wargame CP2009 - Pruebas de Redes

El concurso de hacking de la Campus Party ha terminado. Ha sido tremendamente divertido organizarlo y ver a los concursantes participar.

El juego estaba dividido en cuatro partes: redes, web, binarios y criptografía, con cuatro pruebas por bloque. Cada prueba con una puntuación distinta partiendo de 100 y terminando en 250 con 50 puntos de diferencia entre prueba.

Para todos aquellos que nos lo han pedido, vamos a contar brevemente algunas pruebas y más detalladamente otras. Hoy nos centraremos en uno de los cuatro bloques en los que las dividimos: networking.

En todas las pruebas de redes se facilitaba un archivo PCAP con datos y una pequeña pregunta con lo que se pretendia obtener.

El primer archivo era la captura de una petición GET de un archivo comprimido con una contraseña tan compleja como "123456", una vez extraído el fichero con alguna herramienta como NetworkMiner, se podía leer en un archivo la contraseña para pasar la prueba.

La segunda prueba consistía en un archivo que mostraba un RETR de un FTP de un archivo de imagen, esta imagen contenía como información EXIF las coordenadas GPS de una tienda de Londres junto a una estación de metro, que era la respuesta a la pregunta que permitía superar la prueba.

La tercera prueba se complicaba un poco. Se capturó el tráfico generado por un nmap y se solicitaba los argumentos con los que había sido lanzado.

De la siguiente captura de wireshark del archivo pcap se pueden obtener casi todos los datos:


--source-mac fa:ba:da:fa:ba:da: fue de las más difíciles de detectar, ya que no todo el mundo vio que claramente no era una MAC real.
172.16.1.1: la dirección IP de destino, argumento obligatorio en Nmap!!
--ttl 100: time to live establecido a 100.
-g53: puerto de origen, para obtener este dato había que ver varios paquetes y observar que en todos ellos el puerto de origen siempre era el 53.
--sN: sin flags de ningún tipo, escaneo denominado "Null"
-p100-9453: para conocer los puertos de destino, la forma más sencilla era ordenar por puerto de destino y observar el primero y último. Por suerte no decidimos eliminar ninguno de por medio!!
La cuarta y última prueba era un poco más difícil, aunque nada que se haya resistido a los geniales hackers de la campus que la resolvieron en unas cuantas horas. En esta ocasión se facilitaba el tráfico de una autenticación de RADIUS y se solicitaba la SharedKey. Para pasar la prueba es necesario entender la negociación CHAP/EAP, como se genera el MD5 y realizar un ataque de fuerza bruta mediante el desarrollo de alguna utilidad, ya que no existe ninguna. Podéis consultar el RFC3748 y el RFC1994 para obtener más información. En esta prueba se utilizó una herramienta desarrollada por Pablo Ruiz (Pci) que ya ha colaborado con nosotros, para generar el MD5 que aparecía en la captura.

¡¡Enhorabuena a todos aquellos que superaron todas las pruebas!!

14 comments :

TuXeD dijo...

Enhorabuena a vosotros por el reto!

Estuvo interesante, aunque no estuve desde el principio... Eso si, como ya visteis habia un componente demasiado alto de fuerza bruta. Al final lo que pasa con eso es que muchos sabemos el ataque a realizar (o parte de el) pero no damos con el diccionario correcto para seguir avanzando :(

Estuvo entretenido, y el final con varios grupos de participantes (creo que la mayoria de los de la cabeza eramos 2-3 personas) a tiro de una prueba estuvo bien :D

PS: Me sigo cagando en mi mismo por calentarme tanto la cabeza con bin04 innecesariamente xD

vierito5 dijo...

Las de horas que nos pasamos con la de nmap!!!

El parámaetro -g no se podía sustituir con su forma --tcp-ports y creo recordar que que la MAC había que ponerla con mayúsculas.

jgaliana dijo...

lo del -g creo que dices --source-port... uff si, yo la del nmap la tenía pero ponía la MAC en minúsculas y no colaba para puntear.

En general estuvo muy entretenido.

Mis preferidas: net04 y web04

Saludos!

//Skool

jgaliana dijo...

Hola Alejandro,

Felicidades por la organización del concurso, de vosotros sólo pude hablar con Lorenzo... una pena no haber coincidido con los demás.

Por cierto, el parámetro de la MAC no es --source-mac es --spoof-mac, y como comentaba en el anterior comentario, la dirección MAC debería ir en mayusculas, es decir:

--spoof-mac FA:BA:DA:FA:BA:DA

Un Saludete

//Skool

vierito5 dijo...

perdón! me he rayado, con --source-port 53, sí

net04 fue muy interesante al tener que hacerse cada uno su herramienta

Anónimo dijo...

Upss.. vaya, me lo perdí :-(

¿ Alguna posibilidad de descargar dichos ficheros pcap para poder "jugar" en casa ?, ¿ y el resto de pruebas también se podrían descargar ?

Si, puede que ya no tenga sentido pq están publicadas las soluciones pero aún así, me vendría bien.

Saludos

PD: Enhorabuena por el blog ( a tod@s )

Anónimo dijo...

+1 anónimo!

Estaría genial que publicaseis los archivos pcap de las pruebas para juguetear :)

Alejandro Ramos dijo...
Este comentario ha sido eliminado por el autor.
Alejandro Ramos dijo...

@TuXeD: como ya comentamos, la idea era usar diccionarios generados a base de la web de la campus y sbd, no era "fuerza bruta" tal cual, pero efectivamente el componente fué demasiado alto, nos lo apuntamos para la siguiente... Gracias por el comentario!

@vierito5: correcto! por eso hicimos la validación manual de esa prueba y no hubo más problemas ;)

@Anónimos: contad con los archivos en la entrada 4/4 de todas las pruebas.

Anónimo dijo...

http://pastebin.com/f1f4e927d

Otro sencillo programa para resolver la prueba del radius usando diccionario.

Anónimo dijo...

Hola, no habría algún modo de poner algún pdf con las pruebas que se hicieron en la party¿? y otro con alguna de las posibles soluciones. Estaría bien una sección similar en la web.

gracias.

vierito5 dijo...

estoy pensando, en la prueba de nmap ¿no falta poner -n para que no resuelva DNS en ningún caso? yo recuerdo que lo puse en la solución

nonroot (c) 2008/2009 dijo...

Hola!, apenas llego a Colombia!,
Felicitaciones por el reto, estuvo muy bueno, desde la charla empece a leer un poco mas sobre ustedes.

Estoy creando un solucionario del wargame, por si alguien esta interesado, saludos.

http://nonroot.blogspot.com/2009/08/how-to-pass-wargame-cp-2009-networking.html

Alejandro Ramos dijo...

@nonroot: geniales las soluciones me ha encantado el detalle. Solo puntualizarte un par de cosas:

Para el reto 3 el orden de parámetros no importaba, se contemplaban para casi todos los casos tanto el nombre largo como el nombre corto (menos para uno en concreto) pero todos aquellos concursantes que estuvieron cerca, se les dio las pistas para superar la prueba.

Para el reto 4, la contraseña es: 9995. Puedes probar a utilizando la herramienta que comentas si es capaz de obtenerla?

Un saludo y otra vez enhorabuena por esa entrada tan estupenda.