我开发了定制凭据提供程序,我的目标是定制CP将使用定制身份验证提供程序进行身份验证。
我知道实现子身份验证提供程序就足够了。
我拿了https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win7Samples/security/authentication/msvsubauth并将其与c ++项目一起编译。
我所做的步骤:
添加表明dll被称为
将dll复制到system32
在hklm \ system \ currentcontrolset \ control \ lsa \ msv1_0 \ auth0中写入dll名称(不带.dll)
重新启动计算机
但是我仍然看不到该dll被调用的任何迹象。
答案 0 :(得分:0)
仅当dll未在注册表中正确注册时,子身份验证程序包才起作用。该dll应该注册为Auth0。这是示例注册表格式。您可以将其另存为.reg
文件并执行。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0]
"Auth0"="your-dll-name"
除此之外,我认为,根据您的情况,一切都应该很好。
答案 1 :(得分:0)
您可以尝试使用8个字符以内的dll名称,并将该DLL名称以大写形式放在注册表中(无扩展名)。
可以从Mimikatz的一位作者那里找到一个简单的工作示例: https://github.com/vletoux/SubAuth
注意.reg文件:
Windows注册表编辑器5.00版
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Kerberos] “ Auth0” =“ SUBAUTH”
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0] “ Auth0” =“ SUBAUTH”