SET 39 Call For Papers

¿Eres un hacker? Si deseas pasar a formar parte de la historia del hacking hispano, colabora con la próxima edición de SET 39 enviándonos un artículo. No esperes más, esta es tu oportunidad de demostrar lo que sabes. Ayúdanos a construir una revista de hackers para hackers. SET Staff

El bug del mes

      2109

Autor: El Duke de Sicilia
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
o 16. EL BUG DEL MES                                                        o
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII


Este apartado casi se nos olvida este numero, y es que como nadie manda
material para este apartado, pues siempre tenemos que hacerlo a ultima
hora y con prisas. Bueno, pues por falta de tiempo en este bug del mes
nos vamos a tener que limitar a describir el bug, y poco mas. A si
que a los que esperaban un jugoso exploit todo bien explicadito, me
parece que se van a desilusionar, y esperar hasta el proximo numero.

Y si la proxima vez quereis algo mas jugoso, pues moved el culo
y mandarnos vuestros exploits. Pero eso si, hemos echo caso a la
gente que nos pedia bugs recientes y os hemos traido uno de hace
pocos meses. (Gracias a Eljaker y a Valfadir por mandarnos informacion
sobre el)


Sistemas: IRIX 
Versiones: 5.2 - 6.3 
Descripcion: Bug del sistema de logs

Los IRIX tiene un avanzado sistema de logs y de seguridad en los
logins, uno de estos servicios de seguridad viene representado por
la variable LOCKOUT que hace que una cuenta con un numero determinado de
intentos de acceso incorrectos se bloquee. Este sistema no es nada
nuevo y es un sistema bastante efectivo. Pero en el caso de los IRIX
los desarrolladores han metido la gamba hasta el fondo :-)

Los datos relacionados con la variable LOCKOUT se almacenan en el directorio
/var/adm/badlogin, a cada cuenta con intentos fallidos le corresponde
un fichero de 1 byte que es el numero de intentos fallidos. (por ejemplo
si la cuenta es 'guest' pues apareceria un fichero llamado guest de
un byte de longitud)

Pero el problema esta ahi, porque el sistema crea un fichero con el 
nombre de la cuenta a la que se ha intentado acceder, o sea lo
que se ha tecleado en el prompt 'login:' šEntonces si tecleamos
el nombre de una ruta, que pasara?

Pues efectivemnete ahi esta el agujerazo, si tecleamos algo como esto:

        login: ../../../etc/estamos_dentro
        Password:
        UX:login: ERROR: Login incorrect

Habras creado un fichero de un byte llamado /etc/estamos_dentro
(Y cada vez que intentemos este mismo 'login:' el primer byte del
archivo especificado se incremetara en 1)
 
Ademas de pegarle un susto de muerte al administrador creando ficheros
por todos sus directorios con nombres raros, este bug tiene multiples
utilidades.

Con el truco NO se pueden sobreescribir ficheros (cagen) pero si
que podemos incrementar el primer byte. Esto puede tener multiples
utilidades y puede ser usado para crear varios exploits, a mi se me
han ocurrido un par de usos, pero ninguno suficientemente bueno.

Si a alguien se le ocurre algun sistema de explotar este defecto,
que nos lo diga.

                                                El Duke de Sicilia