🟠Stapler

Write-up de la máquina Stapler de Proving Grounds #writeup #walkthrough

Enumeración

Puertos abiertos

Comenzamos enumerando que servicios están abiertos en la máquina Stapler.

nmap -p- --open --min-rate 1000 -Pn -n -vvv 192.168.98.148

La máquina tiene 8 puertos abiertos. El siguiente paso será la enumeración detallada de estos servicios.

nmap -p21,22,53,80,139,666,3306,12380 -Pn -n -sVC -vvv 192.168.98.148

A simple vista interesante, el login anonymous en el servicio FTP, que se está ejecutando un servicio MySQL en el puerto 3306, un puerto extraño, el 666 y un servidor Web que se está ejecutando en el puerto 12380.

Enumerando FTP

Identificamos que vSFTP se estaba ejecutando en el puerto 21 así que intentaremos acceder a él utilizando una conexión FTP anónima.

ftp 192.168.98.148

Al acceder descubrimos un directorio que vamos a descargar a nuestra máquina de ataque.

Obtenemos dos posibles nombres de usuarios y la existencia de otra cuenta de usuario para el servicio FTP.

Enumerando SMB (Puerto 139)

En la máquina objetivo se está ejecutando un servicio de SMB en el puerto 139. Con enum4linux vamos a tratar de extraer información interesante del sistema

enum4linux 192.168.98.148

Obtenemos una lista con usuarios del sistema.

Vamos a tratar de limpiar esta lista para dejar únicamente los nombres.

cat users.txt | cut -d '\' -f2 | cut -d ' ' -f1 > user_list.txt

Explotación

Tenemos una lista de posibles usuarios. Al mismo tiempo, esta máquina está ejecutando un servicio SSH en el puerto 22. Vamos a realizar un ataque de fuerza bruta para tratar de "encontrar" credenciales válidas. Vamos a hacer de dos maneras, utilizando la lista de usuarios que tenemos como lista de nombres y de passwords. Y si este no resulta exitoso, utilizaremos el diccionario "rockyou" como lista de contraseñas. Para realizar el ataque, utilizaremos la herramienta "hydra".

hydra -L 'user_list.txt' -P 'user_list.txt' -f 192.168.98.148 -s22 ssh

Obtenemos un resultado. SHayslett:SHayslett. Vamos a tratar de acceder al sistema a través de SSH.

Localizamos la flag local.txt

Elevación de privilegios

Comenzaremos enumerando que puede ejecutar el usuario "SHayslett" como usuario "root".

El usuario "SHayslett" no puede ejecutar ningún comando como sudo. La siguiente enumeración que puede ser interesante, es enumerar los binarios con permisos SUID.

Pero tampoco obtenemos ningún resultado interesante.

Enumeramos la versión de Kernel pero tampoco es vulnerable.

El objetivo tiene múltiples usuarios en el sistema. Normalmente, no se debería permitir la lectura de archivos en los directorios de inicio de otros usuarios, pero parece que este sistema está mal configurado para permitirlo. Podríamos explorar esta situación revisando cada uno de los directorios de los usuarios.

find -name ".bash_history" -exec cat {} \;

De esta manera obtenemos dos posibles usuarios con sus respectivas contraseñas. Comenzamos por el usuario "JKanode", pero al igual que ocurre con el usuario "SHayslett" no puede ejecutar comandos como "root" ni tampoco tiene acceso a binarios con bit SUID.

Enumeramos permisos de sudoers

El usuario "peter" está en el grupo "sudoers"

Solo quedará buscar la flag proof.txt

Ya estaría finalizada la máquina Stapler.

Last updated