En este artículo voy a exponer cómo se podría realizar un ataque contra los sistemas de recuperación de contraseñas de la UPM pudiendo modificar la contraseña del alumno y obteniendo acceso a todos los servicios que hagan uso de los mismos.

Antes de empezar quiero hacer referencia a otro artículo que trata del mismo tema, siendo éste Análisis de la gestión de contraseñas de la UCM. Con respecto al mismo, decir que si intentamos acceder a los servicios “comprometidos” veremos que están cerrados, lo cual es una medida muy recomendable mientras se está tratando de solucionar.


Este artículo es un resumen, por lo que si queréis leer la versión completa tendréis que acudir al siguiente PDF. Además, aprovecho para adjuntar el enlace a una carpeta pública que he creado en Google Docs donde iré colgando todos los artículos en formato PDF. La carpeta en cuestión es Seguridad.

¡Comencemos!


Disclaimer:

No me hago responsable del mal uso que pueda darse a esta información. En ningún momento la intención del artículo es el incitar a que se produzcan ataques sobre las cuentas de los alumnos de la UPM, más bien su finalidad es la de concienciar al alumno/universidad de lo fácilmente explotables que son estos sistemas si no se toman todas las medidas de seguridad por ambas partes.


1. Introducción

El sistema que vamos a atacar es el de recuperación de contraseñas. A través de este sistema, podremos resetear la contraseña del alumno objetivo y acceder a todos los servicios que utilicen dichos credenciales (correo, campus virtual, etc).

Como ya comenté en el artículo sobre el sistema de la UCM, el ataque no es transparente al usuario por lo que nuestro intervalo de acción sobre la cuenta está limitado.

Con respecto a los credenciales, mediante este ataque podremos modificar la contraseña del alumno pero, ¿sabemos su nombre de usuario? En nuestro caso éste es la dirección de correo. Si no la sabemos, podemos aprovecharnos de un servicio-soplón el cual nos facilita la dirección de correo asociada a un alumno (a través de su DNI).

En este artículo voy a dar por sentado que ya hemos obtenido el DNI del alumno objetivo. En el caso de que no se tuviera, podéis acudir al artículo de la UCM en el que se explica brevemente algunas ideas de cómo podemos obtenerlo.


2. El sistema.

El sistema de recuperación de contraseñas de la UPM consta de una única etapa en la que hay que introducir el DNI del alumno y el código PIN (es el de la tarjeta universitaria, utilizado para la función monedero, consulta de expedientes, etc).

El sistema en sí no tiene ningún tipo de protección, por lo que podemos realizar el número de intentos que sean necesarios y, en un primer momento, no estaba monitorizado por lo que era muy difícil levantar sospechas. Además, en el artículo completo se explica cómo podemos reducir el ataque a un solo intento (olvidándonos de la fuerza bruta, de ahora en adelante FB, y de los posibles bloqueos que puedan implementar) o realizar el ataque sobre otro servicio vulnerable no monitorizado.

Sigo sin entender como, en servicios tan fácilmente explotables como éste, no se implantan medidas de seguridad. ¿Tanto cuesta introducir un CAPTCHA y/o un sistema de bloqueo preventivo?


3. Obteniendo el PIN.

En primer lugar, decir que el código PIN consta de cuatro caracteres numéricos. Con respecto a su generación para adjuntarlo en la petición, en principio no es necesario que contenga los cuatro dígitos, por lo que es igual de correcto introducir 10 que 0010.

Para obtener el PIN no tenemos más que hacer un ataque FB sobre el formulario de Olvido de contraseña. El ataque consistiría en hacer peticiones con el DNI y un PIN de la siguiente forma:
https://www.upm.es/gsr/correo_alumnos/olvido.upm?op=olvido
accion=validar&dni=DNI&contrasena=PIN


En el caso de que el PIN fuera incorrecto, nos devolverá un mensaje de error y en el caso de que acertemos, obtendremos el formulario para modificar la contraseña. Por lo tanto bastará con estar monitorizando la respuesta del servidor y, en el momento en el que no nos devuelva el error, podremos realizar la petición de cambio de contraseña. Esta petición ha de ser de la siguiente forma:
https://www.upm.es/gsr/correo_alumnos/olvido.upm?op=olvido
accion=final&contrasena=PASSWD&contrasena2=PASSWD
(ha de adjuntarse la cookie PHPSESSID validada)

Una vez modificada la contraseña habrá que esperar un par de minutos para que podamos acceder a todos los servicios sin problemas (véase el correo, el campus virtual, etc).
Como se ha dicho en la introducción, podríamos reducir el ataque a un solo intento. Podéis encontrar su explicación en el artículo completo.

4. El servicio soplón

El servicio-soplón no es ni más ni menos que el servicio a través del cual nos podemos crear una cuenta de correo de la UPM (del tipo @alumnos.upm.es).

Para crearnos una cuenta bastaría con realizar una petición a dicho servicio enviando el DNI del alumno y su PIN (claramente sólo es posible si el DNI corresponde a un alumno matriculado):

https://www.upm.es/gsr/correo_alumnos/solicitud.upm
accion=validar&dni=DNI&contrasena=PIN

¿Qué ocurre si el alumno ya tiene una cuenta asociada? Pues que el sistema nos devuelve una alerta mostrándonos su cuenta de correo y la fecha de creación.

Por lo tanto, en el caso de que tras obtener el PIN y modificar la contraseña, no supiéramos el usuario, bastaría con acudir a éste servicio para obtener el dato que nos faltaba.
¡Hasta aquí todo! Ya para terminar...

Aprovecho, ya que tienen relación entre sí, para enlazar el breve artículo PasswordFail de la UPM, en el que se demuestra que se guardan las contraseñas de los alumnos en texto plano, con el peligro que ello conlleva.

Como he dicho antes de empezar, no me hago responsable del uso que se haga de esta información.

La intención del artículo es concienciar a los usuarios y obligar a las universidades a prestar verdadera atención a todos los servicios que ofrecen y que éstos han de estar bien implementados pues los datos que manejan no son ninguna tontería.

Artículo cortesía de: Luis Delgado J.

Publicado por Contribuciones en http://www.securitybydefault.com/2010/09/analisis-de-la-gestion-de-contrasenas.html