
J'ai effectué des tests de pénétration en utilisant et je l'ai utilisé pour extraire des informations sur les utilisateurs d'Active Directory (ci-après dénommé AD). À l'époque, je mettais l'accent sur la collecte d'informations sur l'appartenance aux groupes de sécurité, et j'utilisais ensuite ces informations pour naviguer dans le réseau. Quoi qu'il en soit, AD contient des données sensibles sur les employés, dont certaines ne devraient vraiment pas être accessibles à tout le monde dans l'organisation. En fait, dans les systèmes de fichiers Windows, il existe un équivalent de la , qui peut également être exploitée tant par des attaquants internes qu'externes.
Mais avant de parler des problèmes de confidentialité et des moyens de les résoudre, examinons les données stockées dans AD.
Active Directory est un Facebook d'entreprise.
Mais dans ce cas, vous êtes déjà ami avec tout le monde ! Vous ne connaissez peut-être pas les films, les livres et les restaurants préférés de vos collègues, mais AD contient des informations de contact sensibles
et d'autres champs qui peuvent être utilisés par des hackers et même des initiés sans compétences techniques particulières.
Les administrateurs système connaissent certainement la capture d'écran ci-dessous. C'est l'interface d'Active Directory Users and Computers (ADUC), où ils établissent et modifient les informations sur les utilisateurs et attribuent les utilisateurs aux groupes appropriés.

AD contient des champs avec le nom de l'employé, l'adresse et le numéro de téléphone, donc il ressemble à un annuaire téléphonique. Mais il y a bien plus ! D'autres onglets contiennent également des adresses électroniques et des URL, le supérieur hiérarchique et des notes.
Tout le monde dans l'organisation doit-il voir ces informations, en particulier à une époque de , où chaque nouveau détail facilite la recherche d'informations supplémentaires ?
Bien sûr que non ! Le problème s'aggrave lorsque les données de la haute direction de l'entreprise sont accessibles à tous les employés.
PowerView pour tous
C'est là qu'intervient PowerView. Il fournit une interface PowerShell très conviviale pour les fonctions Win32 sous-jacentes (et compliquées) qui accèdent à AD. En d'autres termes :
il rend l'obtention des champs AD aussi simple que de taper une très courte commande.
Prenons l'exemple de la collecte d'informations sur l'employée Cruella Deville, qui est l'un des dirigeants de l'entreprise. Pour cela, utilisons la commande PowerView get-NetUser :

L'installation de PowerView n'est pas une sérieuse problématique – vérifiez-le vous-même sur la page . Et ce qui est plus important, vous n'avez pas besoin de privilèges élevés pour exécuter de nombreuses commandes PowerView, telles que get-NetUser. Ainsi, un employé motivé mais peu technique peut commencer à fouiller dans AD sans trop d'efforts.
Comme le montre la capture d'écran ci-dessus, un initié peut rapidement apprendre beaucoup de choses sur Cruella. Avez-vous également remarqué que le champ « info » révèle des informations sur les habitudes personnelles et le mot de passe de l'utilisateur ?
Ce n'est pas une probabilité théorique. D'après , j'ai appris qu'ils scannent AD à la recherche de mots de passe en texte clair, et souvent ces tentatives, malheureusement, réussissent. Ils savent que les entreprises négligent les informations dans AD et, en général, ne sont pas conscientes du sujet suivant – les permissions dans AD.
Active Directory a ses propres ACL
L'interface AD Utilisateurs et ordinateurs permet de définir des permissions pour les objets AD. Dans AD, il existe des ACL, et les administrateurs peuvent attribuer ou interdire l'accès via celles-ci. Vous devez cliquer sur « Avancé » dans le menu ADUC Affichage, et ensuite, lorsque vous ouvrez l'utilisateur, vous verrez l'onglet « Sécurité », où vous définirez les ACL.
Dans mon scénario avec Cruella, je ne voulais pas que tous les utilisateurs authentifiés puissent voir ses informations personnelles, donc j'ai interdit leur accès en lecture :

Et maintenant, un utilisateur ordinaire le verra s'il essaie Get-NetUser dans PowerView :

J'ai réussi à cacher des informations manifestement utiles des yeux indiscrets. Pour maintenir l'accès à celles-ci pour les utilisateurs pertinents, j'ai créé une autre ACL, permettant aux membres du groupe VIP (Cruella et ses autres collègues de haut rang) d'accéder à ces données confidentielles. En d'autres termes, j'ai mis en œuvre des permissions AD basées sur un modèle de rôle, rendant les données sensibles inaccessibles à la plupart des employés, y compris les initiés.
Cependant, vous pouvez rendre l'appartenance au groupe invisible pour les utilisateurs en configurant correctement les ACL pour l'objet groupe dans AD. Cela aidera en termes de confidentialité et de sécurité.
Dans ma J'ai montré comment naviguer dans le système en étudiant l'appartenance aux groupes à l'aide de PowerViews Get-NetGroupMember. Dans mon scénario, j'ai restreint l'accès en lecture aux membres d'un groupe spécifique. Vous pouvez voir le résultat de l'exécution de la commande avant et après les modifications :

J'ai réussi à masquer l'appartenance de Cruella et Monty Burns au groupe VIP, rendant plus difficile pour les hackers et les initiés de cartographier l'infrastructure.
Ce post avait pour but de vous motiver à examiner plus attentivement les champs
AD et les autorisations qui y sont associées. AD est une excellente ressource, mais réfléchissez à la manière dont vous
souhaitez partager des informations sensibles et des données personnelles, en particulier
lorsqu'il s'agit des hauts responsables de votre organisation.
Source : habr.com
