我有以下环境:-
DC:- Windows Server 2008
受害者: Windows 7
攻击者: Windows 10
现在我以某种方式入侵了 Windows 7,然后在 meterpreter 中加载 mimikatz。然后,当我输入 Kerberos 时,它会以纯文本形式返回 Kerberos 凭据。
我很惊讶它如何以纯文本形式返回凭证?.而且我也正在寻找一种加密它们的方法。
答案1
这是预期结果。有几个原因:
http://woshub.com/how-to-get-plain-text-passwords-of-windows-users/
例如,用于支持 SSO(单点登录)的 HTTP 摘要式身份验证需要用户密码及其哈希值。加密的用户密码(密码,而不是哈希值)存储在操作系统内存中,更具体地说,存储在 LSASS.EXE 进程内存中。问题在于,密码加密是使用标准 Win32 函数 LsaProtectMemory 和 LsaUnprotectMemory 实现的,这两个函数用于加密/解密某个内存区域。法国开发人员 mimikatz 的工具允许您从内存中获取加密数据,使用 LsaUnprotectMemory 函数解密它们,并显示系统中授权用户的所有帐户及其密码(解密,以纯文本形式!)。
由于 Windows 在内存 (LSASS) 中加密大多数凭据,因此它们应该受到保护,但这是一种可逆加密(尽管凭据是明文)。加密与 LsaProtectMemory 配合使用,解密与 LsaUnprotectMemory 配合使用。
NT5 加密类型:RC4 和 DESx
NT6 加密类型:3DES 和 AES
Mimikatz 功能:
从 LSASS(Windows 本地安全帐户数据库)转储凭据 [sekurlsa 模块] MSV1.0:哈希和密钥(dpapi)
Kerberos 密码、电子密钥、票据和 PIN
一些背景信息:
众所周知,如果用户在机器上执行了键盘交互式登录(无论是本地登录到他/她的工作站还是使用 RDP 到远程工作站),LSASS 会存储明文密码,这是一个安全风险。
您可以使用组策略或注册表(HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0
)强制禁用此功能,但这可能会破坏一些兼容性。
如果您的服务器(2008)和客户端(Win 7)已完全修补,那么也可以使用 ADprotected users
组,为包含的用户禁用此“功能”。