在一次渗透测试过程中遇到了内网机器只开启了3389的情况,已经拿下的跳板机是一台2012 R2,并且使用mimikatz获得了本地管理员账户administrator的hash:
此时无法使用常规的135和445端口进行pth攻击,随后经过资料查询得知在windows 2012 R2版本以上的windows中的远程桌面服务支持Restricted Admin mode,也就是使用当前账户的凭据来登录远程桌面,无需输入明文密码,此措施是为了防止内存中泄露明文密码,却造成了3389的pth攻击。
官方说明:
要针对3389进行pth攻击,可以使用mimikatz的hash注入功能,将已经获得的hash注入至mstsc进程中:
sekurlsa::pth /user:administrator /domain:1.1.1.1 /ntlm:111111111111111111111111 "/run:mstsc.exe /restrictedadmin"
随后进行登陆,却遭到拦截:
为了验证问题的成因,我将hash随便替换成了一个随机值重新注入,得到的结果是:
也就说明,密码是正确的,但是无法正常登陆,网上的文章说Windows 8.1、Windows Server 2012 R2中默认开启Restricted Admin mode,但是本地验证发现2012 R2 Datacenter版本并不会默认开启此模式。
可以在目标机器上添加注册表来开启Restricted Admin mode:
REG ADD HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
开启注册表之后,再使用mimikatz进行hash注入并登录可以正常登录:
另外发现,如果hash注入的账户不是目标机器的本地管理员,在使用明文密码可以正常登录的前提下,使用pth进行登录,也无法登陆:
1、Windows 2012 R2 Datacenter默认不会开启Restricted Admin mode
2、想使用Restricted Admin mode进行pth攻击的账户需要目标机器的本地管理员权限