Remote

Publicado: 16 de Junio de 2025 Autor: Josรฉ Miguel Romero aKa x3m1Sec Dificultad: โญ Easy

๐Ÿ“ Descripciรณn

Remote es una mรกquina Windows de dificultad Easy que presenta mรบltiples vectores de ataque interesantes. La mรกquina ejecuta un CMS Umbraco vulnerable y expone servicios como FTP anรณnimo, SMB y NFS. El acceso inicial se logra a travรฉs de la enumeraciรณn del servicio NFS que expone backups del sitio web, permitiendo extraer credenciales del CMS. Una vez autenticado en Umbraco, se explota una vulnerabilidad de RCE para obtener una shell. La escalada de privilegios se puede realizar mediante el abuse del token SeImpersonatePrivilege usando RoguePotato, o alternativamente explotando credenciales almacenadas de TeamViewer.

๐Ÿ”ญ Reconocimiento

๐Ÿ“ Ping para verificaciรณn en base a TTL

๐Ÿ’ก Nota: El TTL cercano a 128 sugiere que probablemente sea una mรกquina Windows.

๐Ÿ” Escaneo de puertos

๐Ÿ› ๏ธ Enumeraciรณn de servicios


๐ŸŽฏ Enumeraciรณn de Servicios

๐ŸŒ HTTP (Puerto 80)

Encontramos un sitio web que parece ser una tienda que estรก empleando el CMS Umbraco:

๐Ÿ”จ Fuzzing de directorios

Realizamos fuzzing con gobuster y encontramos algunos recursos interesantes:

๐Ÿšช Panel de administraciรณn

El recurso Install nos redirige a un panel de administraciรณn del CMS:

http://10.10.10.180/umbraco/#/login

### ๐Ÿ“ SMB (Puerto 445)

๐Ÿ”“ Sesiรณn nula SMB

โŒ Resultado: No obtenemos nada, parece que no estรก habilitada la sesiรณn anรณnima de SMB

๐Ÿ—‚๏ธ NFS (Puerto 2049)

๐Ÿ“‹ Enumeraciรณn de recursos compartidos

Listamos acciones disponibles sobre el servicio NFS:

Encontramos un recurso llamado /site-backups

๐Ÿ’พ Montaje y exploraciรณn

Creamos un directorio donde montar el recurso en nuestro host de ataque y lo exploramos:

๐Ÿ” Anรกlisis: Se trata de una copia de seguridad completa del sitio web que estรก empleando el CMS Umbraco.

๐Ÿ”‘ Bรบsqueda de credenciales

๐Ÿ—ƒ๏ธ Base de datos: Las credenciales se estรกn guardando en el fichero Umbraco.sdf, que es un archivo binario. Lo analizamos con strings:

Podemos ver que se trata de una copia de seguridad completa del sitio web que hemos enumerado anteriormente que estรก empleando el CMS Umbraco. Revisamos a ver si encontramos alguna credencial:

Las credenciales se estรกn guardando en el fichero Umbraco.sdf, el problema es que este fichero es un binario, asรญ que necesitamos intentar leerlo de la siguiente forma:

๐ŸŽฏ Credenciales encontradas:

  • Usuario: admin@htb.local

  • Hash SHA-1: b8be16afba8c314ad33d812f22a04991b90e2aaa

Intenteamos crackear el hash con hashcat usando el diccionario rockyou:

โœ… Credenciales vรกlidas: admin@htb.local:baconandcheese

๐Ÿš€ Explotaciรณn Inicial

๐Ÿ” Acceso al panel de Umbraco

๐Ÿ” Identificaciรณn de la versiรณn

๐Ÿšจ Vulnerabilidad detectada: Esta versiรณn es vulnerable a Remote Code Execution

Exploit pรบblico disponible: https://www.exploit-db.com/exploits/46153

Modificamos el exploit para que el payload sea una reverse shell mediante una conexiรณn powershell codificada en base64

๐ŸŽฏ Ejecuciรณn del exploit

Capturamos la flag del usuario Public

๐Ÿ” Escalada de Privilegios

๐Ÿ›ก๏ธ Enumeraciรณn de privilegios

Revisamos los privilegios de nuestro usuario actual:

๐ŸŽฏ Privilegio clave: Tenemos SeImpersonatePrivilege, perfecto para usar exploits tipo Potato.

โš ๏ธ Nota importante: Es Windows Server 2019, por lo que JuicyPotato no funcionarรก, pero RoguePotato o JuicyPotatoNG sรญ.

https://github.com/antonioCoco/RoguePotato/releases

๐Ÿฅ” Mรฉtodo 1: RoguePotato

Descargamos una copia de RoguePotato.exe y lo disponibilizamos en nuestro host de ataque a travรฉs de un servidor web en python:

Lo transferimos al host que intentamos comprometer

Descargamos el script de powershell de nishang:

https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1

Lo editamos y aรฑadimos al final del todo nuestro payload para la conexiรณn reversa indicando nuestro host de ataque y el puerto. Haremos que tambiรฉn estรฉ disponible en nuestro servidor web en python.

A continuaciรณn iniciaremos socat, en nuestro host de ataque para que escuche en el puerto 135 y redireccione al puerto TCP 9999:

A continuaciรณn iniciamos un listener en nuestro host de ataque en el puerto 443:

Por รบltimo ejecutamos el exploit en el host vรญctima de la siguiente forma:

Tal como se ve en la imagen anterior, el exploit se ejecuta correctamente y ejecuta el payload de la shell de nishang que hemos modificado para que se conecte a nuestro host de ataque ganando privilegios como usuario NT:

Finalmente capturamos la flag:

Enlace de referencia:https://0xdf.gitlab.io/2020/09/08/roguepotato-on-remote.html

๐ŸŽญ Mรฉtodo Alternativo: TeamViewer

๐Ÿ” Enumeraciรณn de servicios

Cuando ganamos acceso inicial, enumeramos servicios en ejecuciรณn:

๐Ÿšจ Vulnerabilidad identificada

CVE-2019-18988: Esta versiรณn es vulnerable y existe un mรณdulo de Metasploit.

Pero antes, deberemos ganar una sesiรณn de meterpreter, para ello podemos generar un payload con msfvenom, transferirlo a la vรญctima y ejecutarlo

๐ŸŽ›๏ธ Configuraciรณn de Metasploit

๐Ÿ”„ Generaciรณn de payload Meterpreter

๐Ÿ”‘ Extracciรณn de credenciales

Ahora podrรญamos validarlas haciendo lo siguiente:

![[Writeups/HTB/Road to OSCP/Lainkusanagi OSCP/Remote/24.png]]

Last updated