mardi 29 août 2017

Dissimulation d'une configuration de GPO via altération des fichiers ADMX

Bonjour à tous,

Nous allons voir dans cet article une technique pour dissimuler une configuration de stratégie de groupe via l'altération des fichiers ADMX.

On va commencer par un rapide rappel de ce que sont les fichiers ADMX.

Les fichiers ADMX sont des fichiers au format XML permettant d'afficher de façon plus intelligible dans la console de gestion des stratégies de groupe les paramètres de GPO basés sur des clefs de registre. Ceux-ci sont présents dans l'arborescence "Modèle d'administration" de la console d'édition des stratégies de groupe.

Si vous voulez creuser le sujet : Managing Group Policy ADMX Files Step-by-Step Guide

Pour faire un gros raccourcis, les fichiers ADMX sont paramètres configurés par clef de registre ce que le DNS est aux adresses IP.


Concept
Le concept est encore une fois très simple. A partir du moment où il y a un fichier définissant l'affichage on peut le modifier et faire afficher ce que l'on veut.
Nous allons de plus exploiter une bonne pratique concernant la gestion des Stratégies de groupe, à savoir la mise en place d'un Central Store.
Le Central Store permet d'héberger de façon centralisée dans le SYSVOL les fichiers ADMX (et ADML qui présentent aussi leurs vulnérabilités). Lors de l'édition d'une stratégie de groupe, la console récupère les informations présentes dans les fichiers ADMX pour les présenter à l'administrateur.
Pour plus d'information sur le central store : Comment faire pour créer et gérer le magasin Central pour les modèles d’administration de stratégie de groupe dans Windows

Comme je l'ai dit supra, les fichiers ADMX font la traduction Clef de registre / Affichage. On va donc modifier ces fichiers pour configurer une autre clef de registre que celle prévue initialement.


Prérequis
Cette technique nécessite de modifier le contenu du SYSVOL et d'avoir suffisament de privilèges sur les GPO pour pouvoir les modifier. Un compte avec les privilèges type "Domain Admins" est donc nécessaire.


Utilisation de la technique
Il faut commencer par trouver quel fichier ADMX on souhaite modifier. Comme vous pouvez le voir il y a pas mal de possibilité. L'objectif est bien évidemment de trouver un paramètre qui n'attirera pas l'attention et qui a du sens d'être configuré sur les machines ciblées par la GPO.


Je suis parti sur le fichier ServerManager.admx qui permet de désactiver le lancement de la console Server Manager à l'ouverture de session (qui, il faut l'avouer, est bien pénible).


On peut voir la clef de registre configurée initialement dans le fichier ADMX.


On modifie la clef de registre par une autre (j'ai pris ici une clef de registre que j'ai en tête permettant la désactivation IPV6 ...). Il est à noter, et c'est important, qu'on ne peut spécifier que des valeurs décimales. On ne peut donc pas pousser n'importe quelle configuration dans le registre par ce moyen.



On crée et on configure notre GPO.




On vérifie que la configuration est correcte.



Puis on lie la GPO à une unité organisationnelle (je n'ai qu'un DC dans ce lab).


On force l'application de la GPO. On peut voir que la clef de registre est bien poussée.



Si on fait un RSOP en GUI ou un export HTML via un gpresult, tout parait normal puisque les informations sont récupérées du Central Store et donc du fichier ADMX.




Seul un export gpresult en mode console permet d'avoir la vraie configuration poussée par la GPO.



Une technique relativement simple, bien que limitée par les valeurs que l'on peut pousser, mais qui peut permettre à un attaquant de dissimuler une configuration poussée par GPO.
Reste à être imaginatif concernant les paramètres ...
On peut aussi détourner les fichiers ADML pour altérer la traduction des paramètres des fichiers ADMX (Changer un "disallow" par un "allow" par exemple).


Contre-mesure et détection
Comme toujours, une bonne gestion des groupes à privilèges pour éviter la compromission initiale.

Il faut ensuite être en mesure d'auditer les modifications des fichiers présents dans le SYSVOL ainsi que les modifications sur les GPO.

On peut aussi directement auditer les fichiers registry.pol présents dans les GPO.

  
Merci de m'avoir lu et à bientôt.

Aucun commentaire:

Enregistrer un commentaire