Kerberoasting takes advantage of the way the Kerberos protocol works in Active Directory environments. Read up on it here, here, and here.
Any authenticated member of a domain can take advantage of this attack. To perform the attack, we use the impacket script GetUsersSPNs.py. You can find this on the default Kali by searching in the /usr/doc/python3-impacket/examples/ folder.