🟠Pwned1
Write-up de la máquina Pwned1 de Proving Grounds #writeup #walkthrough
Last updated
Write-up de la máquina Pwned1 de Proving Grounds #writeup #walkthrough
Last updated
Comenzamos enumerando los servicios abiertos en la máquina objetivo.
La máquina Pwned1 tiene tres puertos abiertos: 21, 22 y 80. El siguiente paso será el escaneo en profundidad de los tres servicios descubiertos.
Servicios abiertos:
Puerto 21 -> FTP -> vsftpd 3.0.3
Puerto 22 -> SSH -> OpenSSH 7.9
Puerto 80 -> HTTP -> Apache httpd 2.4.38
En el puerto 80 se está ejecutando un servicio Web. Vamos a ver el contenido en el navegador y al mismo tiempo vamos a enumerar la existencia de directorios y archivos interesantes.
Vemos el mensaje de que han hackeado el sitio Web pero poca más información podemos extraer.
Obtenemos como resultado interesante la existencia de un archivo robots.txt. Veamos su contenido.
Vemos dos directorios en el archivo robots.txt. Un directorio /nothing que no contiene información alguna y un directorio /hidden_text donde obtenemos una lista, parece que de directorios. Vamos a descargarla para utilizarla con feroxbuster y volver a fuzzear el sitio Web.
Obtenemos un resultado, /pwned.vuln/. Veamoslo.
Llegamos a un formulario de inicio de sesión. Probamos varias credenciales por defecto sin obtener resultado alguno. Podemos ver el código fuente por si hubiese información interesante.
Tenemos unas posibles credenciales para un servicio FTP (recordamos que este servicio está disponible). Vamos a tratar de iniciar sesión en el servidor FTP.
Login existoso en el servidor FTP. Dentro tenemos un directorio /share que contiene dos archivos, id_rsa y note.txt. Vamos a descargar estos archivos en nuestra máquina de ataque.
Durante la enumeración descubrimos un directorio abierto que contenia una clave privada y una nota donde se indicaba un posible nombre de usuario. Vamos a tratar de iniciar sesión utilizando el servicio SSH que se está ejecutando en el puerto 22.
Una vez logramos vulnerar la máquina víctima, el siguiente paso será buscar la flag local.txt.
Comenzamos realizando las diferentes enumeraciones que nos pueden permitir obtener privilegios "root". Obtenemos un resultado interesante ejecutando sudo -l
Vamos a ejecutar este archivo que nos indica que podemos ejecutar como sudo sin contraseña.
sudo -u selena /home/messenger.sh
Volvemos a enumerar posibles maneras de elevar privilegios. Lanzamo el comando "id" y listamos que la usuario "selena" pertenece al grupo "Docker". Posteriormente revisamos las imágenes de docker que tenemos disponibles y ejecutamos el comando que nos permitirá escalar privilegios con un shell como "root".
Obtenemos una imagen de docker con un nombre un poco sospechoso, "privesc". Buscamos en GTFOBins las posibles formas de elevar privilegios con las herramientas que tenemos hasta el momento.
Ya tendríamos finalizado el CTF Pwned1.