使用Windows 7密码自动访问Truecrypt / Keepass等

问题描述 投票:0回答:3

我基本上想要自动挂载(非系统)Truecrypt卷或启动Keypass,只需使用单个(安全)密码保护,一个Windows 7用于默认身份验证。我正在使用C#。

  1. 无论如何在登录时获取此密码?
  2. 或者无论如何在我在登录过程中实际输入密码时获取此密码。

对于1.我找不到任何东西(密码不存储在任何地方,只存储密码的哈希值)

对于2.我已经尝试了一些东西。我有一个程序要在用户使用GPEDIT.MSC计算机配置 - > Windows设置 - >脚本 - >启动登录之前执行。然后我尝试使用全局密钥钩子(尝试GetAsyncKeyStateSetWindowsHookEx)获取密码。当我在登录时尝试捕获密钥时,两者都运行良好,但在登录过程中却没有。

但我找到了一个键盘记录软件(Elite Keylogger),它实际上能够以这种方式获取密码(登录时)。 (我在VMWare中尝试了试用版)。其他的东西,如果尝试在VM Ware和真正的机器上。

感谢您提供任何帮助或提示。

c# security authentication keylogger
3个回答
1
投票

我正在使用批处理脚本执行类似的操作,以便在Windows登录Windows 10时自动挂载Truecrypt(或Veracrypt,如果您愿意)卷。我使用KeePass文件设置来使用Windows身份验证来安全地存放加密的卷密码。

以下是此过程:1)创建您的truecrypt或veracrypt非系统卷2)创建一个KeyPass文件以保存包含加密卷密码的条目。设置KeyPass文件以在您希望驱动器自动安装时使用的登录名下使用Windows身份验证。 3)使用如下所示的批处理脚本打开加密卷。通过使用Windows身份验证将密码保存在KeyPass文件中,可以防止在批处理文件中以纯文本形式显示密码。您需要将此脚本修改为您的特定系统。

@ECHO Mounting Secure Drive (S:)
@ECHO OFF
SETLOCAL EnableDelayedExpansion 
SET x=0
FOR /F "usebackq" %%F IN (`"C:\Program Files (x86)\KeePass Password Safe 2\KPScript.exe" -c:GetEntryString C:\<LocationOfYourKeePassFile>\<keepassfilename>.kdbx -useraccount -ref-Title:<entrytitle> -Field:Password`) DO (
 SET Pass!x!=%%F
 set /a x+=1
)
"C:\Program Files\TrueCrypt\truecrypt" /v \Device\Harddisk0\Partition4 /ls /s /q /p %Pass0% /b /h n /w

4)最后,设置一个Windows任务计划程序,以便在Windows登录时运行批处理。对于目标用户帐户,触发器应为“登录”。操作应该是“启动程序”,目标是批处理脚本的完整路径

我喜欢这种方法的另一个特性是,我可以在Windows帐户被破坏或删除的情况下将加密文件卷密码保存在其他地方。即我可能无法访问设置为使用Windows身份验证的KeyPass文件,但如果我在其他位置保存了实际的加密磁盘密码,我仍然可以恢复对加密卷的访问。


0
投票

在Windows登录后,有一种方法可以使用主密码自动解锁KeePass数据库。您可以在其他计算机上使用相同的数据库,因为它不会绑定到您的Windows用户帐户。有关详细信息,请参阅此Super User answer


0
投票

您更改KeePass数据库以使用Windows帐户作为主密钥,然后为KeePass安装TrueCrypt插件。然后,您在KeePass中有一个条目,其中包含TrueCrypt插件的密码,该密码也在TrueCrypt插件中注册。

有了这个,在你登录后,打开KeePass并选择条目并单击Ctrl + T,你就可以在TrueCrypt中安装卷了。

© www.soinside.com 2019 - 2024. All rights reserved.