获取用户名/登录的用户在Windows中的密码(Getting user name/password

2019-06-26 02:03发布

有没有得到用户在Windows名称和密码当前登录的任何API?

先感谢您。

Answer 1:

密码:不,这是不保留出于安全原因 - 它的使用,然后丢弃。 你可以从注册表中该用户检索的加密密码,给予足够的权限,然后使用类似解密彩虹表 ,但那是极其资源利用目前的方法密集且耗时。 好多提示用户。

另外,如果你想实现某种形式的“单点登录”系统作为Novell公司,则应该通过任何一个GINA(预Vista)或凭据提供程序(Vista)的,这将导致你的代码被赋予的用户名做和密码在登录时,唯一一次在该密码是可用的。

对于用户名,获取当前用户名(谁在运行代码的)很简单:advapi32.dll中的GetUserName功能正是这一点给你。

如果你作为服务运行,你需要记住的是没有“登录的用户”一:有几个在任何时间,如本地系统,网络服务,系统和其他帐户,此外任何实际的人。 本文提供了一些示例代码和文档,做这件事。



Answer 2:

你不能得到一个用户的密码,因为它的加密(更不用提它的标准惯例是不存储密码以明文)。

用于获取用户名,您可以用GetUserName或NPGetUser



Answer 3:

注意确保它是怎么做的,而是从“网络密码恢复”工具http://www.nirsoft.net/utils/network_password_recovery.html似乎得到一些缓存的密码。



Answer 4:

对于许多评论谁相信这是不可能揭示当前登录用户的密码,看到自卸车的登录用户(S)明文密码 ,显示如何使用mimikatz做到这一点:

mimikatz # privilege::debug
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK

mimikatz # sekurlsa::logonPasswords full
...
Utilisateur principal       : user
Domaine d'authentification  : domain
        kerberos :
         * Utilisateur  : user
         * Domaine      : domain
         * Mot de passe : pass


Answer 5:

我认为这是一个巨大的安全漏洞,如果这是可能的!



Answer 6:

GetUserName将让你的名字,但密码则无法获得。 它甚至不是东西的Windows商店,据我所知 - 只有你的密码散列。

这取决于你想要达到的目的(你能告诉我们更多的..)有可能冒充登录的用户和做的东西的/她的代表他。



Answer 7:

在Windows API认证的全部细节可以在MSDN上找到: http://msdn.microsoft.com/en-us/library/aa374735(VS.85).aspx



Answer 8:

我不知道登录密码的窗口......但你绝对可以在证书管理拉明文密码。 例如,下面就是拉密码TFS的程序。 在大多数情况下,这是一样的Windows登录。

namespace ShowPassword
{
    using Microsoft.TeamFoundation.Client;
    using System;
    using System.Net;

    class Program
    {
        static void Main(string[] args)
        {
            var tpc = new TfsTeamProjectCollection(new Uri("http://mycompany.com/tfs"));
            var nc = tpc.Credentials as NetworkCredential;
            Console.WriteLine("the password is " + nc.Password);
        }
    }
}

我NuGet包TeamFoundation ExtendedClient下编译这是“控制台”应用程式与2015年。



Answer 9:

你可以用GetUserName()的用户名,但你不能得到密码; 这将违反假人101的安全性。



Answer 10:

重新“网络密码恢复”工具
的Windows(XP高达)存储在passwd的一个简单易折断加密副本 - 连接老式局域网管理网络共享。 这些工具generaly尝试所有可能的密码针对此,使用彩虹表(字典单词precaluted加密版本)加快这件事。

在XPSP2 / 3 Vista的这一特性被删除。 新的加密更难破解,需要很多时间去尝试所有可能的值,也有在线服务,将在大量的机器上运行它给你以优惠的价格尽快得到答案。

要回答原来的海报 - 你一般不存储密码,并将它与什么你加密用户typd(实际上散列)比较输入的密码和存储。 要检查一个密码,您执行上无论用户enetered和比较,相同的加密。 这是一般不可能从加密的形式回到了真正的密码。

编辑我怀疑你在这里问错了问题-为什么你要密码,什么是你想验证以及何时?



文章来源: Getting user name/password of the logged in user in Windows