保存的远程桌面凭据在本地计算机上是否安全(粗略地说)?至少它们不会以明文形式存储在任何地方,对吗?
编辑:我理解保存密码的固有风险。当然,有效性是有一定范围的,例如通过类似CryptProtectData
(Google Chrome 在 Win32 上使用什么) 显然比以明文形式保存密码更好。
答案1
旧版本的远程桌面客户端将密码存储在.rdp
文件中,很容易被解密。
从远程桌面客户端 v6 开始,凭据使用 Windows 凭据 API 进行存储。密码使用与您的 Windows 用户帐户绑定的密钥进行安全加密(CryptProtectData
如 @StackExchanger 链接到的 SecurityXploded 文章中所述),访问它们需要您的 Windows 密码(或“密码恢复”磁盘)。但是,您运行的任何程序都可以读取它们,例如网络通行证。
请注意,如果有人具有物理访问权限,他们可以使用 Ophcrack 之类的程序破解密码,或者安装键盘记录器。
答案2
根据securityxploded.com,可以轻松从 RDP 会话存储的凭据中恢复密码。
也许更好的解决方案是使用密码保险箱,例如KeePass用于存储凭证以自动化 RDP 登录过程。
答案3
在我看来,你问错了问题。如果有人以某种方式闯入你的机器,并找到一个允许他无需提供密码即可连接到远程机器的 RDP 文件,那么损害已经造成。不仅如此,他还可以使用该远程会话为自己创建新用户,甚至更改当前用户的密码。
解决方案是永远不要在 RDP 文件中保存密码,并保护您的本地计算机。哦,根据过去使用 MS 软件的经验,如果它将密码保存为纯文本或经过轻微哈希处理,我一点也不惊讶。证人他们对 Windows 7 中的 wifi 网络密码的处理。