miguel@home:~$

NodeClimb - DockerLabs

OS Dificultad Creator
Linux Fácil El Pingüino de Mario

Reconocimiento

Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG ports 
  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es rápido y discreto.
  • --min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resolución DNS.
  • -Pn: No realiza ping previo para determinar si el host está activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

image

Durante el escaneo, descubrimos que los siguientes puertos están activos:

  • 22 (SSH)
  • 21 (HTTP) A continuación, evaluamos si los puertos abiertos presentan alguna vulnerabilidad, además de obtener más información sobre los servicios asociados a esos puertos.
nmap -p21,22 -sCV 172.17.0.2 -oG targeted

image

FTP

Observamos que el usuario Anonymous está habilitado y encontramos un archivo llamado secretitopicaron.zip. Procedemos a acceder y descargarlo:

get secretitopicaron.zip

image

Intentamos descomprimir el archivo, pero nos pide una contraseña que no tenemos:

unzip secretitopicaron.zip

image

Fuerza bruta

Para extraer la contraseña, utilizamos zip2john para obtener el hash del archivo zip:

zip2john secretitopicaron.zip > hash.hash

Luego usamos john para realizar fuerza bruta sobre el hash:

john hash.hash 

image

La contraseña obtenida es password1. Ahora podemos descomprimir el archivo zip:

Volvemos a descomprimir el zip.

unzip secretitopicaron.zip

Como podemos ver nos ha extraido un archivo llamado password.txt.

image

Este archivo contiene un usuario mario y una contraseña laKontraseñAmasmalotaHdelbarrioH. Con estos credenciales accedemos a través de SSH:

ssh mario@172.17.0.2

Escalada de privilegios.

Al ejecutar sudo -l, vemos que podemos ejecutar node como root en el archivo /home/mario/script.js.Utilizando GTFOBins sabemos cómo explotar estos binarios.

Vemos que tenemos permisos sobre el archivo, por lo que podemos modificar su contenido:

image

Modificamos el archivo para generar una shell:

image

Finalmente, ejecutamos el script con privilegios de root y ya somos root:

image