Kerberoasting

Descrição

Kerberoasting É um ataque contra contas de serviço que permite a um invasor realizar um ataque offline de quebra de senha contra a conta do Active Directory associada ao serviço. É semelhante ao ASREPRoasting, mas requer autenticação prévia no domínio.

Enumeração

  • Um pequeno script do PowerShell nos permite automatizar a busca por essas contas em um ambiente:

$search = New-Object DirectoryServices.DirectorySearcher([ADSI]"")
$search.filter = "(&(objectCategory=person)(objectClass=user)(servicePrincipalName=*))"
$results = $search.Findall()
foreach($result in $results)
{
    $userEntry = $result.GetDirectoryEntry()
    Write-host "User" 
    Write-Host "===="
    Write-Host $userEntry.name "(" $userEntry.distinguishedName ")"
        Write-host ""
    Write-host "SPNs"
    Write-Host "===="     
    foreach($SPN in $userEntry.servicePrincipalName)
    {
        $SPN       
    }
    Write-host ""
    Write-host ""
}
  • Enumerar SPN com PowerView

  • Também podemos usar o PowerView para executar diretamente o ataque Kerberoasting.

  • Invoke-Kerberoast

  • Kerberoasting com Rubeus

Hash Cracking

Kerberoasting sem uma senha de conta

Há um caso em que podemos executar um ataque Kerberoasting sem uma conta de domínio e senha válidas.

  • Executar Rubeus createnetonly

A partir da nova janela cmd aberta, realizaremos o ataque; se tentarmos executar a opção Kerberoast, ele falhará porque não estamos autenticados.

  • Executando o ataque com /nopreauth

Last updated