~tuxed/bookmarks #1
Estreno con esta entrada lo que espero que sea una serie de entradas sin periodicidad alguna (osea que aparecerán cuando me acuerde 😉 ) con enlaces a páginas interesantes que me vaya encontrando por ahí.
Vamos a empezar con algunos blogs dedicados a la seguridad que empecé a leer hace un tiempo y quería postearlos, pero que se ha ido retrasando debido a exámenes y otras ocupaciones que he tenido ( amén de la pereza que suele imperar en mí :oops:).
- 48bits.com : Excelente blog en español sobre seguridad informática. Publican artículos interesantes sobre exploits propios, alguna prueba/reto, etc. Colaboran varios profesionales de esto.
- 514 : Blog similar al anterior, en el que escribe entre otros A. Tarascó
- Sergio Hernando : Blog de Sergio Hernando sobre seguridad y auditoría de sistemas.
De momento vamos a dejarlo con estos tres, aunque conforme vaya acordándome iré añadiendo más enlaces que considere interesantes 😉
Así los tengo por si algún día se me olvidan... que yo con los bookmarks no me llevo muy bien 🙄
XSS en la web de la OPII
El otro día de casualidad me encontré con otro ejemplo más de lo que no se debe hacer en una aplicación web dentro de las páginas de la Universidad Politécnica de Valencia. Si en otro post hablaba de un problema de cookies y robo de sesión en la intranet de alumnos de la UPV, esta vez se trata de dos XSS en las páginas de la Oficina de Programas Internacionales de Intercambio (o algún nombre similar 😀 ).
Estaba yo mirando mis datos de la beca Erasmus cuando me tuve que ir a comer, y al volver me encuentro con que la sesión había expirado y la URL era del tipo error.asp?msg=mensaje , y el mensaje aparecía en el cuerpo de la página. Un claro ejemplo de XSS temporal si no se filtra adecuadamente el mensaje.
Además de éste, mirando las páginas de la opii que tenía en la barra de direcciones de mi firefox, me encontré con otra URL similar, pero esta vez metían el mensaje en un alert() de JavaScript y sólo era necesario cerrarlo con '); para salirse del alert y seguir añadiendo código JavaScript.
Les avisé y en un día tenía respuesta vía mail con un agradecimiento e informándome de que se habían corregido ambos fallos.
En fin, como decía antes, un ejemplo más de qué NO se debe hacer. Al menos esta vez fueron rápidos en corregirlo.
Phrack ha vuelto!
Pues sí, la ezine más famosa ha vuelto cargada de nuevos artículos. Después de que en agosto de 2005 el antiguo staff de Phrack publicara su último número, comentando que era de esperar una nueva release en 2006 o 2007 editada por otra gente, hace unos meses ( en Mayo ) se publicó el número 64.
Este es el índice:
0x01 Introduction The Circle of Lost Hackers
0x02 Phrack Prophile of the new editors The Circle of Lost Hackers
0x03 Phrack World News The Circle of Lost Hackers
0x04 A brief history of the Underground scene The Circle of Lost Hackers
0x05 Hijacking RDS TMC traffic information signal lcars
danbia
0x06 Attacking the Core: Kernel Exploitation Notes twiz
sgrakkyu
0x07 The revolution will be on YouTube gladio
0x08 Automated vulnerability auditing in machine code Tyler Durden
0x09 The use of set_head to defeat the wilderness g463
0x0a Cryptanalysis of DPA-128 sysk
0x0b Mac OS X Wars - A XNU Hope nemo
0x0c Hacking deeper in the system scythale
0x0d The art of exploitation: Autopsy of cvsxpl Ac1dB1tch3z
0x0e Know your enemy: Facing the cops Lance
0x0f Blind TCP/IP hijacking is still alive Lkm
0x10 Hacking your brain: The projection of consciousness keptune
0x11 International scenes Various
La verdad es que tiene buena pinta, y que me alegro de haberme enterado tarde porque si no algún artículo habría caído en exámenes y no es muy aconsejable ...
Que lo disfrutéis!
Problemas con Sony Vaio y su servicio técnico
Este post es simplemente para comentar el caso de okahei con su nuevo portátil Sony Vaio y el servicio técnico de Sony. Tras multitud de problemas ahora mismo está sin portátil, no le envían uno nuevo y encima no sabe si se le devolverá el dinero.
Cito textualmente el post de SLaYeR , que también ha sido comentado por iespacio.org y NeTTiNG:
De todos es conocida la potencia y la fiabilidad de los Vaio de Sony, esa famosa serie de portátiles que cuando compras uno empleas el sueldo de unos dos meses para poderlo pagar.
Por esta y mas razones, esperas que este producto sea de una calidad inmejorable, pero (siempre hay un pero) no siempre esto es verdad...El amigo okahei de los foros de Wadalbertia ha sido victima (porque no hay otra palabra) del servicio técnico de Sony y sus políticas de empresa.
Después de mandarlo a reparar tres veces, cambiarle tres veces el disco duro y dos la placa base (en un portátil de apenas dos meses....) se niegan a cambiarle el portátil por uno nuevo, y por supuesto no hablemos de devolver el dinero. Es tan triste el asunto que ni el mismo servicio técnico de Sony sabe lo que le pasa al portátil. De todos modos se puede decir que Sony es una empresa bastante "familiar", ahi opina hasta la secretaria del director de Sony España: "paciencia y resignación".... manda huevos... oOSegún nos cuenta okahei, el problema empezó cuando decidió substituir el Vista que viene instalado de serie por una Ubuntu, al poco tiempo empezó a fallar el disco duro, tanto que en 2 meses la BIOS ni lo reconocía. Posteriormente y después de cambiar el disco duro en el servicio técnico, probo con el XP-SP2... mas de lo mismo.
Que una gran empresa te responda que sus productos están diseñados para funcionar correctamente solo con Windows Vista la verdad es que no inspira mucha confianza.
Es una vergüenza tener que verte obligado a usar un software que aborreces solo por querer tener un portátil de calidad(?)La libertad de elección del SS.OO se ha perdido con el monopolio cada vez mas grande de Microsoft, y las empresas lacayas como Sony, que se arriesgan a una fatal publicidad por "políticas de empresa" y la siguen hasta donde vaya.
Un problema sencillo de resolver como este hace tiempo que debería estar zanjado. Una empresa de la envergadura de Sony debería aceptar que ha vendido un portátil funesto, no apto para funcionar, y cambiarlo por uno nuevo que cumpla con sus funciones.
En cambio, Sony dice que tienes que llamar, discutir con todo el servicio técnico, gastarte un pastón en llamadas inútiles y acabar consumiéndote por dentro de impotencia... este es el precio de comprar un Vaio.Nos unimos a okahei en su lema:
NO COMPRAR VAIO !! MAL SERVICIO TÉCNICO, Y TE TOMAN EL PELO!
Todo esto me recuerda a algo parecido que le paso al amigo Nitz, esta vez con Acer. Esta visto que las grandes compañías han dejado de ser fiables...
Mientras tanto seguiré con mi portátil OEM que aun no me ha fallado y con el que puedo tener instalado el SS.OO que me de la gana.Salu2!
Parece que no te puedes fiar del servicio técnico de nadie... simplemente si te toca la china no puedes más que intentar luchar defendiendo tus derechos, aunque no es fácil luchar contra estas compañías pero hay que intentarlo.
Desde aquí, ánimo Okahei, a ver si al final consigues arreglarlo.
Acaba el curso… comienza una nueva etapa
Hace ya un par de semanas acabé los exámenes y ahora comienza una nueva etapa. En parte dejo atrás la escuela ( ETSIT ) y empezaré a ver mucho menos a mucha gente que he conocido allí, y dentro de nada comenzará mi nueva vida de Erasmus en Eindhoven.
Ahora mismo estoy preparando la Campus Party que empezará el próximo lunes 23 de julio, pues como muchos sabéis este año trabajo allí colaborando en la organización de la zona Software Libre y además tengo que preparar un concurso de seguridad ( probablemente será el típico wargame con pruebas web por niveles, junto con algo de cracking de binarios ELF y probablemente pruebas en las que habrá que explotar algún binario vulnerable en un sistema Linux ). A parte del concurso, también me toca dar una charla sobre seguridad web que aun no sé cuando será exactamente.
Por otra parte, este octavo cuatrimestre me ha ido más que bien y no me puedo quejar bajo ningún concepto. En teoría ya he acabado todos los exámenes que debo hacer en la ETSIT puesto que los créditos que me quedan los cursaré en la TU Eindhoven como ya comenté. Veremos qué me depara esta nueva etapa ;-).
Y ya para con los temas personales que seguro no interesan a nadie ( si es que alguien me lee 😀 ) , el lunes recibí mi nuevo Macbook, cuyas características principales son :
- Core 2 Duo 2.16 GHz
- 2 Gb de memoria RAM DDR2 667 MHz
- HD SATA de 5400 rpm de 120G
La verdad es que el bicho va bastante bien, aunque aun me estoy adaptando a Mac OS X pero cuando tenga un rato y ganas le hago un hueco en el disco duro y meto alguna distribución de GNU/Linux ( Gentoo o Debian, probablemente la primera )
PD: Siento postear tan poco... entre los exámenes y líos varios...
Charla sobre bugs y exploits
Ayer dí una charla sobre bugs y exploits en la facultad de informática de la UPV en la que hablé sobre varios tipos de bugs típicos: Buffer overflow en la pila (Stack Overflow), en memoria dinámica (heap overflow) y errores de uso en las cadenas de formato. Se habló de cómo se explotan estos fallos, mostrando ejemplos salvo para el heap overflow debido a los cambios introducidos hace tiempo en la libc que añaden muchos integrity tests, lo que dificulta bastante la explotación.
Para quien le interese, el artículo citado sobre Heap Overflows (The Malloc Maleficarum) se puede ver entre otros sitios aquí . Si por algún casual no funciona, ya sabéis donde está google :).
En breves postearé también las transparencias que utilicé y el artículo sobre return-into-libc que prometí colgar, puesto que no lo tengo ahora mismo a mano.
Espero que a los que estuvisteis presentes os gustara 🙂
Actualización : Ya se puede descargar el artículo sobre return-into-libc en la sección de Artículos, donde también se puede encontrar el documento que colgué a principios de año sobre programación de shellcodes para GNU/Linux.
Actualización 2 : Para acabar de cumplir con mis obligaciones, las transparencias de la charla se pueden descargar desde aquí en formato OpenDocument Presentation (ya sabeis, OpenOffice.org 😉 ). Son las mismas que usé en la charla con algún ejemplo añadido... probablemente tengan algún error por ahí aun, si alguien encuentra alguno le agradeceré que me lo comente 🙂
Presentaciones IT Underground Praga 2007 disponibles
Parece ser que llevan bastante tiempo ahí, pero yo solo hace un par de días que las encontré. Creo que a raiz de un correo en Bugtraq, llegué a una presentación de Dror Roecher sobre seguridad en OSPF que aunque no he leído tiene buena pinta. Para quien no lo conozca, OSPF es un protocolo de enrutamiento interior basado en el algoritmo de Dijkstra que trata de utilizar el camino más corto para enrutar.
A partir de la URL de descarga de esta presentación vi que hay unas cuantas más que tienen buena pinta. Se pueden descargar en la página de las conferencias IT Underground Praga 2007 . Hay documentación sobre IDSs, IPSs, metasploit framework, Oracle e incluso señalización SS7.
Por otra parte, esto me recuerda que las presentaciones de BlackHat Inc. también están disponibles aquí y tienen algunas cosillas que pueden resultar interesantes.
Cookies: domain, path y seguridad
Ahora que ya lo han resuelto creo que es el momento de comentarlo por aquí. Hace más de un mes (concretamente el 17 de febrero) nos dimos cuenta por casualidad de un fallo en los servicios web de la UPV que podía suponer el acceso a la Intranet con otro usuario, con la consecuencia de poder ver su expediente académico, datos personales, webmail, préstamos en biblioteca... incluso número de cuenta si tenía domiciliado el pago de la matrícula.
Todo vino porque Bea me comentó que no podía acceder a la web del IEEE-sbUPV ya que le salía google. Entonces avisé al administrador de dicho servidor y estuvimos mirando qué pasaba. Llegamos a la conclusión de que se trataba de una cookie del PoliformaT, una aplicación de nuestra universidad, que hacía saltar las alarmas del mod_security y ejecutaba la acción por defecto: mandar al usuario a google. Y fue entonces cuando se encendió la bombilla: si esta cookie se manda aquí, es posible que se mande a todo el dominio upv.es, junto con los identificadores de sesión... y ello probablemente implique que se pueda robar dicha sesión.
Así que creé una pequeña página en PHP en mi página personal de la universidad ( por si alguien no lo sabe, se puede poner tu página en la carpeta www de tu unidad compartida W: y tener una web en http://personales.alumno.upv.es/nombre_usuario ) que simplemente mostraba las cookies, algo así:
<?php
print_r($_COOKIE);
?>
Con esto, se obtenía la variable TDp, e introduciéndola en la petición HTTP se podía acceder a la sesión de otro usuario utilizando por ejemplo paros proxy . Nosotros lo probamos con una cuenta de alumno (la de Bea, con su consentimiento) y accedimos sin problemas... desconozco si como profesor se habría podido, pero supongo que funcionaría igual.
Y bien, ¿cual era el problema? Pues básicamente dos: que se mandaba la cookie a TODO el dominio *.upv.es y no a www.upv.es y la ruta específica donde se encuentra la aplicación de la intranet, y que para identificar la sesión se usaba única y exclusivamente dicha cookie.
Soluciones? Pues no mandar la cookie a todos sitios y/o utilizar algún dato más del usuario que deba permanecer invariable durante una sesión para identificarlo, por ejemplo la dirección IP. La solución que ha tomado la UPV ha sido la segunda, y por ello no sé desde cuando está resuelto el problema ya que las cookies se siguen mandando y yo lo que he hecho durante este tiempo era mirar de vez en cuando si las cookies se mandaban o no. Ayer probé de nuevo durante una clase con un compañero (también con su consentimiento) y vimos que daba un error por haber cambiado de dirección IP.
Para la otra solución, supongo que todos los lenguajes de programación web permiten especificar fácilmente a qué dominio y ruta pertenece la cookie. Por ejemplo en PHP, la función setcookie lo permite especificar en sus parámetros y por defecto manda la cookie al dominio actual, con ruta el directorio actual.
Así pues, si programas aplicaciones web, y sobretodo si van a estar en hostings compartidos, deberías tener en cuenta esto que parece una tontería, pero puede permitir el secuestro de una sesión 😉
Ya es definitivo: Eindhoven
Ayer fue la subasta de plazas Erasmus para el curso 2007/2008 en mi facultad, y como dice el título ya tengo destino definitivo: Eindhoven. Mi idea era irme a Helsinki, donde había visto que los temarios eran interesantes y me hacía gracia la ciudad, pero no pudo ser por un chanchullo que hicieron un chico que estaba delante de mí en el orden de elección y otro detrás... así que al final me quedé Eindhoven y la verdad es que ahora, después de mirar a fondo lo que tiene la universidad me gusta bastante.
Estaré en la TUe , y si no me ponen problemas cursaré asignaturas del master sobre seguridad de la información y seguramente haré el PFC también. De las asignaturas que he mirado solo puedo hacer 5 debido al límite de créditos de los que me puedo matricular (60 ECTS) que serán seguramente las siguientes (enlazo a la información sobre ellas):
Otras opciones en la recámara son:
Y ya casi descartadas estas dos:
El motivo de que estén casi descartadas es principalmente que no me cuadran tanto los créditos que puedo hacer, y algo había que descartar. Además no están tan basadas en seguridad como las otras.
Ahora toca preparar un CV y una carta de presentación en inglés, el lunes o martes reunión con la gente de Relaciones Externas de la escuela y a preparar el Plan de Transcripción de Créditos.
Por otra parte, dejando a un lado la cuestión académica del asunto, también he leído que en Eindhoven hay muchos bares y muchas mujeres 😛 Y respecto a compañía de la escuela, la otra persona con destino Eindhoven es una chica llamada Ali a la que de momento no conozco... pero se está pensando si ir allí o no.
Instalando Gentoo con LVM2
Puesto que desde este verano tenía un disco duro SATA de 250G lleno de mierda debido al paso por la Campus Party y toda esa mierda lleva mucho tiempo almacenada en DVDs, hace tiempo que tenía pensado usar dicho HD para mi sistema y dejar el actual ( disco IDE de 80G ) para cualquier otra necesidad que surja. Así pues, hoy me he puesto a instalar Gentoo GNU/Linux en éste, y pensando qué particionamiento hacer he decidido no calentarme la cabeza, usar una partición para /boot, otra para / y otra para /home pero usando LVM2. Como no lo había hecho nunca, y pese a que hay documentación por ahí al respecto, dejo esto aquí como apunte para quien le interese y para que no se me olvide ;-).