lunes, 3 de enero de 2022

Atacando ERP Odoo II

Odoo tiene un servicio de XML-RPC, esto en palabras simples, es llamada a procedimientos de manera remota, leer, escribir, actualizar y eliminar, sobre registros, adicional a esto, se pueden llamar procedimientos o funciones definidas, siempre y cuando se tenga acceso al recurso remoto.

La documentación oficial te brinda información y ejemplos de como establecer la conexión mediante este protocolo. Primero obtendremos la versión del sistema ERP, para ello haremos un pequeño programa en Python, como muestra la siguiente imagen.



Imagen 1: Obteniendo la versión del sistema ERP por medio de xmlrpc

Seguidamente debemos autenticarnos en el sistema ERP, para ello utilizaremos las credenciales con las cuales nos registramos anteriormente. Para realizar la autenticación es importante obtener el nombre de la base de datos. Para ello podemos lograrlo accediendo a la ip o dominio y concatenar /web/database/manager , como se muestra a continuación.


Imagen 2: Obtener nombre de la base de datos.

También es posible obtener el listado de bases de datos por medio de xmlrpc, como se muestra en la siguiente imagen.


Imagen 3: Listar base de datos por xmlrpc.

Ambos métodos son útiles, sin embargo, en cierto casos, ninguno de los 2 métodos anteriores pueden funcionar, ya que el  administrador puede bloquear estos, de tal forma que al acceder a url antes mencionada, no muestra absolutamente nada o bien te redirija al home, esto sucede lo mismo con xmlrpc, limita el acceso a dicho recurso.

Si este fuera el caso, aun tenemos otro método para obtener el nombre de la base de datos, en este caso, sera restableciendo la contraseña del usuario de portal que registramos con anterioridad. Para realizar eso nos dirigimos al login de Odoo.


Imagen 4: Restablecer contraseña Odoo.

Seguidamente ingresamos el correo y presionamos restablecer. Esto nos enviara un correo, con una url para restablecer la contraseña, en dicha url, estará incluido el nombre de la base datos, donde estamos registrados.

Imagen 5: Restableciendo contraseña Odoo.


Imagen 6 : Correo restablecer contraseña.

Al presionar el boton change password, nos redirige a abre un enlace con una url similar a esta, http://www.dominio.net/web/reset_password?token=6S0RSXG0kQEDZliBY9G1&db=NOMBREBASEDEDATOS , con esto obtendremos el nombre de la base de datos, el cual será NOMBREBASEDEDATOS.

Con toda la información anterior, procedemos a autenticarnos en el sistema, para ello usamos el método remoto autentícate,  como se muestra en la siguiente imagen. Si todo esta correcto , recibiremos un true por respuesta.


Imagen 7: Autenticación correcta por medio de XMLRPC a Odoo.

Si ingresamos un correo o contraseña incorrecta recibiremos un false por respuesta, como se muestra en la siguiente imagen.

Imagen 8: Autenticación incorrecta a Odoo por medio de XMLRPC.


Una vez llegados acá, toca empezar a validar a que tenemos acceso en el sistema y a que no tenemos acceso, además de recopilar información, con el fin de preparar un vector de ataque, que nos otorgue mas accesos a los que ya tenemos, con el fin de escalar privilegios. Lo cual estaremos abordando en la siguiente entrada.

Saludos.
Lexer Pars.

Atacando ERP Odoo I

Atacando ERP Odoo II

Atacando ERP Odoo III

Atacando ERP Odoo IV

Atacando ERP Odoo - Conclusión 

No hay comentarios:

Publicar un comentario