Published on

SUV2 | Universidad Nacional de Trujillo

Authors

Disclaimer

Este artículo se proporciona únicamente con fines educativos e informativos. El objetivo es promover la conciencia y el entendimiento de los problemas de seguridad potenciales en el sistema SUV de la Universidad Nacional de Trujillo y promover la adopción de medidas de seguridad adecuadas. No se anima ni se respalda el uso de esta información para actividades malintencionadas o ilegales. El autor de este artículo no asume ninguna responsabilidad por el uso inapropiado de la información proporcionada, ni por cualquier daño que pueda surgir del mismo.

Generalidades

El actual sistema con el que cuenta la Universidad Nacional de Trujillo UNT para la gestión de sus estudiantes es el SUV Curricula >= 2018, el cual es un sistema web desarrollado en PHP 5.6.31 y Postgree con DBMS.

El sistema permite a los estudiantes realizar diversas operaciones como consultar sus notas, matricularse, etc. Sin embargo, el sistema no cuenta con un sistema de autenticación fiable y seguro acorde al contexto actual [Realmente lo amerita], por lo que cualquier persona no autorizada puede acceder a la información de cualquier estudiante incluso datos personales.

SOPORTE

El soporte para PHP 5.6.31 ha finalizado el 31 de Diciembre de 2018.

Vulnerabilidades

SQL Injection

SQL Injection es una vulnerabilidad de seguridad que permite a un atacante inyectar código SQL en una aplicación web. El atacante puede utilizar esta vulnerabilidad para obtener información sensible de la base de datos, modificar datos o incluso ejecutar comandos del sistema operativo.

En el caso del SUV2, ejecutando un solo comando de python sqlmap podemos indexar todas las DB's y sus tablas.

Como ejemplo de ello, debajo se muestra la base de datos de matriculas.

Database: matriculas
[28 tables]
+----------------------------------------------+
| alumno                                       |
| aula_virtual                                 |
| backup_notas                                 |
| convalidacion                                |
| crono_matricula                              |
| curricula                                    |
| curricula_creditos                           |
| curricula_curso                              |
| curso                                        |
| equivalencia                                 |
| exoneracion                                  |
| matricula                                    |
| matricula_detalle                            |
| matricula_detalle_temp                       |
| orden_pago                                   |
| orden_pago_detalle                           |
| pesos                                        |
| pesos_alumno                                 |
| pesos_fecha                                  |
| prerequisitos                                |
| prerequisitos_creditos                       |
| registro_matricula_interna                   |
| registro_matricula_resolucion                |
| resolucion                                   |
| sanciones                                    |
| servicio_pagos                               |
| tipo_resolucion                              |
| voucher                                      |
+----------------------------------------------+

Cross Site Request Forgery

Encontramos una vulnerabilidad de tipo CSRF (Cross Site Request Forgery) en el sistema. Esta vulnerabilidad permite a un atacante ejecutar acciones en nombre de un usuario autenticado en un sitio web A hacia el Sitio B.

En el caso del SUV2, se puede acceder a informacion privilegiada de los alumnos, con solo portar las credenciales de 1 solo estudiante. Ademas de poderse realizar operaciones como carga de horarios, editar grupos, etc.

Este se debe al uso de un token de seguridad que no es verificado en el servidor, por lo que cualquier persona puede realizar operaciones en nombre de un usuario autenticado.

crsf

COOKIES

Ambos sitios tienen el PHPSESSID igual, por lo que se puede acceder a la sesion de un usuario autenticado en el sitio A desde el sitio B.

Exposición de datos sensibles

Imágenes de Perfiles de Estudiantes (Carnet Universitario)

Una posibilidad que presentan las vulnerabilidades existentes en el sistema es la capacidad de extraer las imágenes de perfil de los estudiantes que están contenidas en el carnet universitario. Es importante destacar que esta acción puede llevar a un uso indebido de la identidad de los estudiantes, lo que subraya la urgencia de mejorar las medidas de seguridad del sistema.

carnet

Ley de Protección de Datos Personales Según la Ley de Protección de Datos Personales N° 29733,

  • Artículo 9. Principio de seguridad: Estipula que el titular del banco de datos personales y el encargado de su tratamiento deben adoptar las medidas técnicas, organizativas y legales necesarias para garantizar la seguridad de los datos personales.

Recomendaciones

Para los encargados del sistema SUV, es imprescindible considerar las siguientes recomendaciones para mitigar las vulnerabilidades presentes y proteger la privacidad y la seguridad de la información de los estudiantes:

  1. 🔄 Actualizar el sistema y las tecnologías utilizadas: El sistema está actualmente basado en PHP 5.6.31, para el cual el soporte finalizó en diciembre de 2018. Es esencial actualizar a una versión más reciente y segura de PHP o considerar la posibilidad de utilizar otro lenguaje de programación o framework que ofrezca mayores garantías de seguridad.

  2. 🔐 Mejorar la autenticación: Es necesario implementar un sistema de autenticación más robusto y seguro, que impida el acceso no autorizado a la información de los estudiantes.

  3. 🛡️ Protección contra ataques de inyección SQL: Se debe implementar medidas de seguridad para prevenir ataques de inyección SQL, como la utilización de consultas parametrizadas o el uso de ORM (Object-Relational Mapping).

  4. 🔎 Protección contra ataques CSRF: Implementar medidas para prevenir ataques CSRF, como la verificación de tokens de seguridad en el servidor.

  5. 🔒 Encriptar la información sensible: Es importante encriptar la información sensible, como las imágenes de perfil de los estudiantes, para evitar su extracción y uso indebido.

Estas medidas pueden contribuir significativamente a mejorar la seguridad del sistema y proteger la información de los estudiantes.