2016-03-14 1 views
0

Sur notre image système Windows par défaut, un utilisateur avec succès administratif est créé en utilisant un mot de passe secret. Ceci est utilisé à des fins de support. Ce dont j'ai besoin, c'est d'un script pour créer cet utilisateur sans exposer le mot de passe en texte clair (peut-être en utilisant une valeur hachée?)Script pour créer un utilisateur Windows avec mot de passe secret

Je suis libre d'utiliser PowerShell ou tout ce qui a du sens besoin de pouvoir donner ceci à une personne sans avoir à connaître le mot de passe

+1

Comment quelqu'un se connecterait-il en tant que cet utilisateur si personne ne connaît le mot de passe? Ou est-ce une sorte d'utilisateur "temporaire" qui est supprimé à la fin du script? Pouvez-vous décrire votre cas d'utilisation de manière un peu plus détaillée? –

+0

L'utilisateur est utilisé pour démarrer certains processus avec des droits d'administration. L'utilisateur final ne devrait cependant pas connaître le mot de passe. – ChriPf

+0

Compris. Une option serait de regarder en utilisant le [Windows Data Protection API] (https://msdn.microsoft.com/en-gb/library/ms995355.aspx). Cela vous permet de crypter des données en utilisant le mot de passe de l'utilisateur connecté (c'est-à-dire l'utilisateur exécutant votre script/programme). Si c'est l'utilisateur final, cela ne fournira pas beaucoup de protection. Cependant, si c'est un compte de service, il peut fournir une protection efficace. –

Répondre

0

Vous avez quelques options, bien que cette question appartienne à ServerFault IMAO Si l'ordinateur est joint dans un domaine, ajoutez le groupe qui contient le compte d'appui dans le script de post-installation. Comme si,

([adsi]"WinNT://./Administrators,group").Add("WinNT://domain/supportGroup,group") 

Cela ajoutera le domaine \ dans le groupe de parole Admi locale nistrateurs, de sorte que tout membre du premier groupe se voit accorder des autorisations via l'appartenance au groupe de domaine. Tirer parti de l'appartenance à un groupe pour la sécurité est une pratique exemplaire. L'inconvénient de s'appuyer sur les groupes de domaine est que si l'ordinateur est incapable de se connecter au domaine, la connexion en tant que membre de supportGroup échoue - sauf si vous avez des informations d'identification mises en cache.

Pour les ordinateurs non-domaine, vous n'avez pas de chance. On pourrait créer un compte et stocker des informations d'identification dans un fichier obfuscated. Base64 fonctionne plutôt bien. Après avoir créé l'utilisateur, remplacez et supprimez le fichier. Cela empêchera les utilisateurs qui se comportent bien de découvrir accidentellement le mot de passe, mais ne fera pratiquement rien pour les utilisateurs malveillants.

Une autre approche serait basée, disons, en utilisant un algorithme pour le mot de passe. En générant un basé sur le nom de l'ordinateur et autres joyeusetés, vous n'avez pas besoin de coder en dur le mot de passe. Là encore, il suffit de lire le code source pour fournir le mot de passe, de sorte que vous n'avez plus de chance contre les utilisateurs malveillants. C'est tout à fait une vulnérabilité que toute personne découvrant l'algorithme aurait un accès privilégié à tous les systèmes, donc pensez très soigneusement si c'est la façon de procéder.