3 votes

Puis-je obtenir tous les mots de passe d'Active Directory en texte clair en utilisant un cryptage réversible ?

EDIT : Quelqu'un peut-il réellement répondre à la question ? Merci, je n'ai pas besoin de piste d'audit, je vais connaître tous les mots de passe et les utilisateurs ne peuvent pas les changer et je vais continuer à le faire.

Ce n'est pas pour le piratage !

Nous avons récemment migré d'un vieux domaine Linux/Samba rouillé vers un répertoire actif. Nous avions une petite interface personnalisée pour gérer les comptes. Elle stockait toujours les mots de passe de tous les utilisateurs et de tous les comptes de service en clair dans un emplacement sécurisé (bien sûr, beaucoup d'entre vous ne penseront certainement pas que c'est sécurisé, mais sans véritables exploits, personne ne pourrait lire cela) et désactivait le changement de mot de passe sur le contrôleur de domaine samba. De plus, aucun utilisateur ne peut jamais choisir ses propres mots de passe, nous les créons en utilisant pwgen. Nous ne les changeons pas tous les 40 jours environ, mais seulement tous les 2 ans pour récompenser les employés qui les apprennent vraiment et ne les écrivent PAS.

Nous avons besoin des mots de passe pour, par exemple, accéder aux comptes des utilisateurs et modifier les paramètres qui sont trop compliqués pour les stratégies de groupe ou pour aider les utilisateurs.

Il s'agit certainement de politiques controversées, mais je veux les poursuivre sur AD. Maintenant, j'enregistre les nouveaux comptes et leurs noms générés par PWGEN (pwgen crée des mots aléatoires au son agréable avec de belles quantités de voyelles, de consonnes et de chiffres) manuellement dans l'ancien fichier texte que les anciens scripts maintenaient automatiquement.

Comment puis-je récupérer cette fonctionnalité dans AD ?

Je vois qu'il existe un "cryptage réversible" dans les comptes AD, probablement pour les systèmes d'authentification par réponse à un défi qui nécessitent le mot de passe en clair stocké sur le serveur.

Existe-t-il un script qui affiche tous ces mots de passe ? Ce serait génial. (Encore une fois : je fais confiance à mon DC pour ne pas être compromis).

Ou puis-je avoir un plugin dans AD users&computers qui reçoit une notification de chaque nouveau mot de passe et le stocke dans un fichier ?

Sur les clients qui le peuvent avec les GINA-dlls, ils peuvent être informés des mots de passe et obtenir le texte clair.

13voto

Guy Points 16718

J'ai l'impression que vous fournissez une assistance aux utilisateurs en vous connectant à leurs comptes - en connaissant leurs mots de passe ? Comme vous l'avez dit, c'est une très mauvaise idée pour de nombreuses raisons.

Je sais que certains utilisateurs de la vieille école ont tendance à aimer ça, ils haussent les épaules, vous demandent de réparer à distance et vous donnent leur mot de passe. Mais dites simplement non. Personne ne doit connaître son mot de passe à part soi-même - principe de base.

La plupart des choses peuvent être corrigées à partir d'un autre contexte d'utilisateur, le vôtre. Pour celles qui ne peuvent pas l'être, et qui doivent être faites avec l'utilisateur connecté de manière interactive, il faut que l'utilisateur le fasse et qu'il reste et regarde l'équipe réparer les choses à travers le compte de cet utilisateur.

À distance, il y a RDP Shadow, Remote Help et d'autres solutions interactives similaires où l'utilisateur a le contrôle et où personne n'a besoin de connaître son mot de passe pour l'aider à résoudre un problème lié au bureau. Avec les stratégies de groupe, ce comportement n'est de toute façon pas nécessaire, car la plupart des choses sont facilement configurables par un administrateur.

Si vous donnez à d'autres personnes l'accès aux comptes d'utilisateurs d'autres personnes, vous perdez également la piste d'audit et la responsabilité des actions effectuées par les utilisateurs du système, qui pourraient facilement sortir du groupe des administrateurs autorisés.

10voto

K. Brian Kelley Points 8974

Je ne serais pas aussi certain que mon DC est en sécurité. Si j'étais un attaquant ou un testeur de logiciels, je ne m'attaquerais pas d'abord à votre DC. Je vais plutôt m'attaquer à vos stations de travail et à vos serveurs. Vecteur d'attaque de base :

  1. Découvrir un nom d'utilisateur/mot de passe faible dans un domaine ou un service (par exemple, le compte sa sur SQL Server) ou une vulnérabilité que je peux exploiter et qui me permet d'obtenir des droits d'administrateur (corrigez vos systèmes, les gars).
  2. Trouvez le système où ce compte a des droits d'administration.
  3. Dump LSA Secrets pour trouver le nom d'utilisateur/mot de passe de tous les comptes de service.
  4. Utilisez CacheDump pour vider les noms d'utilisateur/mots de passe mis en cache.
  5. Regardez si l'un d'entre eux a des droits d'administration quelque part.
  6. Répétez 1-5 jusqu'à ce que j'obtienne un compte administrateur de domaine.
  7. Utilisez un compte d'administrateur de domaine pour accéder au contrôleur de domaine.
  8. Dump SAM du contrôleur de domaine.
  9. Utilisez les tables arc-en-ciel pour craquer plus de mots de passe, ou la force brute si nécessaire hors ligne.

À moins que vous ne soyez sous Vista / Windows Server 2008 / Windows 7, c'est le schéma d'attaque de base utilisé par la plupart des pentesters. La raison pour laquelle ces trois systèmes d'exploitation brisent le schéma est que l'attaque par injection de DLL contre LSA Secrets n'a pas été conçue pour fonctionner contre ces systèmes d'exploitation.

Cela dit, vous ne devriez pas utiliser de cryptage réversible et vous devriez désactiver les hachages LM. Vous voulez des hachages NTLM. Et vous ne voulez pas stocker ces mots de passe en clair.

9voto

duffbeer703 Points 19867

Ce que tu fais est une très, très mauvaise idée. Si vous ne voulez pas que les utilisateurs aient à gérer des mots de passe, vous pouvez investir dans un système de jetons défi/réponse pour AD qui vous coûtera très peu d'argent.

6voto

Maximus Minimus Points 8917

Pour être honnête, je ne pense pas que votre raisonnement pour vouloir faire ça soit valable. En tant qu'administrateur, l'idée de connaître le mot de passe d'un utilisateur me donne une dose majeure de heebeebees. Il s'agit de leur territoire personnel, et vous leur demandez de vous accorder un niveau de confiance ÉNORME. En outre, en cas de fuite de données confidentielles, vous serez immédiatement soupçonné, car vous connaissez les mots de passe des utilisateurs. L'absence d'une piste d'audit vérifiable est un signal d'alarme colossal en matière de sécurité. La première règle est "protégez-vous", et si cela signifie que vous devez accepter certains inconvénients, qu'il en soit ainsi.

Je pense qu'il existe des solutions alternatives qui permettront d'obtenir ce que vous voulez sans avoir à aller jusqu'à la connaissance des mots de passe. Avez-vous examiné les préférences de la stratégie de groupe ? Quelles sont vos compétences en matière de script ? L'utilisation de méthodes de force brute est normalement une indication claire que l'approche standard n'est pas utilisée de manière optimale, donc je pense que vous feriez mieux de revenir en arrière et de repenser ce que vous faites.

5voto

v6ak Points 1125

Responsabilité, enregistrement et suivi.

Nous nous battons avec la direction à ce sujet depuis quelques années. Le PDG et le président ont refusé de changer leur mot de passe pendant des années, et tous les informaticiens qui se sont succédé depuis plus de 7 ans connaissaient leurs mots de passe. Même si vous faites "confiance" à tout le monde, il est très dangereux que plusieurs personnes qui ne sont plus des employés aient accès à des comptes puissants. Sans parler du fait que toutes ces personnes savent que d'autres personnes connaissent les mots de passe, et qu'il serait prudent de les utiliser.

Nous ne cessons de répéter aux utilisateurs de ne jamais partager leurs mots de passe, même avec nous, jamais. C'est le début de la prévention du "piratage social". Combien de vos utilisateurs donneraient leur mot de passe à quelqu'un qui les appellerait pour dire qu'il est l'un des nouveaux informaticiens ?

Si nous avons absolument besoin d'accéder au compte d'un utilisateur pour faire quelque chose, nous lui demandons de se connecter et de nous suivre, ou nous changeons son mot de passe. Dès que nous changeons leur mot de passe, nous sommes responsables de leur compte et ils ne sont plus responsables, jusqu'à ce que nous leur donnions un nouveau mot de passe, avec le compte marqué que l'utilisateur doit changer son mot de passe à la prochaine connexion. Cela préserve la journalisation et le suivi. Avec tout ce que les utilisateurs peuvent faire de mal, d'illégal et de contraire à l'éthique sur Internet. S'ils peuvent accuser beaucoup d'autres personnes qui connaissent leurs mots de passe, cela pourrait générer beaucoup de problèmes.

Nous travaillons actuellement à l'élimination de toutes les connexions à des comptes partagés, par exemple pour des ordinateurs partagés. Si nous devons en avoir un, ce compte a des droits très limités et aucun accès à Internet.

Il y a une raison pour laquelle les mots de passe sont si importants. Ils ne servent pas seulement à protéger vos données, ils sont là pour vous protéger, vous et vos utilisateurs, etc. Il n'est pas difficile de trouver ou de réfléchir à des exemples. Jouez les conversations dans votre tête. "Ils connaissaient tous mon mot de passe, l'un d'entre eux a accédé à mon ordinateur, a lu l'e-mail de ma maîtresse et l'a dit à ma femme.

Brian

p.s. J'essaie très fort de ne pas être argumentatif. Bien que je n'aie pas répondu à la question, je me suis prononcé contre l'idée de faire ce qui est suggéré. Je recommanderais également de ne pas dire des choses comme ceci, citation de la question - "EDIT : Quelqu'un peut-il réellement répondre à la question ? Merci, je n'ai pas besoin d'une piste d'audit, je vais connaître tous les mots de passe et les utilisateurs ne peuvent pas les changer et je vais continuer à le faire. Ce n'est pas pour le piratage !"

  1. Cela vous vaudrait d'être renvoyé de votre poste d'administrateur système dans de très nombreuses entreprises.
  2. Une telle attitude pourrait également avoir des répercussions sur vos futures possibilités d'emploi. J'éliminerais immédiatement toute personne qui postulerait à un poste d'administrateur système dans notre entreprise si je la googlisais et découvrais qu'elle avait posé cette question.
  3. J'essaie vraiment d'imaginer quel genre de scénario pourrait nécessiter et supporter cela. Un bureau familial de 3 ou 4 personnes, peut-être. Je pourrais voir cette attitude prévaloir dans un scénario religieux, mais même dans ce cas, personne n'est parfait et peut faire des erreurs.
  4. Si ce texte est trop argumentatif ou péjoratif, n'hésitez pas à le modifier ou à supprimer le sigle.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X