
Ik was bezig met penetratietests met behulp van en gebruikte het om informatie over gebruikers uit Active Directory (hierna – AD) te extraheren. In die tijd legde ik de nadruk op het verzamelen van informatie over lidmaatschappen in beveiligingsgroepen en gebruikte vervolgens deze informatie om door het netwerk te navigeren. Hoe dan ook, AD bevat gevoelige gegevens over medewerkers, waarvan sommige werkelijk niet voor iedereen binnen de organisatie toegankelijk zouden moeten zijn. In feite bestaat er in Windows-bestandssystemen een equivalente , die zowel door interne als door externe aanvallers kan worden misbruikt.
Maar voordat we het hebben over privacyproblemen en manieren om deze aan te pakken, laten we eens kijken naar de gegevens die in AD worden opgeslagen.
Active Directory is als een zakelijke Facebook
Maar in dit geval ben je al vrienden met iedereen! Misschien weet je niet wat de favoriete films, boeken en restaurants zijn van je collega's, maar AD bevat gevoelige contactgegevens
en andere velden die door hackers en zelfs insiders zonder al te veel technische vaardigheden kunnen worden gebruikt.
Systeembeheerders zijn natuurlijk bekend met de onderstaande schermafdruk. Dit is de interface van Active Directory Users and Computers (ADUC), waar ze informatie over gebruikers instellen en bewerken, en gebruikers toewijzen aan de juiste groepen.

AD bevat velden met de naam van de medewerker, adres en telefoonnummer, waardoor het lijkt op een telefoongids. Maar er is veel meer! Op andere tabbladen zijn er ook e-mailadressen en webadressen, directe leidinggevende en notities.
Moet iedereen in de organisatie deze informatie zien, vooral in het tijdperk van , waarin elk nieuw detail het zoeken naar aanvullende informatie nog gemakkelijker maakt?
Natuurlijk niet! Het probleem wordt verergerd wanneer gegevens van het hogere management van het bedrijf voor alle medewerkers toegankelijk zijn.
PowerView voor iedereen
Hier komt PowerView in het spel. Het biedt een zeer gebruiksvriendelijke PowerShell-interface voor de onderliggende (en complexe) Win32-functies die toegang krijgen tot AD. Kortom:
maakt het ophalen van AD-velden net zo eenvoudig als het invoeren van een zeer kort cmdlet.
Laten we een voorbeeld nemen van het verzamelen van informatie over de medewerker Cruella Deville, die een van de leidinggevenden van het bedrijf is. Hiervoor gebruiken we de PowerView cmdlet get-NetUser:

De installatie van PowerView is geen groot probleem – overtuigd u zelf op de pagina . En belangrijker nog, je hebt geen verhoogde privileges nodig om veel PowerView-commando's uit te voeren, zoals get-NetUser. Zo kan een gemotiveerde, maar niet erg technisch onderlegde medewerker beginnen te rommelen in AD zonder al te veel moeite.
Uit de bovenstaande screenshot blijkt dat een insider snel veel nieuws kan leren over Cruella. Heeft u ook opgemerkt dat in het veld 'info' informatie over persoonlijke gewoonten en het wachtwoord van de gebruiker wordt onthuld?
Dit is geen theoretische mogelijkheid. Uit leerde ik dat zij AD scannen op wachtwoorden in niet-gecodeerde vorm, en vaak zijn deze pogingen, helaas, succesvol. Ze weten dat bedrijven nalatig omgaan met informatie in AD, en zijn meestal niet op de hoogte van het volgende onderwerp – machtigingen in AD.
In Active Directory zijn er eigen ACL's
De interface AD Users and Computers maakt het mogelijk om machtigingen voor AD-objecten in te stellen. In AD zijn er ACL's en beheerders kunnen toegang via deze instellen of verbieden. Je moet op 'Geavanceerd' klikken in het menu ADUC-weergave, en wanneer je de gebruiker opent, zie je de tab 'Beveiliging', waar je de ACL instelt.
In mijn scenario met Cruella wilde ik niet dat alle geverifieerde gebruikers (Authenticated Users) haar persoonlijke informatie konden zien, dus heb ik hen de toegang tot lezen ontzegd:

En nu zal een normale gebruiker dit zien als hij probeert Get-NetUser in PowerView uit te voeren:

Ik heb erin geslaagd om waardevolle informatie voor onbevoegden te verbergen. Om toegang tot deze gegevens voor relevante gebruikers te behouden, heb ik een andere ACL gemaakt om leden van de VIP-groep (Cruella en andere hooggeplaatste collega’s) toegang te geven tot deze vertrouwelijke gegevens. Met andere woorden, ik heb AD-machtigingsbeleid op basis van een rolmodel geïmplementeerd, waardoor gevoelige gegevens niet toegankelijk zijn voor de meeste medewerkers, inclusief insiders.
Toch kun je het lidmaatschap van de groep onzichtbaar maken voor gebruikers, door de ACL voor het groepobject in AD dienovereenkomstig in te stellen. Dit helpt met betrekking tot privacy en veiligheid.
In mijn ik heb laten zien hoe je door het systeem kunt navigeren door groepslidmaatschappen te onderzoeken met PowerViews Get-NetGroupMember. In mijn scenario heb ik de leesrechten beperkt tot het lidmaatschap van een specifieke groep. Je ziet het resultaat van de opdracht vóór en na de wijzigingen:

Ik slaagde erin om het lidmaatschap van Cruella en Monty Burns in de VIP-groep te verbergen, wat het voor hackers en insiders moeilijker maakte om de infrastructuur te verkennen.
Dit bericht was bedoeld om je aan te moedigen om meer aandacht te besteden aan de velden
AD en de daarmee verbonden machtigingen. AD is een uitstekende hulpbron, maar denk na over hoe je
gevoelige informatie en persoonlijke gegevens zou willen delen, vooral
als het gaat om de leiders van jouw organisatie.
Bron: habr.com
