windowsPuppy


Machine Information

As is common in real life pentests, you will start the Puppy box with credentials for the following account: levi.james / KingofAkron2025!


🧾 Enumeration

  • Escaneo profundo:

Como ya sabemos tenemos credenciales para una cuenta con pocos privilegios, así que ahora simplemente realizaremos un ataque de pulverización utilizando la herramienta NXC.

  • Dos formas distintas de enumerar:


Muy bien, en este proceso utilizamos bloodhound-python para recopilar toda la información relevante del sistema Windows y del entorno Active Directory en un archivo comprimido (ZIP). Este archivo contiene datos detallados sobre usuarios, grupos, permisos y sesiones, los cuales importaremos en la base de datos gráfica Neo4j. Al visualizar esta información con BloodHound, podremos analizar de manera clara y efectiva las posibles rutas y vectores de escalada de privilegios dentro de la red, facilitando así la identificación de vulnerabilidades y la auditoría de seguridad.

Activamos el Neo4j y después el BloodHound:

  • levi.james@puppy.htb es miembro del grupo HR@puppy.htb .

  • El grupo HR@puppy.htb tiene permisos GenericWrite sobre el grupo DEVELOPERS@puppy.htb .

🔥 Paso 1: Agregar levi.james al grupo DEVELOPERS

GenericWrite

Usando el privilegio GenericWrite, ejecuta:

  • Esto se logra usando el comando net rpc para agregar un miembro a un grupo.

Ejemplo de comando:

Nota: Asegúrate de usar el nombre correcto del grupo (DEVELOPERS) y no una traducción como "DESARROLLADORES" a menos que sea el nombre exacto en el dominio.

Reconectar y verificar acceso al recurso compartido SMB DEV

  • Ahora que levi.james es miembro del grupo DEVELOPERS, este debería tener acceso al recurso DEV.

Entramos a ver que contiene:

Abrimos el .Kdbx que es una bd de KeePass,:

Probaremos con la credencial de levi.james pero como no es haremos fuerza bruta a la contraseña:

Exportamos las contraseñas y los datos del archivo recovery.kdbx a un archivo de formato XML llamado keepass_dump.xml.

Extraemos las contraseñas y las guardamos en un archivo llamado passwords_only.txt.

Realizamos pulverización de contraseñas utilizando nxc:

  • Creamos un archivo llamado users donde estaran todos los posibles usuarios pero para ello buscaremos los usuarios:

  • Para listar usuarios en el dominio usando nxc smb con las credenciales de levi.james, el comando sería:

Ahora teniendo los usuarios y credenciales tiraremos de la herramiena nxc para ver cual nos funciona:

Para ello hice mi propio script:

Tenemos credenciales validas:

Estas credenciales ahora se pueden usar para explorar más a fondo y escalar el acceso dentro del entorno objetivo. Realizamos un análisis con bloodhound-python.

Escanearemos los permisos de escritura de nuestro usuario usando bloodyAD.

GenericAll

Resultado:

Realizaremos un análisis en profundidad para identificar los permisos de escritura disponibles para nuestro usuario con bloodyAD.

Parece que el usuario tiene permisos de escritura en la cuenta de Adam D. Silver”.

Cambiaremos la contraseña usando rpcclient.

Verificando si es verdad:

La cuenta está deshabilitada, como lo indica el error 'STATUS_ACCOUNT_DISABLED'. La activaremos con el usuario Ant.Edwards.

Funciona:

Ahora cambiaremos la contraseña nuevamente.

Verificando:

Correcto 🎉


Y al parecer forma del grupo ManagedUsers:

Entramos:


Privilage Escalation


Realizamos el escaneo utilizando BloodHound

  • Sincronización NTP con el DC

Tenemos los json:

A pasarlo al BloodHound:

Pasamos el Backup a nuestro linux:

Ahora, comprobaremos si podemos conectarnos usando WinRM con estas credenciales.

Navegué por el sistema hasta encontrar los archivos DPAPI que contienen claves de cifrado importantes:

Allí encontré el archivo 556a2412-1275-4ccf-b721-e6a0b4f90407 (el masterkey).

Configuré un servidor SMB en mi Kali para recibir esos archivos:

Copié la clave que me devolvió, y la usé para descifrar el credential blob:

  • Así obtuve unas nuevas credenciales elevadas:

Usuario: steph.cooper_adm

Contraseña: FivethChipOnItsWay2025!

  • Con esas credenciales, ejecuté BloodHound para mapear Active Directory y obtener información completa:

BloodHound mostró que steph.cooper_adm tiene permisos DCSync, es decir, puede replicar hashes del dominio.

  • Usé secretsdump.py para extraer hashes NTLM del administrador y otros usuarios:

Con el hash NTLM del administrador, me conecté usando Evil-WinRM pass-the-hash:


Last updated