SaunaHTB-WriteUp-ETHCOP

EthicalHCOP
5 min readJul 26, 2020

EthicalHCOP.

Podría considerar a sauna como una máquina relativamente fácil ya que su explotación reúne técnicas de máquinas ya retiradas como forest, resolute, monteverde y otras. Sin embargo en su parte inicial, se tiene que literalmente adivinar el usuario para poder dar avance en la máquina.

Reconocimiento y escaneo.

El escaneo nmap nos ha revelado muchos puertos como el 80, 445, 389, 5985 y otros puertos más. Así que de todos los puertos enumerados nos centraremos en 2 puertos inicialmente, el puerto 80 perteneciente al servicio http y el puerto 445 perteneciente al smb.

Enumeramos el servicio SMB utilizando la herramienta enum4linux, y en el resultado vemos un mensaje que nos avisa sobre un posible acceso al servicio de manera anónima.

Efectivamente, si listamos con smbclient los recursos compartidos podremos ver que se ha hecho un login anónimo con éxito pero no ha retornado ningún recurso compartido para dicho acceso.

En el servicio http encontramos un sitio que hace referencia a un banco.

Navegando en dicho sitio, encontramos en la sección de about un texto con algo de sentido.

“Conocer al equipo. Tantos gerentes de cuentas bancarias pero solo un gerente de seguridad. ¡Suena bien!”

Según el texto, una de estas personas es el gerente de seguridad, por lo que tendremos que probar con cada nombre diferentes maneras de crear nombres de usuario corporativos.

Explotación de Usuario.

Para cumplir con dicho propósito, podemos utilizar la herramienta cupp la cual nos permitirá crear diccionarios de texto basándose en la información entregada acerca de un usuario.

Para este caso, llenaremos los datos que no sabemos (como parientes, hijos, nickname etc) con algunas combinaciones en el nombre de usuario para complementar el diccionario. Dichas combinaciones se basan en cómo las empresas nombran sus usuarios, por ejemplo:
Nombre: Juan Perez
Posibles nick: JPerez, JuPerez, JuanP, Juan.Perez, JuanPerez

Una vez creados los listados de usuarios y aprovechando que esta máquina está conectada a un directorio activo, podemos intentar un ASRepRoast y consultar si alguno de esos usuarios creados responde correctamente al ataque.

Lanzando el primer diccionario de texto creado con el usuario Fergus Smith, vemos que ha respondido correctamente al usuario “Fsmith” y nos ha retornado el hash kerberos de este usuario.

Como lo hicimos en máquinas anteriores, ingresamos este hash en un archivo de texto y ejecutamos hashcat con el diccionario de texto rockyou.txt para crackear dicho hash.

Al pasar de algunos minutos, hashcat ha terminado su proceso y como resultado nos ha devuelto el hash crackeado y la contraseña en texto plano.

Usando el puerto 5985 que pertenece al servicio de administración remota WinRM, ingresamos al sistema con la herramienta evil-winrm e ingresamos con las credenciales anteriormente obtenidas. Una vez dentro podemos navegar por los directorios y acceder al archivo user.txt

Explotación de Root.

Si utilizamos scripts de enumeración para ver que podemos aprovechar para escalar privilegios, veremos que se nos retorna las credenciales de un usuario que está guardado en el autologin del sistema.

https://docs.microsoft.com/en-us/sysinternals/downloads/autologon#:~:text=from%20Sysinternals%20Live.-,Introduction,on%20the%20specified%20user%20automatically.

De igual manera podemos obtener el mismo resultado ejecutando el siguiente comando en powershell.

https://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/

Sin embargo, al intentar hacer login con el usuario mencionado en la respuesta aparece un error de autenticación, por lo que al mirar los nombres de las carpetas de los usuarios se puede ver una leve diferencia en los nombres.

Al cambiar el usuario encontrado en el autologin por el usuario nombrado en las carpetas de usuarios, obtenemos un acceso exitoso en la máquina.

Una de las cosas que podemos hacer cuando estamos dentro de un sistema es intentar dumpear las contraseñas de los usuarios locales, una herramienta que puede ser muy útil para realizar este procedimiento es secretdump.py, la cual mediante el usuario y contraseña capturado previamente intentará obtener todos los hash NTLM de los usuarios locales.

Una vez ejecutada la herramienta, esta nos devuelve el listado de varios usuarios con su respectivo hash.
Por lo que finalmente accedemos al sistema como administrador utilizando dicho hash, en lo personal use wmiexec.py de impacket, pero se puede hacer uso de otras herramientas como crackmapexec.

--

--