Est-il possible d'usurper l'identité d'un utilisateur sans le connecter?
-
02-07-2019 - |
Question
Est-il possible d'emprunter l'identité d'un utilisateur sans fournir de nom d'utilisateur / mot de passe? En gros, j'aimerais obtenir le CSIDL_LOCAL_APPDATA
pour un utilisateur (et non l'actuel) à l'aide de la fonction ShGetFolderPath ()
. Tout ce que j'ai actuellement, c'est un SID pour cet utilisateur.
La solution
Non, vous devez appeler la fonction LogonUser de l'API Win32 pour récupérer le jeton de compte Windows afin que vous puissiez emprunter l'identité de celui-ci.
Autres conseils
Vous pouvez emprunter l'identité d'un utilisateur sans fournir de mot de passe en appelant ZwCreateToken. Voir la fonction CreatePureUserToken dans cet article: RunAsEx basé sur une interface graphique Vous devez être exécuté en tant qu'administrateur (ou LocalSystem) pour que cela fonctionne.
Une autre technique consiste à utiliser les packages de sous-authentification Windows. Cela vous permet de remplacer l'authentification intégrée de Windows et de permettre à un utilisateur LogonUser de réussir même si aucun mot de passe n'a été fourni. Voir cet article de la Base de connaissances .