LaBouaBouate

PING CASTLE - Privileged Accounts

Appropriation de comptes

P-Delegated

P-Kerberoasting

Au moins un compte à privilège porte des valeurs dans l’attribut servicePrincipalName. Cette configuration peut alors être utilisée par un attaquant pour usurper l’identité du compte avec l’attaque Kerberoasting.

Vous pouvez utiliser le script suivant pour trouver tous les comptes à haut privilèges avec un SPN :

Get-ADUser -Filter {adminCount -eq 1} -Properties servicePrincipalName |
    Where-Object {$_.ServicePrincipalName}

Le compte krbtgt portent naturellement le SPN kadmin/changepw : pas d’inquiétude à avoir là-dessus.

La plupart du temps, il s’agit de SPN qui pointent vers des instances SQL, comme par exemple :

Dans ce cas, la première chose est de vérifier que les serveurs/services indiqués dans le SPN existent toujours. Si ceux-ci n’existent plus, vous pouvez supprimer les valeurs correspondantes. Si les serveurs/services sont toujours utilisés, il vous reste deux choix :

  1. Migrer tous les services associés au(x) compte(s) vers un autre compte de service avec moins de privilèges
  2. Diminuer les privilèges du compte existant

Risque

Moyen
Probabilité 3/5
Impact 3/5

Commentaire

Les SPN peuvent rester une épine dans le pied de la sécurité de votre domaine pendant longtemps. La réduction des privilèges du compte est souvent la meilleure méthode pour diminuer les risques.

Consulter la matrice de risque.

P-AdminPwdTooOld

Au moins un compte à privilège possède un mot de passe vieux de trois ans ou plus. Voici un script pour les identifier rapidement :

Get-ADUser -Filter {(Enabled -eq $true) -and (adminCount -eq 1)} -Properties PasswordLastSet |
    Where-Object {$_.PasswordLastSet -lt (Get-Date).AddYears(-3)}

Ici, au moins deux méthodes pour tricher :

Tricher sur cette métrique fera plaisir à la fois à Ping Castle et à l’attaquant qui utilisera ce compte pour faire tomber votre domaine.

La méthode propre est évidemment de changer le mot de passe et/ou diminuer les permissions des comptes concernés.

Risque

Moyen
Probabilité 3/5
Impact 3/5

Commentaire

Faire un premier changement de mot de passe sur un compte de service après plusieurs années implique de très bien connaitre son environnement sous peine de casser quelque chose.

Consulter la matrice de risque.

P-ProtectedUsers

P-LogonDenied

C’est la première pierre du tiering model Active Directory. Sur cette métrique, c’est le groupe “Admins du domaine” qui est ciblé et qui devrait être interdit de connexion sur toutes les ressources du Tier 2 (ordinateurs personnels principalement).

Pour résoudre ce point, vous devez d’abord créer de nouveaux comptes à privilège qui ne sont pas administrateurs du domaine pour accéder aux ordinateurs personnels en tant qu’administrateur local.

Ensuite, vous pouvez créer une nouvelle GPO qui s’appliquera au moins sur les ordinateurs personnels de votre domaine, avec la configuration suivante : Configuration ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Stratégies locales > Attribution des droits utilisateurs

Stratégie Paramètres de stratégie
Session locale CONTOSO\Admins du domaine
Session en tant que service CONTOSO\Admins du domaine
Session en tant que tâche CONTOSO\Admins du domaine
Session par les services Bureau à distance CONTOSO\Admins du domaine

À voir si vous préférez faire une exception sur votre compte brise-glace pour qu’il puisse se connecter n’importe où.

Comme toutes les vérifications GPO de Ping Castle, à partir du moment où la GPO existe dans le domaine : le risque est considéré comme résolu. En réel, le périmètre d’application de la GPO a évidemment une importance majeure et celle-ci devrait être appliquée à toutes les ressources du Tier 2.

Risque

Faible
Probabilité 3/5
Impact 1/5

Commentaire

Le changement de compte administrateur est la partie la plus impactante car cela implique une modification des habitudes d'administration et des processus.

Consulter la matrice de risque.

P-DisplaySpecifier

Vérification des ACL

P-DCOwner

P-DangerousExtendedRight

P-DsHeuristicsDoListObject

P-DNSAdmin

P-DNSDelegation

P-DelegationLoginScript

P-DelegationKeyAdmin

P-ExchangePrivEsc

P-ExchangeAdminSDHolder

P-DelegationFileDeployed

P-DelegationGPOData

P-DsHeuristicsAdminSDExMask

P-LoginDCEveryone

P-RecoveryModeUnprotected

Contrôle des comptes administrateurs

P-Inactive

C’est le genre de vulnérabilité qu’on aime bien. Il s’agit de comptes avec le plus haut niveau de privilèges (Domain Admins en général) qui ne se sont pas connectés depuis plus de six mois.

Dans ce cas la meilleure chose à faire est (au minimum) de désactiver les comptes inutiles et de supprimer les attributions de droits. En cas de problèmes, vous n’avez qu’à réactiver le compte et remettre les droits.

Pour le plus long terme, essayez d’implémenter Privileged Access Management, et une revue périodique des utilisateurs à privilèges tous les mois dans l’idéal.

Risque

Faible
Probabilité 2/5
Impact 2/5

Commentaire

Si un compte ne se connecte pas depuis plus de 6 mois, on peut le désactiver sans trop de problèmes (suivant l'utilité du compte).

Consulter la matrice de risque.

P-AdminLogin

Cette vulnérabilité indique que le compte Administrateur par défaut (SID-500) a été utilisé récemment. Pour rappel : le compte Administrateur par défaut ne doit être utilisé qu’en cas de dernier recours, et vous devez utiliser des comptes nominatifs pour les actions quotidiennes sur le Tier 0.

Si l’usage de ce compte sort de ce contexte d’urgence absolue, vous devez :

Risque

Faible
Probabilité 2/5
Impact 2/5

Commentaire

Le risque dépend fortement de quelle est l'utilisation qui a été faite du compte Administrateur.

Consulter la matrice de risque.

P-AdminNum

P-OperatorsEmpty

Chemins de contrôle

P-AdminEmailOn

Ici c’est plus une préférence de Ping Castle qu’un vrai risque. Un compte administrateur n’a pas d’utilité à avoir une adresse email, donc autant couper tout risque de phishing et supprimer la boite aux lettre.

Note : Ping Castle ne regarde que le champ “EmailAddress” et pas les attributs Exchange. Vous n’avez qu’à supprimer la valeur du champ pour résoudre la vulnérabilité.

Risque

Très faible
Probabilité 1/5
Impact 1/5

Commentaire

En général, pas de risque à supprimer une adresse email sur un compte administrateur (lorsque celui-ci est bien séparé du compte standard).

Consulter la matrice de risque.

P-ControlPathIndirectEveryone

P-ControlPathIndirectMany

Vérification des délégations

P-DelegationEveryone

P-UnkownDelegation

Des permissions dans Active Directory ne peuvent pas être résolues (SID orphelins), ce qui peut être expliqué par une délégation accordée à un objet d’un autre domaine Active Directory et/ou que le principal qui portait la permission à été supprimé.

Vous pouvez vérifier que la provenance des SID inconnus en les comparant aux DomainSID connus :

$domains = @()
$domains += (Get-ADDomain).DNSRoot
$domains += (Get-ADTrust -Filter *).Name
$domains | ForEach-Object {
    Get-ADDomain $_ | Select-Object DNSRoot, DomainSID
}

Et pour rechercher un SID dans la corbeille Active Directory, vous pouvez utiliser la commande suivante :

Get-ADObject -Filter {ObjectSID -eq 'S-1-5-21-1519513455-2607746426-4144247390-102133'} -IncludeDeletedObjects -Properties Modified

Pensez également à vérifier dans les SIDHistory lors votre recherche des SID orphelins.

Risque

Très faible
Probabilité 2/5
Impact 1/5

Commentaire

Il peut y avoir des cas où cela cause un impact, mais si votre audit des permissions orphelines est bien fait il ne devrait pas y avoir de soucis.

Consulter la matrice de risque.

P-DelegationDCt2a4d

P-DelegationDCa2d2

P-DelegationDCsourcedeleg

P-UnconstrainedDelegation

Changement irréversible

P-SchemaAdmin

P-UnprotectedOU

Certaines unités d’organisation ne sont pas protégées contre la suppression accidentelle. Vous pouvez résoudre facilement ce point avec le script suivant :

Get-ADOrganizationalUnit -Filter * -Properties ProtectedFromAccidentalDeletion |
    Where-Object {$_.ProtectedFromAccidentalDeletion -eq $false} |
    Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion:$true -Verbose

Risque

Très faible
Probabilité 1/5
Impact 1/5

Commentaire

Aucun impact à prévoir.

Consulter la matrice de risque.

P-RecycleBin

Contrôle des privilèges

P-ServiceDomainAdmin

P-TrustedCredManAccessPrivilege

P-PrivilegeEveryone

Contrôleurs de domaine en lecture seule (RODC)

P-RODCRevealOnDemand

P-RODCAdminRevealed

P-RODCSYSVOLWrite

P-RODCNeverReveal

P-RODCAllowedGroup

P-RODCDeniedGroup

P-RODCKrbtgtOrphan

Photo de profil
Article écrit par Léo Bouard

Ingénieur systèmes spécialisé dans les infrastructures, les technologies et l'écosystème Microsoft. Je travaille depuis plus de cinq ans sur les questions de gestion d'identité, d'outils collaboratifs et d'automatisation.