在一次渗透测试过程中遇到了内网机器只开启了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
攻击的账户需要目标机器的本地管理员权限