CVE-2021-46075
Título del Exploit: Sistema de Gestión de Servicios de Vehículos - 'Múltiples' escaladas de privilegios conducen a operaciones CRUD
Autor del Exploit: SANU P.L
CVE: CVE-2021-46075
CVSS: 7.2 ALTA
Referencias:
Descripción:
Existe una vulnerabilidad de escalada de privilegios en Sourcecodester Vehicle Service Management System 1.0. Los usuarios con cuenta de personal pueden acceder a los recursos de administrador y realizar operaciones CRUD.
1. Sistema de Gestión de Servicios de Vehículos - 'Lista de Usuarios' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de personal en el Navegador B (Firefox)
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Usuarios y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nuevo Usuario http://localhost/vehicle_service/admin/?page=user/manage_user
- En la cuenta de personal (Firefox) no hay sección Lista de Usuarios porque la cuenta de personal no tenía derechos para crear un usuario.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página Crear Usuario.
- Introduzca los datos requeridos y haga clic en el botón Guardar.
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Usuarios http://localhost/vehicle_service/admin/?page=user/list
- El nuevo usuario se ha creado correctamente.
- La cuenta de personal puede acceder a la página de Lista de Usuarios y a la página Crear Usuario.
- La cuenta de personal puede crear, leer, actualizar y eliminar usuarios.
2. Sistema de Gestión de Servicios de Vehículos - 'Lista de Categorías' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de personal en el Navegador B (Firefox)
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Categorías y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nueva Categoría http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- En la cuenta de personal (Firefox) no hay sección Lista de Categorías porque la cuenta de personal no tenía derechos para crear una categoría.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página Crear Categoría.
- Introduzca los datos requeridos y haga clic en el botón Guardar.
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Categorías http://localhost/vehicle_service/admin/?page=maintenance/category
- La nueva categoría se ha creado correctamente.
- La cuenta de personal puede acceder a la página de Lista de Categorías y a la página Crear Categoría.
- La cuenta de personal puede crear, leer, actualizar y eliminar categorías.
3. Sistema de Gestión de Servicios de Vehículos - 'Lista de Servicios' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de personal en el Navegador B (Firefox)
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Servicios y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nuevo Servicio http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- En la cuenta de personal (Firefox) no hay sección Lista de Servicios porque la cuenta de personal no tenía derechos para crear un servicio.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página Crear Servicio.
- Introduzca los datos requeridos y haga clic en el botón Guardar.
- En la cuenta de administrador (Chrome), navegue a la sección Lista de Servicios http://localhost/vehicle_service/admin/?page=maintenance/services
- El nuevo servicio se ha creado correctamente.
- La cuenta de personal puede acceder a la página de Lista de Servicios y a la página Crear Servicio.
- La cuenta de personal puede crear, leer, actualizar y eliminar servicios.
4. Sistema de Gestión de Servicios de Vehículos - 'Configuración' (/admin/?page=system_info)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de personal en el Navegador B (Firefox)
- En la cuenta de administrador (Chrome), navegue a la sección Configuración.
- Copie el enlace de la sección Configuración http://localhost/vehicle_service/admin/?page=system_info
- En la cuenta de personal (Firefox) no hay sección Configuración porque la cuenta de personal no tenía derechos para acceder a la Configuración.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página Configuración.
- Introduzca los datos requeridos y haga clic en el botón Guardar.
- En la cuenta de administrador (Chrome), navegue a la sección Configuración http://localhost/vehicle_service/admin/?page=system_info
- Los datos se han actualizado correctamente.
- La cuenta de personal puede acceder a la página Configuración.
- La cuenta de personal puede actualizar la Configuración.
Impacto:
Un atacante remoto obtiene acceso elevado a recursos que normalmente no deberían estar disponibles. En la cuenta de personal, los usuarios pueden acceder a los recursos de administrador y realizar operaciones CRUD.
Mitigación:
Se recomienda implementar lo siguiente:
- Gestión adecuada de cuentas privilegiadas
- Monitorear y gestionar todas las sesiones privilegiadas
- Políticas de contraseñas sólidas y su aplicación
- Desinfectar las entradas de usuario y asegurar las bases de datos