是否可以在不登录的情况下冒充用户?
时间:2020-03-06 14:45:37 来源:igfitidea点击:
是否可以在不提供用户名/密码的情况下冒充用户?基本上,我想使用ShGetFolderPath()函数为用户(不是当前用户)获取CSIDL_LOCAL_APPDATA
。我目前所拥有的只是该用户的SID。
解决方案
不,我们必须调用Win32 API LogonUser函数以获取Windows帐户令牌,以便随后进行模拟。
我们可以通过调用ZwCreateToken来模拟用户而无需提供密码。
请参阅本文中的CreatePureUserToken函数:
基于GUI的RunAsEx
我们必须以管理员(或者LocalSystem)身份运行才能正常工作。
另一种技术是使用Windows子身份验证程序包。
这使我们可以覆盖Windows内置的身份验证,并允许LogonUser成功,即使没有提供密码也是如此。请参阅此知识库文章。