En este pequeño artículo voy a exponer cómo se podría realizar un ataque contra los sistemas de recuperación de contraseñas de la UCM pudiendo llegar a obtener el control de la cuenta atacada.


La clave del ataque se encuentra en resetear la contraseña del objetivo, por lo que éste no podrá acceder a los servicios que utilicen dichos credenciales. Por lo tanto, cabe destacar que el acceso que se consigue no es transparente y seguramente tengamos limitado el intervalo de actuación.


¡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 UCM, más bien su finalidad es la de concienciar al alumno/universidad de lo fácilmente explotables que son estos sistemas si no se toma, por ambas partes, todas las medidas de seguridad.




Para poder resetar la contraseña del Campus Virtual lo único que se nos pide, en realidad en un primer acercamiento, es el DNI del alumno.


La primera pregunta que me hago cuando me encuentro con éste tipo de sistemas es: ¿será vulnerable a un ataque por Fuerza Bruta (de ahora en adelante FB)? En este caso sí, lo cual posibilita la realización de un ataque aleatorio.


A pesar de lo "cantoso" que es un ataque de FB, podemos utilizarlo para realizar un filtrado de los DNIs pertenecientes a alumnos de la UCM y posteriormente realizar un ataque sobre sus cuentas (o utilizar dicha información para cualquier otro propósito).


¿Y si no queremos realizar un ataque de FB? En el caso de que sea un ataque dirigido hacia un objetivo específico todo se simplifica pues podríamos saber ya desde un principio su DNI o, en caso contrario, buscarlo en Google (CV, listas públicas, etc) o bien acudiendo al registro.


Otra opción podría ser el atacar a un grupo de personas (por ejemplo una clase, etc), y entonces podríamos sacar partido, p.e si se trata de enfermería (entre otras), a las listas que publica la UCM con los turnos de las prácticas en los hospitales universitarios, las cuales contienen nombres, apellidos y DNIs completos!


Bien, ya tenemos el DNI del objetivo pero aun queda un segundo paso, el desafío.


¿Qué es el desafío? Bueno pues no es más que la típica pregunta secreta de siempre. Es un buen sistema si la implementación es correcta y los usuarios están lo suficientemente concienciados como para no facilitar el proceso.


¿Implementación? Me refiero a que el sistema no sea vulnerable a un ataque por FB, por desgracia, es el caso. ¿Concienciación? La mayoría de las veces el ataque se reducirá a un listado de palabras muy común, ¿por qué? pues porque muchos usuarios no se toman en serio éste tipo de peticiones al realizar el registro y nos encontramos que la pregunta y la respuesta es la misma o que la pregunta es del tipo ¿mi fecha de nacimiento?, ¿el nombre de mi perro?, ¿mi color favorito?, etc, teniendo respuestas muy fáciles de sacar.


Por lo tanto, si unimos una mala implementación con unos usuarios que se toman poco en serio los desafíos, nos encontraremos con cuentas extremadamente vulnerables, siendo ambos los culpables.
En sí el sistema no es un desastre, a pesar de que esté mal implementado.


Como opinión personal decir que estos sistemas encargados de manejar reseteos de credenciales tan críticos, como los del Campus Virtual de la universidad, los eliminaría y obligaría a rellenar una instancia y evitando que se pueda hacer online (como hacen en la UAH).


¿Cómo se podría hacer sin realizar modificaciones en los datos que se piden? En primer lugar sería eliminar cualquier intento de FB restringiendo el número de peticiones por IP e implementando un sistema de bloqueo preventivo de la cuenta (ya sea un bloqueo temporal o que haya que acudir a la escuela/facultad a restablecer el servicio).


En segundo lugar sería evitar las dos fases del proceso (DNI y desafío) uniéndolas en uno mismo y en caso de error devolviendo un mensaje del tipo “DNI/Desafío incorrecto” evitando dar información de qué dato es el incorrecto. Por desgracia en este caso no se puede pues el desafío no es una pregunta establecida, sino personalizada por usuario, por lo que se obtiene tras validar el DNI.




Éste ataque solo se puede llevar a cabo sobre una cuenta que no haya sido activada, por lo que los objetivos han de ser alumnos de nuevo ingreso, lo cual es perfecto para éstas fechas.


¿Cómo podemos obtener el DNI de un alumno de nuevo ingreso? El formulario de consulta de las notas de las pruebas de acceso es vulnerable a FB por lo que podemos realizar utilizar dicho servicio para realizar el filtrado. Para activar la cuenta se nos pide el DNI del alumno y el código de activación. Para obtener el DNI bastaría con utilizar cualquiera de los métodos anteriormente comentados. Con respecto al código de activación, si atendemos a la ayuda del sistema de recuperación de contraseña veremos que éste sigue una estructura fija dependiente de la diplomatura/licenciatura que eligió el alumno en primera opción y el código postal del mismo. La estructura en sí es la siguiente:


XXX‐XXXXX (CESTUDIO‐CPOSTAL).


Podemos utilizar las redes sociales para obtener ambos datos y reducir mucho el ataque de FB (pues nuevamente es vulnerable a este ataque).


Para la diplomatura podríamos tener suerte y que la haya añadido ya a su perfil de, por ejemplo, Tuenti. En tal caso, bastaría con utilizar los filtros del buscador para averiguarla (a pesar de tener el perfil privado hay demasiada información pública). Si no tenemos suerte deberíamos de añadir esta parte al ataque de FB (serían 103 combinaciones).


Para el código postal bastaría con delimitar su ciudad (al igual que anteriormente, es información accesible por cualquier miembro de la red social), localizar el identificador postal de la misma (se podría utilizar la página de Correos) y añadir al ataque 103 combinaciones de la terminación.


De ésta forma podemos ver que el código de activación podría quedar con una estructura similar a:


‐ Solo hemos obtenido la ciudad: XXX‐28XXX
‐ Hemos tenido suerte con la diplomatura/licenciatura: 050‐28XXX


Como hemos podido ver, el eslabón más débil es el código de activación siendo recomendable que éste no siguiera un patrón, sino que fuera aleatorio y se le entregara al futuro alumno (por ejemplo en la carta de admisión) o que éste tuviera que ir a recogerlo a la secretaría de su centro.


¡Hasta aquí todo! Ya para terminar...


A lo largo del artículo se ha explicado cómo podrían ser atacados los credenciales de la UCM. En muchos casos se ha explicado como atacar a un objetivo aleatorio para demostrar que las cuentas son vulnerables sin tener que conocer al alumno en cuestión. A pesar de esto, el tener un objetivo simplifica mucho el proceso, llegando a ser preocupante el tiempo que se tarda en conseguir acceso a su cuenta.


Como he dicho antes de empezar, no me hago responsable del uso que se haga de ésta 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 @ldelgadoj )