PC

20240724032414.png

PC es una máquina Linux de dificultad fácil que cuenta con un punto final gRPC que es vulnerable a la inyección SQL. Después de enumerar y volcar el contenido de la base de datos, las credenciales de texto sin formato conducen al acceso SSH a la máquina. Al enumerar los puertos que se ejecutan localmente, se revela una versión obsoleta del servicio pyLoad, que es susceptible a la ejecución remota de código (RCE) previa a la autenticación a través de CVE-2023-0297. Como el servicio lo ejecuta root, explotar esta vulnerabilidad conduce a privilegios completamente elevados.

Enumeración

Indicamos con la enumeración de los puertos abiertos de la maquina victima.

Luego de obtener los puertos abiertos podemos enumerar cada uno de los servicios y versiones que se ejecutan en los puertos abiertos

gRPC

Enumerando el puerto 50051 encontraremos que se ejecuta el servicio gRPC, podemos encontrar de como explotarlo en los siguientes post:

Podemos hacer uso de la herramienta de grpcurl para enumerar

20240724045025.png
20240724045045.png

Luego de enumerar con grpcurl, usaremos otra herramienta que nos permitirá ver gráficamente el servicio.

20240724035943.png

Logramos conectarnos de manera exitosa

20240724035852.png

Vemos 3 métodos, login, registrarnos y para obtener información.

Login

20240724045214.png

Register

20240724045252.png

Login

20240724045319.png

Get info

20240724045420.png
20240724045437.png

shell - sau

SQL injection

Enumerando un poco podemos encontrar que se tiene una vulnerabilidad de sqlinjection.

20240724045459.png
20240724045515.png

Hacemos uso de burpsuite para tener mas control de la data que se solicita

20240724045555.png

Copiaremos toda la data que intercepto burp para copiarla a un archivo y con ayuda de sqlmap podemos enumerar la base de datos.

sqlmap

Podemos revisar el siguiente post para saber de como hacer sql injection con data en formato json.

Enumerando las base de datos que existe observamos que al parecer no las puede enumerar.

20240724045701.png

Entonces precedemos a enumerar las tablas de las base de datos, que si podemos enumerarlas.

20240724045727.png

Observamos que tenemos dos tablas y de las cuales también enumeraremos el contenido.

20240724045756.png

Podemos obtener unas credenciales que son:

Estas credenciales son validas con el servicio ssh

20240724045837.png

shell- root

Enumerando un poco las conexiones observaremos que el puerto 8000 esta abierto de manera interna

20240724054735.png

Para ver el contenido de dicho puerto debemos de hacer port forwarning, esto lo podemos hacer con el mismo ssh con el mismo comando.

pyLoad

Observamos que se tiene un servicio de pyLoad.

20240724054709.png

Buscando un poco en internet podremos encontrar con una vulnerabilidad que permite RCE en el servicio.

Ejecutamos el exploit:

Antes debemos de ponernos a la escucha y debemos de obtener una shell como el usuario root

20240724055415.png

Last updated