Prueba De Penetración: Cinco Vulnerabilidades En El Software de Gestión

diciembre 4, 2024
G DATA Blog

 

Prueba De Penetración: Cinco Vulnerabilidades En El Software de Gestión

Una empresa de software con sede en Kiel tuvo que tapar un total de cinco vulnerabilidades de seguridad después de las pruebas realizadas por G DATA Advanced Analytics, una de ellas crítica. El software se utiliza en un total de doce estados federados, incluidas empresas municipales, municipios y administraciones municipales.


A principios de año, un cliente encargó a nuestros colegas de G DATA Advanced Analytics que realizaran una prueba de penetración de una aplicación web que utilizaban llamada «TOPqw Webportal» del fabricante de software baltic IT, con sede en Kiel.

Lleno

Se notó que era posible visualizar el contenido completo de las bases de datos de una manera trivial. Para ello, un atacante solo habría tenido que cambiar algunos datos en la transmisión. Esto fue posible gracias a la llamada «inyección SQL». Allí, un atacante ingresa efectivamente a los comandos de la base de datos que son ejecutados por el servidor de base de datos detrás de él sin cuestionar. Con una herramienta de libre acceso, todos los datos, así como la estructura de la base de datos, se pueden leer sin más preámbulos. Entre otras cosas, los nombres, las direcciones de correo electrónico y también las contraseñas (hash) eran legibles en la base de datos. No se requería contraseña para acceder a él. «Podría haber esperado eso en una competencia de CTF para principiantes, pero no aquí», dice el analista Maximilian Hildebrand. «Se puede decir que fue un error de principiante».

Después de todo, la vulnerabilidad (CVE-2024-45876) no permitía la ejecución de código en el servidor de la base de datos. Pero el acceso por sí solo ya era lo suficientemente malo, especialmente en el contexto de que la información personal sobre los beneficiarios de las prestaciones sociales se almacenaba en la base de datos.

Creación de nuevos usuarios

Una función que crea nuevos usuarios en la base de datos también era vulnerable a través de una inyección SQL. (CVE-2024-45875) Originalmente, la función solo estaba destinada a ser utilizada por un administrador que configura una nueva cuenta de usuario a través de la aplicación web. En segundo plano, el programa envía un comando a la base de datos en la que se crea la cuenta. Sin embargo, dado que un atacante hipotético tiene la capacidad de usar esta vulnerabilidad para acceder directamente a la base de datos e inyectar su propio código SQL, puede «salir» de esta función. Esto, a su vez, le permite el acceso completo a todo el contenido de la base de datos.

En combinación con la siguiente vulnerabilidad, esto es posible incluso con la ayuda de cualquier cuenta de usuario y, por lo tanto, ya no requiere permisos administrativos para explotarla.

Acceso a los componentes de administración

Los usuarios que no tienen los permisos adecuados pueden acceder a los componentes administrativos de la aplicación web simplemente ajustando la dirección en el navegador en consecuencia. Por lo tanto, el control de acceso no se implementa correctamente aquí (CVE-2024-45877). Esto permite a cada usuario registrado ver otras cuentas de usuario, así como eliminar las cuentas existentes o crear otras nuevas. Esto permitiría, por ejemplo, bloquear a todos los usuarios en caso de ataque. También es posible la manipulación de datos. El módulo de cálculo de la aplicación también se puede utilizar para inyectar archivos maliciosos.

Inserción de código Javascript extranjero a través de XSS

Incluso hay dos vulnerabilidades de seguridad aquí (CVE-2024-45878 y CVE-2024-45879). Ambos permitían a un atacante inyectar su propio código Javascript en la aplicación web. Dado que la plataforma no valida los nombres de archivo en un lugar y permite Javascript como protocolo en otro, es posible ejecutar scripts maliciosos en el contexto de la aplicación web.

Resultado

Algunas de las vulnerabilidades eran más que triviales de encontrar y explotar. Precisamente porque TOPqw gestiona datos altamente sensibles, los colegas no habrían esperado encontrar allí una vulnerabilidad de seguridad de este tipo. Parece incomprensible que esto no se haya notado antes. Afortunadamente, estas vulnerabilidades se descubrieron durante las pruebas de penetración, y no solo a través de la explotación maliciosa por parte de los delincuentes, al menos hasta donde sabemos. «Los fabricantes deberían considerar realmente poner a prueba sus productos en una prueba de penetración, especialmente cuando se trata de aplicaciones web que son accesibles externamente para los atacantes. Esto te ahorra muchos problemas a largo plazo», aconseja el analista Majid Lakhnati.

Sin embargo, los dos elogian la reacción y la cooperación de Baltic IT. Por ejemplo, la vulnerabilidad crítica en TOPqw mencionada al principio se cerró después de solo dos días. Las otras vulnerabilidades también se han corregido gradualmente.

El proceso de publicación siguió las reglas de Divulgación Responsable. A partir del 25 de julio de 2024, las cinco vulnerabilidades reportadas se han cerrado y las actualizaciones correspondientes se han implementado en todos los entornos de producción de los clientes de TOPqw.
Todos los detalles técnicos sobre las vulnerabilidades encontradas, así como la línea de tiempo completa, se pueden encontrar en la publicación de blog detallada de G DATA Advanced Analytics en cyber.wtf.

Enlace: https://www.gdata.de/blog/2024/11/38077-topqw-schwachstellen-cve-penetrationstest  Blog de G DATA Tim Berghoff