Data/Locales/checks/nl/ADTradecraftChecks.json
|
{ "_family": "ADTradecraftChecks.json", "ADTRADE-001": { "name": { "value": "Achtergebleven cpassword van groepsbeleidsvoorkeuren in SYSVOL", "status": "machine-draft" }, "description": { "value": "Van 2008 tot mei 2014 lieten groepsbeleidsvoorkeuren beheerders geplande taken, lokale gebruikerswachtwoorden, gekoppelde stations en services pushen via een 'cpassword'-veld, versleuteld met een AES-256-sleutel die Microsoft openbaar had gedocumenteerd. De oplossing in MS14-025 schakelde het cpassword-veld uit in NIEUWE voorkeuren, maar liet bestaande voorkeuren in SYSVOL onaangeroerd. Elke red-team-opdracht vindt deze nog steeds. Elke geauthenticeerde domeingebruiker kan SYSVOL lezen, het cpassword pakken en het offline ontsleutelen. Als u hier iets aantreft, behandel dan elke blootgestelde referentie als gecompromitteerd en roteer deze.", "status": "machine-draft" }, "recommendedValue": { "value": "Nul cpassword-kenmerken waar dan ook onder \\\\domain\\SYSVOL\\domain\\Policies\\**\\*.xml.", "status": "machine-draft" }, "remediationSteps": { "value": "Scan SYSVOL: Get-ChildItem -Path \\\\<domain>\\SYSVOL\\<domain>\\Policies -Recurse -Include *.xml | Select-String 'cpassword'. Voor elke treffer: (1) roteer het wachtwoord van het account waarvan de referentie is blootgesteld (de gebruikersnaam staat in dezelfde XML), (2) audit de logboeken op gebruik van die referentie sinds de voorkeur is aangemaakt, (3) verwijder de GPP-voorkeur zodra de nieuwe referentie van kracht is. Microsofts KB2962486 bevat de opschoningsrichtlijn.", "status": "machine-draft" } }, "ADTRADE-002": { "name": { "value": "DCShadow-indicator (frauduleuze servers in de configuratiepartitie)", "status": "machine-draft" }, "description": { "value": "DCShadow (Vincent LE TOUX / Benjamin Delpy, BlueHat IL 2018) registreert een door de aanvaller beheerde host als domeincontroller door nTDSDSA- + server-objecten onder CN=Sites,CN=Configuration te schrijven. De valse DC wordt vervolgens gebruikt om kwaadaardige replicatiegegevens (SID-history, wachtwoordhashes) te injecteren zonder ooit een echte DC te zijn. LET OP: in langlevende domeinen is een niet-overeenkomend server-object veel vaker ACHTERGEBLEVEN DC-METADATA (een DC die is verwijderd zonder 'ntdsutil metadata cleanup') dan een daadwerkelijke DCShadow-aanval, dus dit wordt beoordeeld als High in plaats van Critical: onderzoek de whenCreated-tijdstempel om een recent aangemaakt (verdacht) object te onderscheiden van oude verouderde metadata.", "status": "machine-draft" }, "recommendedValue": { "value": "Alle server-objecten onder CN=Sites,CN=Configuration komen overeen met echte, geïnventariseerde domeincontrollers. Geen recent aangemaakte server-objecten die niet overeenkomen met een bekende DC.", "status": "machine-draft" }, "remediationSteps": { "value": "Inventariseer: Get-ADObject -Filter {objectClass -eq 'server'} -SearchBase \"CN=Sites,$((Get-ADRootDSE).configurationNamingContext)\" -Properties whenCreated, dNSHostName | Sort whenCreated. Kruisverwijs met uw DC-inventaris (Get-ADDomainController -Filter *). Elk server-object dat niet overeenkomt met een echte DC, vooral recent aangemaakt, vereist onmiddellijke incidentrespons: DCShadow is een primitief van domeinovername-niveau. Bewaak op 5137- / 5141-gebeurtenissen op de schemacontainer als detectiesignaal.", "status": "machine-draft" } }, "ADTRADE-003": { "name": { "value": "Verouderde BitLocker-herstelsleutels", "status": "machine-draft" }, "description": { "value": "BitLocker-herstelsleutels worden in AD opgeslagen als msFVE-RecoveryInformation-onderliggende objecten van de computer die ze heeft geback-upt. Wanneer een computer buiten gebruik wordt gesteld maar het AD-object blijft hangen, blijven de herstelsleutels opvraagbaar door iedereen met BitLocker-herstelrechten, doorgaans een bredere groep dan 'Tier-0'. Verouderde sleutels betekenen dat afgevoerde schijven ontsleutelbaar zijn als ze bij een refurbisher of in de prullenbak worden teruggevonden.", "status": "machine-draft" }, "recommendedValue": { "value": "Alle msFVE-RecoveryInformation-objecten behoren toe aan computers die in de afgelopen 90 dagen actief waren. Geen sleutels verweesd naar uitgeschakelde of recent gewijzigde maar sindsdien verouderde computeraccounts.", "status": "machine-draft" }, "remediationSteps": { "value": "Inventariseer de herstelinformatie: Get-ADObject -Filter {objectClass -eq 'msFVE-RecoveryInformation'} -Properties whenCreated. Loop voor elk object omhoog naar het bovenliggende computerobject en controleer de lastLogonTimestamp / Enabled ervan. Voor computers die >90 dagen inactief zijn: bevestig dat de schijf is gewist of vernietigd, en verwijder daarna het AD-computerobject (dat de herstelinformatie mee verwijdert). Voor computers die actief in gebruik zijn maar zeer oude herstelsleutels hebben: roteer via Backup-BitLockerKeyProtector. Verifieer dat de BitLocker-herstelgroep een strak lidmaatschap heeft.", "status": "machine-draft" } }, "ADTRADE-004": { "name": { "value": "Hygiëne van het RODC-wachtwoordreplicatiebeleid", "status": "machine-draft" }, "description": { "value": "Alleen-lezen domeincontrollers cachen wachtwoorden voor de principals die zijn vermeld in hun Password Replication Policy (PRP). Als een Tier-0-account (Domain Admin, Enterprise Admin, krbtgt) bereikbaar is via de PRP van een RODC, rechtstreeks of via groepsnesting, dan compromitteert het compromitteren van de RODC die accounts. De standaardgroep 'Denied RODC Password Replication Group' zou expliciet DA / EA / SA / Schema Admins / krbtgt moeten bevatten; sommige omgevingen passen het beleid aan en verwijderen die weigeringen per ongeluk.", "status": "machine-draft" }, "recommendedValue": { "value": "Alle RODC's in het domein hebben een Password Replication Policy waarin Domain Admins, Enterprise Admins, Schema Admins, krbtgt en Account Operators lid zijn van de Deny-zijde. Geen accounts met hoge rechten zijn lid van de Allow-zijde.", "status": "machine-draft" }, "remediationSteps": { "value": "Voor elke RODC: Get-ADDomainController -Filter {IsReadOnly -eq $true} | ForEach-Object { Get-ADDomainControllerPasswordReplicationPolicy -Identity $_ -Allowed; Get-ADDomainControllerPasswordReplicationPolicy -Identity $_ -Denied }. Verifieer dat de Denied-lijst de ingebouwde 'Denied RODC Password Replication Group' bevat. Als uw omgeving geen RODC's heeft, is deze controle niet van toepassing: PASS. Microsofts RODC-planningsgids bevat het canonieke PRP-sjabloon.", "status": "machine-draft" } }, "ADTRADE-005": { "name": { "value": "Sleutelrotatie van het Entra Seamless SSO-computeraccount (AZUREADSSOACC$)", "status": "machine-draft" }, "description": { "value": "Wanneer Entra (Azure AD) Seamless Single Sign-On is ingeschakeld voor hybride identiteit, maakt AD een computeraccount met de naam AZUREADSSOACC$. Het wachtwoord ervan is de gedeelde Kerberos-sleutel die Entra gebruikt om SSO-tickets te valideren. Microsoft documenteert dat deze sleutel NIET automatisch wordt geroteerd; beheerders moeten hem zelf rollen. Als een aanvaller de AZUREADSSOACC$-sleutel extraheert (het is een normale NT-hash, leesbaar via DCSync of vanaf een DC), kan hij Kerberos Silver Tickets vervalsen voor de Azure AD-service en zich authenticeren als ELKE gesynchroniseerde hybride gebruiker, zonder verdere interactie, zolang de sleutel geldig blijft. Een sleutel die al meer dan 90 dagen niet is geroteerd, verbreedt dat venster drastisch.", "status": "machine-draft" }, "recommendedValue": { "value": "AZUREADSSOACC$ Kerberos-sleutel ten minste elke 90 dagen geroteerd (rol hem tweemaal per rotatie om de vorige sleutel ongeldig te maken).", "status": "machine-draft" }, "remediationSteps": { "value": "Roteer de Seamless SSO-sleutel op een machine met de Entra Connect / Azure AD-module: Import-Module 'C:\\Program Files\\Microsoft Azure Active Directory Connect\\AzureADSSO.psd1'; New-AzureADSSOAuthenticationContext; Update-AzureADSSOForest. Voer de rotatie tweemaal uit (het account bewaart de huidige + vorige sleutel) en plan deze terugkerend in. Als Seamless SSO niet langer wordt gebruikt, schakel het uit en verwijder het AZUREADSSOACC$-object.", "status": "machine-draft" } }, "ADTRADE-006": { "name": { "value": "Shadow Credentials (msDS-KeyCredentialLink) op bevoorrechte principals", "status": "machine-draft" }, "description": { "value": "Het kenmerk msDS-KeyCredentialLink bevat openbare sleutels die worden gebruikt voor Windows Hello voor Bedrijven / wachtwoordloze PKINIT-aanmelding. Een aanvaller met schrijftoegang tot dit kenmerk op een doel kan zijn EIGEN sleutelpaar toevoegen (Whisker / pyWhisker) en vervolgens een Kerberos-TGT aanvragen als dat account met de bijbehorende privésleutel, een sluipende techniek voor persistentie en imitatie die bekendstaat als 'shadow credentials'. Elke onverwachte sleutelreferentie op een Tier-0-object (een domeinbeheerder, een domeincontroller of een willekeurig adminCount=1-account) moet worden behandeld als een mogelijke backdoor totdat is aangetoond dat het een legitieme WHfB-inschrijving is.", "status": "machine-draft" }, "recommendedValue": { "value": "Geen niet-herkende msDS-KeyCredentialLink-waarden op bevoorrechte/Tier-0-principals; elke sleutel is toe te wijzen aan een bekende WHfB-/wachtwoordloze inschrijving.", "status": "machine-draft" }, "remediationSteps": { "value": "Inspecteer voor elke gemarkeerde principal de sleutelreferenties (Get-ADObject -Properties msDS-KeyCredentialLink, of de DSInternals-cmdlet Get-ADKeyCredential) en correleer elke apparaatsleutel met een legitieme Windows Hello voor Bedrijven-inschrijving. Verwijder elke vermelding die u niet aan een gesanctioneerde inschrijving kunt toewijzen. Beperk wie msDS-KeyCredentialLink kan schrijven (audit Key Admins / Enterprise Key Admins en de OU-/object-DACL's die dat schrijfrecht verlenen). Stel de betrokken accounts opnieuw in als compromittering wordt vermoed.", "status": "machine-draft" } }, "ADTRADE-007": { "name": { "value": "BadSuccessor-escalatieoppervlak via dMSA-migratie", "status": "machine-draft" }, "description": { "value": "Windows Server 2025 introduceerde delegated Managed Service Accounts (dMSA, objectklasse msDS-DelegatedManagedServiceAccount) met een migratiefunctie: een dMSA kan worden gemarkeerd als vervanger van een bestaand account, waarna het de rechten en Kerberos-sleutels van dat account overneemt. De in 2024 openbaar gemaakte techniek 'BadSuccessor' misbruikt dit: een principal die louter een dMSA kan MAKEN in een OU (CreateChild op de dMSA-klasse, of brede schrijfrechten/GenericAll over de OU) kan er een maken, deze richten op een bevoorrecht account en de sleutels ervan overnemen, waarmee hij escaleert naar dat account zonder er ooit rechtstreeks rechten over te hebben. Deze controle inventariseert OU's waar een niet-Tier-0-principal die mogelijkheid bezit.", "status": "machine-draft" }, "recommendedValue": { "value": "Geen niet-Tier-0-principal kan een delegated MSA (msDS-DelegatedManagedServiceAccount) in enige OU maken of schrijven.", "status": "machine-draft" }, "remediationSteps": { "value": "Verwijder op elke gemarkeerde OU CreateChild (voor de klasse msDS-DelegatedManagedServiceAccount), GenericAll, WriteDacl en WriteOwner van niet-administratieve principals. Audit gedelegeerde OU-machtigingen breed: dezelfde ACE's die BadSuccessor mogelijk maken, maken ook andere misbruiken van objectcreatie mogelijk. Bewaak, totdat het is gepatcht/gemitigeerd, de creatie van msDS-DelegatedManagedServiceAccount-objecten (4662/5137-gebeurtenissen). Deze controle wordt OVERGESLAGEN in forests waarvan het schema ouder is dan Server 2025.", "status": "machine-draft" } }, "ADTRADE-008": { "name": { "value": "Groepslidmaatschap van Key Admins / Enterprise Key Admins", "status": "machine-draft" }, "description": { "value": "De groepen Key Admins (domein-RID 526) en Enterprise Key Admins (RID 527) krijgen het recht om het kenmerk msDS-KeyCredentialLink domein-/forestbreed te schrijven. Dat maakt van elk lid een domeinbreed shadow-credential-primitief: een lid kan sleutelreferenties op elk account planten en zich er via PKINIT als authenticeren. Deze groepen worden LEEG geleverd en zouden leeg moeten blijven, tenzij een specifieke Windows Hello voor Bedrijven-workflow voor sleutelprovisioning ze aantoonbaar vereist. Elk lid is een escalatiepad dat moet worden gerechtvaardigd.", "status": "machine-draft" }, "recommendedValue": { "value": "De groepen Key Admins en Enterprise Key Admins zijn leeg (geen vaste leden).", "status": "machine-draft" }, "remediationSteps": { "value": "Beoordeel elk lid van Key Admins en Enterprise Key Admins. Verwijder elk account dat geen gedocumenteerde, doorlopende behoefte heeft om Windows Hello voor Bedrijven-sleutels te provisioneren. Als WHfB-sleutelprovisioning gedelegeerde rechten vereist, beperk deze dan tot een specifiek serviceaccount met de kleinst mogelijke machtigingen in plaats van lidmaatschap van deze domeinbrede groepen. Behandel onverwachte leden als een mogelijk persistentiemechanisme.", "status": "machine-draft" } }, "ADTRADE-009": { "name": { "value": "Groepslidmaatschap van Cert Publishers", "status": "machine-draft" }, "description": { "value": "Leden van de groep Cert Publishers (domein-RID 517) mogen certificaten publiceren naar de NTAuth-store en naar gebruikers-/computerobjecten. Standaard bevat de groep alleen het/de computeraccount(s) van de Enterprise CA. Een gebruikers- of serviceaccount dat in deze groep wordt geplaatst, verwerft de mogelijkheid te beïnvloeden welke certificaten voor authenticatie worden vertrouwd, wat een opstapje is in diverse AD CS-escalatiepaden (aanvallen van de ESC-klasse) en certificaatgebaseerde imitatie mogelijk kan maken. Lidmaatschap van computeraccounts (de CA-hosts zelf) is te verwachten; elk niet-computerlid is een bevinding.", "status": "machine-draft" }, "recommendedValue": { "value": "Cert Publishers bevat alleen het/de computeraccount(s) van de Enterprise CA: geen gebruikers- of serviceaccounts.", "status": "machine-draft" }, "remediationSteps": { "value": "Verwijder elk gebruikers- of serviceaccount uit de groep Cert Publishers; alleen computeraccounts van de Enterprise CA horen daar thuis. Beoordeel de inhoud van de NTAuth-store (certutil -viewstore -enterprise NTAuth) op onverwachte CA-certificaten. Hard AD CS breed: audit de inschrijvingsmachtigingen van certificaatsjablonen en het misconfiguratieoppervlak ESC1-ESC8.", "status": "machine-draft" } }, "ADTRADE-010": { "name": { "value": "Houding en wachtwoordblootstelling van group Managed Service Accounts (gMSA)", "status": "machine-draft" }, "description": { "value": "group Managed Service Accounts (gMSA) bevatten wachtwoorden van 240 bits die AD automatisch genereert en roteert, waardoor Kerberoasting van zwakke serviceaccountwachtwoorden en handmatig rotatiewerk worden geëlimineerd. Twee aandachtspunten voor de houding: (1) of gMSA's überhaupt worden gebruikt voor service-identiteiten, en (2) wie geautoriseerd is om het beheerde wachtwoord op te halen, geregeld door de beveiligingsdescriptor msDS-GroupMSAMembership (PrincipalsAllowedToRetrieveManagedPassword). Als die descriptor een brede principal (Everyone, Authenticated Users, Domain Users) of een niet-bevoorrechte principal toekent, kan die principal het gMSA-wachtwoord in leesbare tekst herstellen (bijvoorbeeld GMSAPasswordReader) en de service volledig imiteren.", "status": "machine-draft" }, "recommendedValue": { "value": "Service-identiteiten draaien als gMSA's; msDS-GroupMSAMembership is beperkt tot uitsluitend de specifieke hosts die de service moeten draaien (geen brede of niet-bevoorrechte principals).", "status": "machine-draft" }, "remediationSteps": { "value": "Stel voor elke gMSA PrincipalsAllowedToRetrieveManagedPassword in op de exacte computeraccounts (of een strak afgebakende groep) die de service draaien: Set-ADServiceAccount -Identity <gmsa> -PrincipalsAllowedToRetrieveManagedPassword <hosts>. Verwijder Everyone / Authenticated Users / Domain Users uit die lijst. Waar serviceaccounts nog statische gebruikersaccountwachtwoorden gebruiken, migreer ze naar gMSA's om automatische rotatie en Kerberoasting-weerstand te verkrijgen.", "status": "machine-draft" } } } |