![XCOPY 是否会将凭据保留在 LSASS 中缓存?](https://linux22.com/image/1635032/XCOPY%20%E6%98%AF%E5%90%A6%E4%BC%9A%E5%B0%86%E5%87%AD%E6%8D%AE%E4%BF%9D%E7%95%99%E5%9C%A8%20LSASS%20%E4%B8%AD%E7%BC%93%E5%AD%98%EF%BC%9F.png)
当使用 XCOPY 将文件复制到远程计算机时,用于连接远程计算机的凭据是否缓存在该计算机的 LSASS 中?
我试图避免在目标机器上留下任何易受 Mimikatz 攻击的凭据(例如这里)。
编辑:错误链接!该链接指向他们使用不同登录方法(WMIC、PSExec、本地管理员与域管理员、交互式等)进行的一些试验。有些方法缓存了凭据,有些则没有。他们没有测试 XCOPY,所以我想知道是否有人尝试过或确切知道 XCOPY 是否专门缓存凭据。
答案1
不,通过 SMB 复制文件首先不会发送任何可缓存的信息 - SMB 使用的两种身份验证机制都只发送临时证明,而不是您的实际密码。(SMB 通常在 Active Directory 环境中使用 Kerberos,在其他情况下使用 NTLM。)
Kerberos 是一种基于票证的预共享秘密协议。使用 Kerberos,服务器只会收到为该特定服务器签发的票证,并且不能使用该票证获取更多票证 - 您的密码和初始票证 (TGT) 都不会被发送。(票证本身是离线验证的,通过使用服务器的“机器帐户”密码对其进行解密。)
NTLM 是一种质询-响应协议,其中服务器永远不会收到原始的“NT 密码哈希”,而只会收到使用特定于连接的随机数据再次哈希的版本。为了验证响应,服务器需要已经知道 NT 哈希(在这种情况下缓存它是没有意义的),或者将其转发到知道的域控制器(在这种情况下服务器永远不会了解 NT 哈希)。
在这两种情况下,服务器仅接收无用缓存的派生凭据。(LSASS 仅缓存最初的凭证——其目的是获取这些临时凭证而不实际泄露初始凭证。Mimikatz 找到了强制提取它们的方法,但这不是正常操作。
此外,服务器不需要您的密码来检查文件权限 - 它只需要知道您的用户 SID 和组成员身份,它可以从 Kerberos 票证或通过查询 DC 获取。
RDP 和 WinRM 则不同;它们是交互式访问协议,因此故意地有一种方法可以将您的初始凭据转发(委托)到远程计算机,尽管它是可选的和可控制的通过 GPO。这是为了让用户在连接到服务器时进一步访问文件共享和其他内容。
(此外,RDP 承载着许多遗留问题——尽管它现在可以通过 NLA 使用 Kerberos 或 NTLM,但较旧的非 NLA 模式仅涉及将您的实际密码发送到服务器并模拟本地交互式登录,包括缓存等。)