L’audit des GPO Aurélien Bordes SSTIC – 5 juin 2019 /49
Rappels et contexte • Les GPO ( Group Policy Object ) : • Sont apparues avec Windows 2000 et l’Active Directory • Permet d’appliquer des paramètres de configuration • Sont composées de deux parties : • Ordinateur • Utilisateur 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 2 /49
Présentation des GPO • Vidéo 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 3 /49
Définition des GPO (dans un domaine AD) • Les GPO sont définies par des objets de classe groupPolicyContainer dans l’annuaire (AD) DC=<domain NC> cn objectClass: groupPolicyContainer displayName CN=System nTSecurityDescriptor versionNumber gPCFunctionalityVersion CN=Policies gPCFileSysPath gPCMachineExtensionNames CN={GUID A } gPCUserExtensionNames GPO gPCWQLFilter CN={GUID B } GPO CN={GUID C } GPO 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 4 /49
Attributs de la classe groupPolicyContainer définissant une GPO • cn : identifiant (de type {GUID} ) de la GPO • displayName : nom textuel • nTSecurityDescriptor : descripteur de sécurité • versionNumber : versions des parties Ordinateur/Utilisateur • flags : options de désactivation des parties Ordinateur/Utilisateur • gPCFunctionalityVersion : version fonctionnelle • gPCMachineExtensionNames / gPCUserExtensionNames : CSE activés • gPCFileSysPath : emplacement du répertoire de la GPO • gPCWQLFilter : filtre WMI 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 5 /49
CSE ( Client Side Extension ) • L’infrastructure GPO n’est qu’un cadre pour la définition des GPO • L’application des paramètres est dévolu aux CSE : • Bibliothèques installées sous Windows (environ 50 par défaut, extensible) • L’éditeur de GPO doit activer les CSE pour une GPO en indiquant le GUID du CSE dans les attributs : • gPCMachineExtensionNames • gPCUserExtensionNames 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 6 /49
CSE ( Client Side Extension ) • gPCMachineExte nsionNames: • [{ 0ACDD40C-75AC-47ab-BAA0-BF6DE7E7FE63 }{…}]; 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 7 /49
Historique CSE Nombre de CSE par version de Windows 60 50 40 30 20 10 + Autres 0 2000 XP 2003 7 2012R2 2016 10 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 8 /49
Stockages de paramètres • Chaque CSE détermine l’emplacement de stockage de ses paramètres • Le stockage des paramètres d’une GPO peut être : • Dans l’annuaire, sous forme d’objets LDAP, fils de l’objet de la GPO • Dans l’annuaire, sous forme d’objets LDAP • Sous forme de fichier, dans le répertoire de la GPO (le plus utilisé) • Répertoire de la GPO : • Répertoire de stockage propre à une GPO indiqué par le paramètre gPCFileSysPath • Toujours de la forme \\domain.tld\sysvol\policies\{GUID} 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 9 /49
Fonctionnement : création objectClass: groupPolicyContainer Annuaire cn: {GUID} CN=System displayName: « GPO SSTIC » nTSecurityDescriptor: … versionNumber: 0 CN=Policies gPCFunctionalityVersion: 2 gPCFileSysPath CN={GUID} GPO Éditeur Éditeur gPCMachineExtensionNames: ∅ gPCUserExtensionNames: ∅ GPO GPO \\domain.tld\sysvol\policies\{GUID} SYSVOL 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 10 /49
Fonctionnement : modification 1 cn: {GUID} displayName: « GPO SSTIC » nTSecurityDescriptor: … versionNumber: 1 gPCFunctionalityVersion: 2 GPO gPCFileSysPath gPCMachineExtensionNames: {CSE1} Params gPCUserExtensionNames: ∅ Éditeur Éditeur GPO GPO 05/06/2019 11 /49
Fonctionnement : modification 2 cn: {GUID} displayName: « GPO SSTIC » nTSecurityDescriptor: … versionNumber: 2 gPCFunctionalityVersion: 2 gPCFileSysPath GPO gPCMachineExtensionNames: {CSE1};{CSE2} Éditeur Éditeur gPCUserExtensionNames: ∅ GPO GPO 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 12 /49
Fonctionnement : liaison d’une GPO NC NC Site AD Site AD OU OU Éditeur Éditeur OU gPLink: DN GPO GPO GPO GPO 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 13 /49
Fonctionnement : application, identification des GPO Site AD Site AD GPO S gPLink GPO A NC NC gPLink LGPO OU OU GPO B GPO C gPLink GPO E Client Client GPE GPE GPO F OU OU (Group Policy Engine) (Group Policy Engine) gPLink (Service gpsvc ) (Service gpsvc ) GPO G OU OU gPLink 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 14 /49
Fonctionnement : filtrage LGPO GPO S Filtrage sur : GPO A • Niveau fonctionnel ( gPCFunctionalityVersion ) GPO B Client Client • Activation ( flags ) • Ne doit pas être vide ( version ) GPE GPE GPO C (Group Policy Engine) (Group Policy Engine) • Filtrage de sécurité ( ntSecurityDescriptor ) (Service gpsvc ) (Service gpsvc ) • Filtrage WMI ( gpcWQLFilter ) GPO E GPO F GPO G 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 15 /49
Fonctionnement : inventaire des CSE CSE A CSE A LGPO CSE CSE CSE CSE GPO S CSE CSE CSE R CSE R Récupération, pour chaque GPO, GPO A Client Client CSE C CSE C de la liste des CSE activés GPE GPE CSE A CSE A ( gPCMachineExtensionNames ) GPO C (Group Policy Engine) (Group Policy Engine) CSE CSE (Service gpsvc ) (Service gpsvc ) CSE CSE GPO E CSE CSE CSE B CSE B GPO G CSE CSE CSE D CSE D 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 16 /49
Fonctionnement : appel des CSE CSE R CSE R CSE A CSE A CSE B CSE B Client Client LGPO GPE GPE CSE C CSE C GPO S (Group Policy Engine) (Group Policy Engine) (Service gpsvc ) (Service gpsvc ) GPO A CSE D CSE D GPO C GPO E CSE F CSE F GPO G 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 17 /49
Audit de la configuration 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 18 /49
Scénarios d’attaque envisagés • Mettre à 0 la révision (GPO considérée comme vide) • Modifier la révision : • Désynchronisation entre l’annuaire LDAP et le répertoire SYSVOL • Perturbation des mécanismes de cache • Modifier le niveau fonctionnel (doit toujours être à 2) • Déplacer le répertoire de la GPO • Modifier les identifiants des CSE • Modifier les permissions 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 19 /49
Démo : gpocheck 1/2 • Vidéo 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 20 /49
Répartition des CSE 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 21 /49
Importances des droits des GPO GPO User O A User B Grp • L’analyse des droits d’accès d’une GPO est primordiale pour l’étude Dom des chemins de contrôle 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 22 /49
Cas particulier des droits Référence : nTSecurityDescriptor \SYSVOL\Policies CN=Policies \{GUID} CN={GUID} GPO Héritage Params Héritage des droits des droits Params Droits AD Droits NTFS DS_READ_PROP & DS_LIST FILE_READ_DATA Éditeur GPO Éditeur GPO FILE_LIST_DIRECTORY DS_WRITE_PROP FILE_WRITE_DATA FILE_ADD_FILE IsACLConsistent() FILE_ADD_SUBDIRECTORY MakeACLConsistent() DS_CREATE_CHILD ADD_SUBDIRECTORY FILE_ADD_FILE DS_DELETE_CHILD FILE_DELETE_CHILD 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 23 /49
Points de contrôle descripteur de sécurité • Les droits sur une GPO sont donnés par l’attribut nTSecurityDescriptor de son objet LDAP • La synchronisation ne concerne que le répertoire racine de la GPO dans le SYSVOL • Pour s’assurer que ces droits soient l’unique référence : • Synchronisation entre l’objet GPO dans l’annuaire et le répertoire NTFS dans le SYSVOL • Que les droits soient correctement hérités et qu’il n’existe pas d’ACE explicite 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 24 /49
Démo : gpocheck 2/2 • Vidéo 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 25 /49
Audit des paramètres 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 26 /49
Principe GPO GPO GPO GPO GPO GPO GPO GPO GPO GPO GPO GPO SELECT * FROM [gpo] WHERE params LIKE '%TerminalService%' AND value LIKE 'NLA = disabled' 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 27 /49
1 ère piste : depuis les données de la GPO • Récupérer les paramètres depuis : • Les objets LDAP • Les fichiers dans le SYSVOL 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 28 /49
CSE Registry CSE : { 35378eac-683f-11d2-a89a-00c04fbbcfa2 } (Registre) Modèles d’administration (.admx / .adml) 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 29 /49
Fichier Registry.pol 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 30 /49
Paramètres de sécurité : politiques réseau CSE : { 0acdd40c-75ac-47ab-baa0-bf6de7e7fe63 } (Wireless Group Policy) CSE : { b587e2b1-4d59-4e7e-aed9-22b9df11d053 } (802.3 Group Policy ) 05/06/2019 SSTIC 2019 – Aurélien Bordes – L’audit des GPO 31 /49
Recommend
More recommend