HackTheBox Sauna

❯ nmap -sS -Pn -n -vvv --open --min-rate 5000 10.10.10.175 -oG port
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-21 16:58 EDT
Initiating SYN Stealth Scan at 16:58

PORT     STATE SERVICE          REASON
53/tcp   open  domain           syn-ack ttl 127
80/tcp   open  http             syn-ack ttl 127
88/tcp   open  kerberos-sec     syn-ack ttl 127
135/tcp  open  msrpc            syn-ack ttl 127
139/tcp  open  netbios-ssn      syn-ack ttl 127
389/tcp  open  ldap             syn-ack ttl 127
445/tcp  open  microsoft-ds     syn-ack ttl 127
464/tcp  open  kpasswd5         syn-ack ttl 127
593/tcp  open  http-rpc-epmap   syn-ack ttl 127
636/tcp  open  ldapssl          syn-ack ttl 127
3268/tcp open  globalcatLDAP    syn-ack ttl 127
3269/tcp open  globalcatLDAPssl syn-ack ttl 127

Puertos abiertos


nmap -sCV -p53,80,88,135,139,389,445,464,593,636,3268,3269 10.10.10.175 -oN target.txt
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-21 17:01 EDT
Nmap scan report for 10.10.10.175
Host is up (0.037s latency).

PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
80/tcp   open  http          Microsoft IIS httpd 10.0
|_http-title: Egotistical Bank :: Home
|_http-server-header: Microsoft-IIS/10.0
| http-methods: 
|_  Potentially risky methods: TRACE
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-04-21 22:37:48Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  tcpwrapped
3268/tcp open  ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
3269/tcp open  tcpwrapped
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-time: 
|   date: 2025-04-21T22:37:52
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required
|_clock-skew: 1h36m09s

Puertos versiones y servicios que corren.


Comprovamos el dominio y lo agregamos a nuestro /etc/hosts.


Probaremos de acceder al sitio web para ver que nos encontramos, a primera vista no encontramos nada interesante.


Kerberos

Dado que el servicio Kerberos (puerto 88) se encuentra expuesto, utilizaremos la herramienta Kerbrute para realizar una enumeración de usuarios mediante un diccionario personalizado con los nombres que estan en la web. Tras ejecutar el ataque durante un tiempo, únicamente se logró identificar un usuario válido.

Agregue administrator a los ususarios.


Nos creamos un script en bash Este script toma un archivo de entrada (usernamesPage.txt) que contiene nombres completos (por ejemplo, "Fergus Smith") y genera varias combinaciones de nombres de usuario basadas en diferentes formatos. El resultado se guarda en generated-unames.txt.


Con el Impacket de impacket-GetNPUsers procederemos a realizar un ataque para enumerar usuarios con el atributo de autenticación previa don't require Kerberos (DONT_REQ_PREAUTH). Lo que realiza este comando es recorrer línea por línea el archivo generado en el paso anterior para probar con todos los usuarios. Hemos obtenido un tiquet GTG para el usuario "fsmith" con su respectivo hash de Krb5.


Crakeamos el hash y bueno obtenemos la contraseña.


El comando intenta conectarse al servicio WinRM en la IP 10.10.10.175 usando el usuario fsmith y la contraseña Thestrokes23, solo para comprobar si las credenciales son correctas. Si son válidas, la herramienta responderá con éxito. Si no lo son, no mostrará errores porque los estamos ocultando con 2>/dev/null.


Tenemos la primera bandera la de user.


Privilege Escalation

Nos transferimos el winPeas a la maquina victima.


Encontrado un AutoLogon con las credenciales de un usuario.


Impacket-secretsdump ataque DCSync

HAcemos ataque DCSync, que consiste en

Hacer que un Domain Controller (DC) te dé los hashes de contraseña como si fueras otro controlador de dominio (¡como si tú también fueras parte del dominio!).


PassTheHash

Una vez obtenido el hash del usuario "Administrator", procederemos a conectarnos al WinRM con evil-winrm indicando que queremos acceder con el usuario "Administrator" y el hash encontrado.

Somos Administrator maquina resuelta.

Última actualización