sábado 10 de diciembre de 2011
lunes 31 de octubre de 2011
MiniReto - Deface It!
Hace un par de días publiqué un mini reto (lo encuentran aquí) con el objetivo de pasar un rato agradable y aprender un poco. La verdad el tema central del reto tiene como base una historia de pentesting real en un ambiente corporativo, pero quise recrear el escenario para que otros profesionales y estudiantes no descarten estos vectores de ataque dentro de sus propios análisis. Obviamente cambian algunas condiciones como por ejemplo que en la vida real fue un entorno LAN y se usaban NAS y SANs reales, en este caso el protocolo se lleva a Internet y se usa un simple servidor corriendo Linux.
Hasta el momento he publicado un total de 3 mini retos, casi siempre dentro del entorno académico donde enseño, pero esta vez con ayuda de algunas listas de correo tuvimos un juego no tan local. El mini reto tuvo una duración de 24 horas aproximadamente, tiempo estimado para que alguien pudiera dar con la solución, quizás fue poco tiempo, quizás fue mucho, lo importante era aprender en el camino.
El reto fue anunciado así:
Link en Sec-Track (http://www.sec-track.com/deface-it-reto-3-by-nonroot)
La administradora de red vanessa publicó su primer portal web.
Su fuerte son otros temas, sin embargo le causa curiosidad el tema de los servidores web, por eso se animó a crear su propio espacio personal.
Misión: Hacerle un DEFACE al portal: http://107.22.221.188/
Reglas:
- Permita el juego de los demás (juego limpio)
- Gana el primero que haga el defacement
- El premio es una calcomanía de BlackHat (es enserio, no hay mas plata para premios :P )
- Canal de soporte en #ctf-colombia (irc.freenode.net)
- Vale todo! (menos D.o.S, D.D.o.S)
- Think Different!
A jugar!
Su fuerte son otros temas, sin embargo le causa curiosidad el tema de los servidores web, por eso se animó a crear su propio espacio personal.
Misión: Hacerle un DEFACE al portal: http://107.22.221.188/
Reglas:
- Permita el juego de los demás (juego limpio)
- Gana el primero que haga el defacement
- El premio es una calcomanía de BlackHat (es enserio, no hay mas plata para premios :P )
- Canal de soporte en #ctf-colombia (irc.freenode.net)
- Vale todo! (menos D.o.S, D.D.o.S)
- Think Different!
A jugar!
Algunas estadísticas del reto:
Hasta donde me dice el apache y sus logs, entraron mas de 700 visitantes y un total de 477 IPs únicas, como quien dice, que estuvo movido el reto. La mayoría de logs se recolectaron del sistema web incluso después de haber twitteado (@nonroot) que el reto NO era web.
Hubo jugadores no solo desde Colombia, las dos IPs que mas se acercaron estaban en Egipto y otra desde Argentina. Sin embargo nadie solucionó el reto.
Muchos de los jugadores estuvieron preguntando por la solución, así que saqué los archivos de configuración y los discos usados para que puedan recrear el escenario.
El reto como se dijo mientras estuvo abierto, si bien tenia como objetivo hacer un defacement (lo que claramente implica una plataforma web), no obligaba a que se resolviera usando vulnerabilidades web.
Siempre hay que analizar todos los vectores de ataques posible, porque no sabemos donde encontraremos la vulnerabilidad. Herramientas como nikto, dirbuster, etc, son buenas, pero no siempre van a funcionar en todos los entornos y este no era el entorno para usarlas.
El reto apuntaba a un target iSCSI implementado en Linux con la herramienta:
Las pistas iniciales debían conducir a encontrar el puerto correcto y usar las herramientas para dicho protocolo, después se encontrarían con mas pistas hasta alcanzar la solución final.
Para reproducir el escenario se requiere un sistema linux, instalar el target ISCSI mencionado y poner los "Discos Duros" en el directorio /backup/ , para mas información mirar la configuración anexa del target (ietd.conf).
El archivo necesario para reproducir el escenario lo pueden descargar desde aquí:
Y la plataforma web?, la plataforma web era un joomla con todas las configuraciones necesarias para que no fuera vulnerable (a menos que alguien tenga un zeroday para la última versión), así que no era relevante en la prueba. El objetivo era conseguir el password de acceso administrador por otro medio y luego ingresar al portal y hacer el defacement.
A tener en cuenta durante el desarrollo del reto:
- Los LUN están formateados, tener en cuenta estos formatos para seleccionar un cliente adecuado.
- Existe una recomendación para usar 12 caracteres en los passwords CHAP en ISCSI, esto aunque no lo crean reduce el ámbito de pruebas para un bruteforce, por ejemplo, pocas personas quieren recordar passwords de 12 caracteres complicados.
- ¿Cómo hago para saber que el protocolo es iSCSI, si no esta en el puerto por defecto?
- ¿Cómo hago para hacerle fuerza bruta al proceso de discovery de los targets? (para el reto el discovery estaba sin passwords, pero es posible configurarlos, cómo haríamos para descubrirlo?)
- ¿Cómo hago fuerza bruta para el password del target (CHAP)?
- Si logro encontrar los tokens en el intercambio CHAP, ¿Cómo puedo encontrar el password?
Espero que se animen a montar el reto y postear sus conclusiones, como ya saben, tenemos el wiki de Sec-Track disponible para hacer los aportes.
Gracias a todos los que jugaron y a los diferentes proyectos (kungfoosion, sec-track, ctf-colombia, hackplayers) por replicar el tema.
Saludos.
miércoles 20 de julio de 2011
Challenge 7 of the Forensic Challenge 2011 - HoneyNet.org
Unos días después de anunciar los ganadores del reto 7 de honeynet me ha llegado el fabuloso premio que pueden ver en la imagen. La verdad el premio es compartido con Camilo Zapata (duma) ya que participamos juntos en el reto, pero como usé mi dirección de correo, me quedo con el :P
El reto consistió en un análisis forense a una maquina Linux comprometida por el servicio Exim y aunque personalmente no quede muy a gusto con el resultado, nos divertimos analizando las imágenes de memoria del sistema.
En el paper final pueden encontrar las respuestas a las preguntas del reto y unos comentarios sobre nuestros puntos de vista, pues en las imágenes a analizar encontramos evidencia del proceso de construcción del reto, por lo tanto lo descartamos como evidencia de intrusión, cosas como:
- La maquina que recolectaba la imagen (dd) con la que jugamos no podía ser la maquina del intruso (según el timeline), sin embargo el primer puesto dijo que eso era cierto.
-La maquina del intruso correspondía a una sola IP, la segunda IP parecian ser pruebas contra el reto (pruebas de diseño), en nuestro concepto estos fueron pequeños errores en la preparación del reto, sin embargo en el paper ganador estos datos se asociaron a los intrusos.
Para validar el alcance de la explotación de los dos exploits usados, investigamos el tiempo de acceso a las librerias de los binarios ejecutados, esto nos daba la certeza del momento exacto y si hubo o no intrusión.
Eso es todo, con este post los quiero animar a participar en los próximos retos del proyecto HoneyNet, que si bien no esperamos ganar premios significativos ($$), es un escenario propicio para aprender.
Los solucionarios al reto 7 de forense los pueden descargar de:
Update: Solucionario en Español:
http://www.openbsdcolombia.org/honeynet/RetoForense7-Honeynet-Fernando_Y_Camilo.pdf
Hasta la próxima!
Etiquetas:
forense,
honeynet,
seguridad informática
viernes 8 de julio de 2011
Campus Party Colombia 2011
Este año mi participación en #CPCO4 estuvo bastante movida, por un lado y como lo he hecho en las pasadas 3 Campus Party de Colombia, estuve apoyando el equipo de tecnología con el montaje y puesta en marcha de la red (IPv4, IPv6) para más de 4500 campuseros, este año el equipo de tecnología recibió el apoyo de todo un batallón de estudiantes de la Escuela de Ingeniería Julio Garavito.
[Pegar foto de los estudiantes de la escuela Aquí]
Luego y durante la semana de campus estuve pendiente de que las cosas funcionaran adecuadamente, encontrando intrusos informáticos y solucionando problemas no tan comunes como personas saltando en las cajas de los switchs, mientras gritaban BXXBIS!! BXXBIS!!.
Este año también estuve con dos grandes amigos (Jhonatan Silva y Camilo Zapata) presentando un taller en el área de seguridad y organizando el reto informático denominado para esta edición: WarGame Campus Party (#WGCPCO4), por primera vez en Colombia se diseña un reto con estas características y la expectativa es que los niveles de los juegos deben seguir aumentando.
El reto patrocinado por Campus Party buscaba que los participantes solucionaran 10 niveles de diferentes dificultades y sumaran puntos hasta obtener 900 puntos. El premio para el ganador fue un IPAD 2.
Algunos pantallazos de la plataforma que desarrollamos:
Sistema de captura de banderas
Comandos por consola, para los mas geeks!
Sistema de descarga de retos con pistas incluidas
Cada nivel entregaba sus correspondientes pistas, por entorno gráfico o consola
La pirámide de retos, diferentes niveles de dificultad
Pantallazo general de la plataforma del #WGCPCO4
En el #WGCPCO4 se inscribieron 129 personas de las diferentes ciudades del país y estuvieron jugando hasta el último día 40, la puntuación final se puede ver a continuación:
Desde hace varios años hemos estado participando en retos de seguridad, también trabajando en el desarrollo de diferentes plataformas que hacen posible que las personas puedan divertirse y aprender jugando. Para dar soporte a todos los retos de seguridad informática tenemos una lista de correo donde puedes conocerte con otras personas interesadas en estos temas:
LISTA DE CORREO:
Las diferentes presentaciones que hicimos como grupo en #CPCO4 las pueden descargar aquí:
- Presentación del WarGame CPCO4
- Presentación del Taller IPV6
- Presentación del Taller de Auditorías Informáticas sdd
- Video de la Presentación
Y lo más esperado, las soluciones (Writeups) del #WGCPCO4:
Por ahora no es más, quiero agradecer a todas las personas de las cuales siempre aprendo algo en cada evento, a los amigos con los que me reencuentro cada año y en general a todas las personas que hacen posible que una Campus Party sea tan divertida como puede ser. Próxima estación #CPES15 y #CPMX3
Hasta la próxima!
Etiquetas:
2011,
campus party,
hacking,
seguridad informática,
wargames,
writeups
domingo 5 de junio de 2011
WriteUP GB200 CTF QUALS DEFCON
En el reto "Grab Bag" 200 encontramos un servidor corriendo en el puerto 6000 y para el cual nos dan la clave: "Never\$olv3d!". Cuando nos conectabamos al puerto y enviamos cualquier carácter obteníamos la siguiente salida:
000111222333444555000111222333444555000111222333444555
Después de esto el sistema esperaba una entrada y respondía con otra fila de números similar o con un mensaje de mensaje incorrecto. En el análisis encontramos:
1. Los números solo eran desde el 0 al 5.
2. El mensaje de error se generaba cada 4 números, por lo tanto lo que el sistema esperaba era de 4 números. Por lo que teníamos posibles combinaciones de 0000 a 5555.
3. Si no respondiamos una supuesta secuencia correcta entonces se generaba un error.
La solución:
Después de probar diferentes cosas intenté con cada combinación de números así: 0000, 1111, 2222, 3333, 4444, 5555, el único que generó una respuesta diferente fue: 2222, con este número obteníamos un "0" y luego el programa abortaba (close socket).
Intenté entonces enviarle la información de otra manera:
$perl -e 'print "Never\$olv3d!\n"' | nc pwn522.ddtek.biz 6000
y al ver que lo podía hacer, entonces envié el caso especifico del 2.
$perl -e 'print "Never\$olv3d!\n2222"' | nc pwn522.ddtek.biz 6000
000111222333444555000111222333444555000111222333444555
000111222333444555000111222333444555000111222333444555
Let's not be too rough on our own ignorance; it's what makes America great!
000111222333444555000111222333444555000111222333444555
000111222333444555000111222333444555000111222333444555
Let's not be too rough on our own ignorance; it's what makes America great!
Busqué esta frase en Internet y encontré que el autor era: Frank Zappa
Intenté varias combinaciones en el scoreboard, pero finalmente use la clave:
KEY= "Let's not be too rough on our own ignorance; it's what makes America great!"
Resultando ser la KEY correcta => + 200.
Fácil no? :P
Pd:
Este reto fue resuelto durante una clase de seguridad con los aprendices del SENA, gracias a ellos!.
Suscribirse a:
Entradas (Atom)















