pre { background:#eeeeee; border:1px solid #A6B0BF; font-size:120%; line-height:100%; overflow:auto; padding:10px; color:#000000 } pre:hover { border:1px solid #efefef; } code { font-size:120%; text-align:left; margin:0;padding:0; color: #000000;} .clear { clear:both; overflow:hidden; }

Bienvenido al blog

Bienvenidos al blog de seguridad en sistemas

domingo, 7 de octubre de 2012

Última actualización OsX y FileVault

Muchos de vosotros direis que última última no, tiene posiblemente un par de semanas, pero es que la última vez que intente actualizar el Os X el sistema no se recuperó y tuve que tirar de Time Machine para restablecer el entorno.

Hoy por fin me he decidido a actualizar, en ella se describe que se trata de un pequeño parche de seguriad para corregir algunos errores, un pequeño parche de unos 1.3 GB...

Bueno dejando esto de lado, cuando he actualizado el entorno me ha solicitado reiniciar el equipo, cosa que he hecho, y como siempre, al arrancar el sistema me ha solicitado la contraseña para acceder al sistema de ficheros puesto que lo tengo cifrado con FileVault, que es el sistema propietario de Apple para cifrar dispositivos.

Lo gracioso ha sido cuando he visto que no me reconocia la contraseña de descifrado del sistema de ficheros, una y otra vez, una y otra vez sin suerte. Como no tienes la posibilidad de ver lo que estas tecleando puesto que en todo momento se muestran "*", cosa que desde el punto de vista de la seguridad es perfecto, pero no estaría de mas poder seleccionar una opción que te permitiera ver lo que estas escribiendo.

Al poco he caido en la cuenta, ¿a que estos hijos de fruta me han puesto el teclado en inglés despúes de actualizar? y efectivamente he probado escribiendo los simbolos no alfanumericos de las contraseñas como si de un teclado americano se tratara y he entrado en el sistema como un campeón.

Pues nada ya lo sabeis por si alguno le pasa, que paseis un buen día ;)

Continuar...

viernes, 5 de octubre de 2012

Saltarse un WAF mediante Parameter Pollution

Buenos días a todos, al menos en Boston. Hace un par de días leí en twitter una noticia que apuntaba a una entrada del blog de Daniel Regalado (Danux Mitnick) titulado "Bypassing WAF via HTTP Parameter Pollution". 

La entrada está francamente bien y trata sobre como saltarse en ciertos casos los filtros de un Web Application Firewall o WAF, es decir, un filtro que previene de ciertos ataques Web como SQL-I, XSS, XSRF, etc. 

Daniel emplea para evadir el filtro envenenamiento de parametros o en inglés Parameter Pollution, donde en este caso, trata de saltarse los filtros del WAF cuando este analiza distintos valores para una misma variable de entrada. Un WAF mal programado podría procesar de forma distinta de como es interpretado por el lenguaje de programación empleado para la Web. Se puede ver como un fragmentation overlapping pero en capa de aplicación en vez de capa de red.

Para entenderlo de forma sencilla, si tenemos una variable que es "texto" podemos enviar una petición a la página web auditada introduciendo dos variables "texto" con distinto valor, como se puede ver en la siguiente petición Get:
http://www.paginafictica.com/index.php?texto=hola&texto=adios
El WAF podría tratar el valor del primer texto (hola), el valor del segundo texto (adios), ambos por separado (hola y adios) o el valor resultante de la suma de ambas variables (holaadios). En caso de la entrada de Daniel el se encuentra que el WAF solo procesa el valor del primer texto sin analizar el valor del segundo texto "adios".

Una vez se conoce el funcionamiento del WAF, y por tanto si realmente realiza las cuatro comprobaciones o solo algunas, sabremos si es posible o no saltarse las restricciones e inyectar el parametro deseado. 

Llegado a este punto será necesario saber como funciona la tecnología empleada para el desarrollo de la página. Daniel hace una tabla indicando el funcionamiento de cada una de las tecnologías, la cual la podeis ver en su entrada indicada al principio, pero el resumen básico sería el siguiente:
  • PHP: se queda solo con el valor de la última variable (última ocurrencia).
  • ASP y .NET: se queda con el valor de la suma de todas las variables (todas las ocurrencias).
  • JSP: se queda solo con el valor de la primera variable (primera ocurrencia).
  • Python y Perl: se crea un array.
Por lo que si sabemos que en el ejemplo de Daniel el WAF solo analiza la primera ocurrencia, si la web emplea PHP, ASP o .Net lo único que tendremos que hacer es realizar una solicitud escribiendo dos veces la misma variable y introduciendo el vector de ataque en la segunda ocurrencia. Por descontado habrá que tener cuidado si usamos "ASP" o ".Net" de que el valor de la primera ocurrencia no afecte al funcionamiento del vector de ataque:
http://www.paginafictica.com/index.php?texto=hola&texto=XSS
La verdad que me ha parecido una buena entrada, sencilla, útil y muy bien explicada por parte de Daniel. Recomiendo seguir a esta persona en Twitter y a su blog.

¡Un saludo!

PD: ya tengo asignado a un tutor para el Gold GCIA... y que tutor... ¡un crack!


Continuar...

jueves, 4 de octubre de 2012

¡Gold GCIA aceptado!

Después de un largo fin de semana en Toronto (Canada) visitando a la familia y 2 días sin Internet en casa por fin pude mandar mi correo a SANS preguntando sobre el Gold... contestar, lo que es contestar no me han contestado, pero me ha llegado el correo de confirmación como que han aceptado la propuesta.

Ahora tengo seis meses por delante para desarrollar y redactar la herramienta, que por temas de confidencialidad no puedo hacer pública todavía. Es mi primer Gold por lo que estoy bastante ilusionado al respecto, ya veremos como sale.

Lo que si que me gustaría es solicitar trocitos pequeños de registros o logs de distintos servicios como pueda ser el IIS, WebSphere, Domino, JBoss, etc. Podeis sustituir las IPs por otras ficticias, no es problema, solo me interesa la estructura del log, con un par de entradas me sobra. Toda ayuda será agradecida.

Siento que la entrada sea corta pero mañana me toca levantarme a las 6 am que tengo 5 horas de inglés ¡Woo Hoo!

PD: os dejo una foto de recuerdo del fin de semana en Canada (venga a por los metadatos xDDDD)



Continuar...