保存的远程桌面凭据在本地计算机上是否安全?


Answers:


19

较旧版本的远程桌面客户端将密码存储在.rdp文件中,可以很容易地将其解密。

从远程桌面客户端v6开始,凭据使用Windows凭据API存储。使用与Windows用户帐户绑定的密钥对密码进行安全加密(CryptProtectData如SecurityXploded文章@StackExchanger中所述),访问密码需要Windows密码(或“密码恢复”磁盘)。但是,您可以通过运行的任何程序(例如NetPass)读取它们

请注意,如果某人具有物理访问权限,则可以使用Ophcrack之类的工具破解密码,或安装键盘记录程序。


3

根据securityxploded.com的说法,可以很容易地从存储的RDP会话凭据中恢复密码。

也许更好的解决方案是使用诸如KeePass之类的密码保险箱来存储凭据,以使RDP登录过程自动化。


2
文章使用CryptUnprotectData“恢复”凭据,哪种AFAIK要求用户使用其密码登录?
grawity 2011年

是的,基本上是在Windows中使用密码的最佳做法。例如,使用密码> 14个字符来防止旧密码存储。密码短语是不错的选择。
Shiv

1

你问错了问题,恕我直言。如果有人以某种方式闯入您的计算机,并找到一个RDP文件,该文件允许他在不提供密码的情况下连接到远程计算机,则表明损坏已经完成。不仅如此,他还可以使用远程会话为自己创建一个新用户,甚至可以更改当前用户的密码。

解决方案是永远不要在RDP文件中保存密码并保护您的本地计算机。哦,根据过去使用MS软件的经验,如果将密码保留为纯文本格式或将其略微隐藏在某个地方,我不会感到完全惊讶。见证他们在Windows 7中对wifi网络密码的处理。


感谢您的回答和有效点。我已经更新了我的问题,以阐明我正在从中解决这个问题的角度。
DuckMaestro 2011年

3
Windows 7不在RDP文件中存储任何密码,并且对它们进行散列只是没有意义的(验证时需要将其解密)。创建新用户通常需要管理员权限,更改现有密码-旧密码的知识。
grawity 2011年

1
如果替代方法是将密码存储在密钥管理器中,那么当有人可以本地访问计算机时,是否将其存储在RDP中有什么区别?记住这些密码根本不是一个合理的选择。
乔尔·麦克贝斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.