Windows Lateral-Movement Pth Ptk      2019-12-14

        在最近的pth使用中发现常常会出现如下的错误:


当时怀疑与使用的用户权限或者与目标的系统补丁有关,特地查了下资料,总结如下。



一、Pth是不是漏洞?

        微软官方不承认这是一个漏洞,只是NTLM验证过程中的缺陷,这就意味着在所有的系统上均可以利用。在本地试验了下,打全补丁仍然可以Pth成功。谈到Pth经常会说到一个补丁编号:KB2871997,该补丁主要是禁用Wdigest Auth强制系统的内存保存明文口令。由HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest下的UseLogonCredential 值决定,当UseLogonCredential 为1时,WDigest会保存凭据到内存中,为0时,不会保存(当不存在该键时,默认为0)。并且在Windows 8.1和 Server 2012 R2 + 默认集成。

        所以出现该问题(rpc_s_access_denied)的原因只可能是用户权限的问题。


二、Pth 利用限制

    1. 在利用非 Administrator 用户的本地管理员凭证Pth,返回 Access is Denied 之类的错误,跟遇到的错误一样

PS:本地管理员用户 smb_login 没有判断出来Administrator ???

 

    2. 但是域管账号可以正常使用,不受影响

       

        对于上述的现象,该文章[1] 中有很好的总结:对于任何非RID 500的本地管理员(Administrator)连接到WIndows Vista+的计算机,无论是采用WMI、PSexec还是其他方法,使用的令牌都是"已经过滤过的"(即中等令牌)。当使用上述命令进行链接的时候会显示Access is Denied。


三、Pth 限制突破

    1. 修改目标注册表

        如果已经拿下的目标系统权限,抓取hash,可以修改目标标注册表配置,使其本地管理员组的成员都能远程连接(WMI、PSexec),作为持久化的一种手段。

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFi