Existe-t-il un moyen (lorsque vous êtes connecté en tant qu'administrateur ou membre du groupe des administrateurs) de vous faire passer pour un utilisateur sans privilège? Surtout dans un environnement AD.
Par exemple, dans le monde Unix, je pourrais faire ce qui suit (en tant que root):
# whoami
root
# su johnsmith
johnsmith> whoami
johnsmith
johnsmith> exit
# exit
Je dois tester / configurer quelque chose sur le compte d'un utilisateur et je ne veux pas connaître son mot de passe ou le réinitialiser.
Edit:
runas
ne va pas le couper. Idéalement , tout mon bureau deviendrait celui de l'utilisateur, etc., et pas seulement dans une fenêtre cmd.
Réponses:
Je suis presque certain qu'il n'existe aucun moyen pris en charge de s'exécuter en tant qu'utilisateur différent sans avoir les informations d'identification de cet utilisateur. C'est une mesure de non répudiation. Quelqu'un ne peut pas dire: "Je ne l'ai pas fait", soit parce qu'ils l'ont fait, soit quelqu'un qui a obtenu ses lettres de créance. Et pour la seconde, ils devraient donner les informations d'identification à l'autre personne.
Normalement, si je fais ce que je dois faire lorsque je suis connecté en tant qu'un autre utilisateur, vous devez utiliser l'assistance à distance pour essentiellement utiliser RDP dans la session et les laisser m'autoriser. Ensuite, je fais ce que je veux pendant qu'ils regardent (probablement, en tout cas).
Tout le reste peut généralement être fait avec des GPO / scripts.
la source
J'ai remarqué que beaucoup d'autres personnes mentionnent des variantes de la commande runas et expliquent comment vous devez connaître le mot de passe des utilisateurs, ce qui est vrai, mais je ne pense pas que quiconque ait répondu à la question en silence. de "vouloir tout le bureau deviendrait l'utilisateur, etc. et pas seulement dans une fenêtre cmd". Voici comment je m'y prends:
Remarque : je vais faire référence à cette première invite de commande en tant que CP1 pour éliminer la confusion ultérieurement.
Sous votre compte administrateur, ouvrez l'invite de commande.
Pour compte local
Pour compte de domaine
OU comme je le préfère
Remarque: une nouvelle invite de commande s'ouvre (CP2). Il s'agit de l'utilisateur avec lequel vous essayez de vous connecter.
Ouvrez le CP1 et tapez:
Ouvrez le CP2 et tapez:
Selon l'ordinateur, il peut créer un profil pour l'utilisateur s'il ne s'y est jamais connecté auparavant. Vous pouvez sauvegarder vous-même le hassel plus tard en laissant les fenêtres d'invite de commande ouvertes pour une utilisation ultérieure.
Lorsque vous avez terminé votre travail, faites simplement la même chose en sens inverse.
Dans le type CP2:
Ouvrez le CP1 et tapez:
Vous devriez maintenant être de retour dans le compte administrateur d'origine. Vous pouvez effectuer une vérification rapide en appuyant sur la touche Windows et en recherchant le panneau de l'utilisateur actuel.
J'espère que cela a aidé.
la source
Il n'y a pas de mécanisme intégré dans Windows pour le faire. Cela peut être fait, mais vous allez devoir écrire quelque chose pour faire ce que vous voulez, et vous allez probablement devoir vous gâcher avec des API non documentées.
Une des affiches ici, grawity, a le droit d’appeler CreateProcessAsUser (), mais vous devez d’abord créer un jeton avec l’API native non documentée zwCreateToken. Si vous avez tué l'explorateur et déclenché une nouvelle instance de l'explorateur avec CreateProcessAsUser (), je suis assez certain que vous obtiendrez ce que vous voulez.
Microsoft ne vous facilite pas la tâche, car ce n'est pas ainsi qu'ils vous demandent d'utiliser NT. Si vous devez vous connecter en tant qu'utilisateur pour résoudre leurs problèmes, vous vous y prenez généralement de manière sous-optimale.
Vous pouvez modifier le registre de l'utilisateur sans vous connecter (en attachant sa ruche de registre et en le manipulant de cette manière). Vous pouvez modifier les fichiers de leur profil utilisateur sans être connectés en tant qu'utilisateur. Si vous avez besoin de "configurer un courrier électronique" ou d'autres activités "en tant qu'utilisateur", vous devez écrire des scripts ou tirer parti des fonctionnalités intégrées (modèles d'administration de stratégie de groupe, préférences, etc.) pour effectuer votre sale boulot à votre place.
Si vous devez le faire, consultez RunAsEx sur Code Project. Ce code devrait vous donner une assez bonne idée de ce que vous devez faire. Je n'ai pas essayé le programme, mais il semble que tout se passe bien.
la source
Vous pouvez utiliser la commande suivante sur Windows XP et versions ultérieures:
Les options de ligne de commande sont disponibles ici .
Cela ne fonctionnera pas sans connaître le mot de passe des utilisateurs. Je ne pense pas qu'il soit possible dans Windows de fonctionner sous un compte d'utilisateur sans mot de passe en raison de la façon dont les identificateurs de sécurité sont chargés.
la source
(Juste une supposition.) Si votre compte en a un
SeCreateTokenPrivilege
, vous pouvez écrire un petit programme pour créer un processus utilisantCreateProcessAsUser()
une fonction similaire ... (Mais même les administrateurs n'ont pas le privilège par défaut.)la source
Bien que je n’aie pas d’expérience personnelle avec certaines des solutions sudo mentionnées sur ce site, je recommande vivement à nonadmin d’être créé par l’excellent Aaron Margosis . C'est une aide énorme lorsque vous déployez des utilisateurs limités. J'ai surtout sauté sur quelque chose puisque tout le monde dit d'utiliser Runas. Cependant, je pense que la plupart ou la totalité de ces soi-disant sudo pour Windows traitent davantage de l’élévation que de jouer le rôle d’un autre utilisateur sans mot de passe.
la source
Process Explorer procexp.exe sur http://live.sysinternals.com a une exécution en tant qu'utilisateur limité (dans le menu Fichier) qui vous permettra d'exécuter un programme en utilisant vos informations d'identification actuelles, mais avec une ACL réduite à celle d'un utilisateur normal. utilisateur (non administrateur) utilisateur. Pas exactement ce que tu voulais, mais bon pour les tests.
la source