XUT_ / MACHINES / THM

0024

Wgel CTF

THMMACHINENONEEASY

Introduction

wgel-ctf

¿Puedes exfiltrar la flag de root?

Getting the Flags

Reconocimiento Inicial

Comenzamos haciendo un escaneo básico de puertos.

wgel-ctf

Ahora vamos a escanear estos puertos más a fondo.

wgel-ctf

Nada extremadamente interesante, aparentemente. Vamos a listar directorios web.

wgel-ctf wgel-ctf wgel-ctf

Vamos a mirar cómo es la web.


Profundización

Hay un directorio que llama mucho la atención: /sitemap/.ssh/id_rsa. Vamos a ver qué contiene.

wgel-ctf

Una clave privada, ahora sólo nos queda conocer el nombre de usuario que puede usarla. Investigando, volví al directorio /, que sale una página de configuración. Pero si vamos al código fuente de dicha página vemos esto:

wgel-ctf


Explotación

Vamos a probar. Ponemos la clave en un archivo y le damos los permisos correspondientes.

wgel-ctf

Buscamos la flag.


Escalada de Privilegios

Ahora tenemos que encontrar la fórmula para escalar los privilegios hasta root.

wgel-ctf

Vemos unos cuantos grupos, esto puede ser interesante, volveré aquí si ninguna otra técnica funciona.

wgel-ctf

Parece que hemos encontrado un comando utilizable con sudo sin contraseña: wget. Vamos a mirar en GTFOBins.

wgel-ctf

Pero no funciona.

wgel-ctf

Parece que en esta versión esa opción no está disponible. Vamos a buscar en GitHub. Buscando encontramos este repo. Vamos a hacer lo que dice.

  1. Obtenemos el contenido de /etc/shadow.

Para esto nos ponemos en escucha en la máquina atacante:

wgel-ctf

En la máquina víctima pasamos el contenido del archivo a la máquina del atacante:

wgel-ctf

Así obtenemos el contenido de /etc/shadow.

wgel-ctf

  1. Creamos un nuevo archivo /etc/shadow.

Pegamos el contenido que hemos obtenido.

wgel-ctf

  1. Creamos una nueva contraseña para el usuario root y lo añadimos al archivo.

Utilizamos el comando openssl.

wgel-ctf

Copiamos el hash generado después de root: en el shadow.txt que hemos hecho.

CAUTION: Deja lo que hay después de los segundos dos puntos, déjalo así: root:NUEVO_HASH:18195:0:99999:7:::.

  1. Transferimos el contenido al otro archivo shadow.

Abrimos un servidor de python.

wgel-ctf

Desde la máquina víctima usamos wget con sudo para sustituir el archivo.

wgel-ctf

  1. Cambiamos a root.

wgel-ctf

Una vez conseguido cambiar de cuenta, sólo buscamos la flag de root y ya está.


Conclusión

Una máquina bastante facilita. Hemos aprendido a no rendirnos después de que una técnica no funcione. Si un método no termina de funcionar pero hay indicios de que es por ese camino siempre hay que seguir intentándolo.