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!
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 😉
Curso de administración y seguridad de servidores GNU/Linux
Puesto que lo antes posible se van a poner los carteles en la ETSIT y el anuncio en la página web de IEEE-UPVsb (y como no me apetece ahora mismo estudiar ni Antenas ni LabTDS ni nada) lo anuncio ya por aquà a ver si engañamos a alguno más y se apunta 😀 . En febrero y marzo vamos a dar (Jaime, Javi y yo) un curso de administración de servidores linux y seguridad a nivel básico en la UPV.
Los requisitos son tener conocimientos de usuario con un nivel medio o alto de GNU/Linux, lo que implica conocer y manejar con soltura los comandos básicos, y tener ciertos conocimientos (básicos) de redes. El curso es de 25 horas, con lo que no se puede profundizar en exceso en muchas cosas, pero esperamos dar unas bases y una buena documentación de forma que la gente sea capaz de profundizar por sà misma después.
El temario del curso con la duración estimada de cada parte es el siguiente:
1 Introduccion (1/2 hora)
2 Asegurando de manera basica (1/2 hora)
3 Buenos habitos y consejos (1 hora)
4 Sistemas de archivos/particiones seguros (1/2 hora)
5 Las 10 razones mas usuales de inseguridad en servidores (1/2 hora)
6 Asegurando y monitorizando Servicios (3 horas)
6.1 Apache
6.2 Mysql
6.3 SSH
6.4 Correo
6.5 Bind
6.7 FTP
7 Monitorizacion (1 hora)
7.1 mrtg
7.2 cacti
7.3 mon
7.4 nagios
8 Copias de seguridad (1 hora)
9 Listado de ataques (1 hora)
10 Raid's software vs hardware (1 hora)
11 Logging (1 hora)
12 El cortafuegos de Linux: Iptables (2 horas)
13 OS fingerprinting (1/2 hora)
14 Ataques tipicos locales (1 hora)
15 Restricciones a usuarios (1 hora)
16. Ataques de red (2 horas)
16.0 Ataques de denegacion de servicio
16.1 ip spoofing
16.2 Ataques de fragmentos
16.3 Secuestro de sesion
16.4 ARP spoofing
16.5 DNS Spoofing y DNS cache poisoning
17 Intrusion Detection System (IDS) (2 horas)
17.1 NIDS (basico) : snort
17.2 HIDS: Tripwire
18 El kernel en servidores (1 hora)
19 Rootkits (1 hora)
20 Monitorizacion red :Ehtereal, htop, nload, ntop, netstat,nmap (1 hora)
21 Seguridad fisica basica (1/2 hora)
22 comandos utiles y Otros programas utiles (1/2 hora)
23 Herramientas online para deteccion de vulnerabilidades (1/2 hora)
24 Auditoria/analisis forense basica (1/2 hora)
25 Programas (1/2 hora)
26 Listado de scripts utilizados por sysadmins (0 horas)
27 Listas de correo utiles (0 horas)
Total horas: 25
Espero que a la gente que se apunte le resulte de interés y aprendan todo lo posible 🙂 A ver si no defraudamos a nadie 😉
Más información en unas horas en la web oficial: http://www.upv.es/ieee
Empieza el ngGame #3
Hoy (ahora mismo) empieza el ngGame #3 de la empresa ngSec.
Para quien no los conozca, ngSec es una empresa de seguridad informática española (Madrid) que ofrece en su página web una serie de juegos sobre seguridad informática y un certificado gratuito. Los juegos #1 y #2 están bastante entretenidos y además ofrecen una serie de enlaces en cada nivel a información relacionada con la prueba. De esta forma es posible aprender a la vez que vas haciendo los niveles y calentandote la cabeza 🙂
Yo hice hace unos meses los juegos 1 y 2 enteros, aunque el 1 lo habÃa empezado hace bastante tiempo pero lo dejé apartado durante mucho tiempo. Para ser sinceros, en uno de los dos juegos no acabé todos los niveles, porque en realidad copié la solución de la última prueba de una página web... :$
Ahora mismo no tengo tiempo para ponerme a jugar con estas cosas (bueno, ahora mismo estoy de fiesta que es Nochevieja y esto es una entrada programada :-P) pero cuando pasen los exámenes a ver si tengo tiempo y le echo un vistazo.
Que lo disfrutéis 😉