SPN (Service Principal Name)

SPN (Service Principal Name)

Vandaag gaan wij het hebben over SPN of ook wel genoemd service principal name. Deze zijn namelijk heel erg belangrijk in een active directory omgeving omdat zij de koppeling tussen een bepaalde service zijn en een account onder wie de service runt.

Eigenlijk is een SPN niks minder dan een alias voor een active directory object (zoals gebruiker, printer etc). Nu gaan wij wat dieper in op service principal names.

bekijk SPN in een active directory

Om een SPN te kunnen bekijken door middel van active directory computer of gebruiker moet jij ‘advanced features’ aan hebben staan in jouw omgeving. Nadat dit aangezet is kan jij de SPN bekijken door het volgende te doen:\

  1. Ga naar ‘view’ menu om de advanced features aan te zetten.
  2. Na het aanzetten van de advanced features, ga naar de gewenste AD object (gebruiker, computer)
  3. ga naar eigenschappen
  4. Ga naar attribute editor tab

5. Kijk naar de attribuut servicePrincipalName en klik op ‘edit’. Hier zie jij een lijst met alle SPN

Maak een SPN

Wij hebben een nieuwe service en wij willen een SPN toevoegen, zodat andere active directory bronnen weten welke server de service host.

  1. Laten wij een service account aanmaken in een active directory
New-ADServiceAccount -Name test-lab -RestrictToSingleComputer

2. Nu gaan wij de managed service toevoegen aan onze server

Add-ADComputerServiceAccount -Identity rmc-syslab-1 -ServiceAccount MSA-syslab-1

3. Nu gaan wij de service installeren

Install-ADServiceAccount MSA-syslab-1

4. Nu gaan wij de generieke service aanmaken

New-Service -Name GENSERV -BinaryPathName C:\Windows\System32\notepad.exe

5. Nu gebruiken we het setspn –s commando dat een SPN aanmaakt en gebruiken we de –s schakeloptie om er zeker van te zijn dat er geen dubbele SPN bestaat.

setspn -s GENSERV/rmc-syslab-1.rmcsyslab.com rmcsyslab\MSA-syslab-1

6. De commando voegt de service ‘Genserv’ gehost op ‘rmc-syslab-1’ toe. Die runt onder de MSA gebruiker. Nu gaan wij de service configureren onder de MSA account.

Zoals je kunt zien op het tabblad Aanmelden in de service-eigenschappen, heb ik het MSA-account geconfigureerd en het wachtwoord leeg gelaten, aangezien we weten dat MSA-wachtwoorden worden beheerd door Windows.

Zwakheden SPN

Een SPN kan gebruikt worden in een silver-ticket aanval, meer informatie over deze aanval is te vinden in een andere blog post van mij. Ook is kerberoasting mogelijk, dit is een aanval waarbij de TGT (Ticket Granting Ticket) word bemachtigd om vervolgens een offline brute-force aanval uit te voeren om de hash eruit te halen en deze vervolgens te gebruiken in een silver-ticket aanval of golden-ticket aanval indien het de KRBTGT gebruiker betreft.

Bronnen

  • https://thebackroomtech.com/2018/08/21/explanation-of-service-principal-names-in-active-directory/
  • https://www.secura.com/blog-kerberoasting-exploiting-kerberos-to-compromise-microsoft-active-directory
Please share and spread
NederlandsEnglish