技术文章 | windows横向渗透中的令牌完整性限制

在企业的内网安全防御中,通常会将横向移动技术作为指标,进行有针对性的检测。尽管如此,还是有不少攻击者巧妙地避开了层层关卡,在Windows环境中横向移动。针对这些高级攻击者,该如何应对呢?在使用IPC,WMIC等进行横向移动时,如果使用RID非500的管理员用户,有时会拒绝访问,是什么原因?

本文由锦行科技的安全研究团队提供,站在攻击者的视角分析windows内的横向移动,帮助大家深入了解横向移动的全过程以应对该种攻击。

Kb2871997

网传Kb2871997 是限制远程访问的主要原因,测试一下

01 工作组环境下

主机B:win7 ,192.168.18.156 ,未打Kb2871997补丁

用户 win7 非500的主机B本地管理员账户

20201105windows横向渗透中的令牌完整性限制325

使用Administrator访问,可
20201105windows横向渗透中的令牌完整性限制347

用户Win7访问。拒绝访问
20201105windows横向渗透中的令牌完整性限制363

主机B安装Kb2871997补丁
20201105windows横向渗透中的令牌完整性限制382

Administrator访问,可
20201105windows横向渗透中的令牌完整性限制402

用户Win 7访问,拒绝访问
20201105windows横向渗透中的令牌完整性限制419

02 域环境

主机B 192.168.18.156 安装了Kb2871997补丁

用户test\User为主机B本地管理员的普通域用户

用户test\User访问,可

20201105windows横向渗透中的令牌完整性限制574

由安装KB2871997前后的对比发现**kb2871997对于本地Administrator(rid为500,操作系统只认rid不认用户名)和本地管理员组的域用户是没有影响的。**但是kb2871997补丁会删除除了wdigest ssp以外其他ssp的明文凭据

remote UAC 远程限制

01 作组环境下

主机A win10

主机B win10 192.168.18.132

用户user为Rid非500的主机B本地管理员账户

ipc 拒绝访问
20201105windows横向渗透中的令牌完整性限制799

Schtasks 拒绝访问
20201105windows横向渗透中的令牌完整性限制815

WMIC,PSEXEC,WINRM,等也是拒绝访问

原因:

由于remote UAC默认开启的,计算机的任何非 500本地管理员帐户, 用户在远程计算机上没有特权提升能力,并且用户无法执行管理任务。使用非500用户来远程访问皆为:拒绝访问

解决:

在注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem中添加一个键值LocalAccountTokenFilterPolicy。LocalAccountTokenFilterPolicy默认不存在,即为0(开启远程限制),添加并设置为1时将关闭远程限制

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

20201105windows横向渗透中的令牌完整性限制1242

再次访问,可

20201105windows横向渗透中的令牌完整性限制1251

schtasks ,可
20201105windows横向渗透中的令牌完整性限制1265

若要限制500用户administrator的远程登录,那就是直接把FilterAdministratorToken设置为1,路径为:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 1 /f

20201105windows横向渗透中的令牌完整性限制1526

再用Administrator连接就拒绝访问了

20201105windows横向渗透中的令牌完整性限制1552

在域环境中,本地管理员用户的域账户不受LocalAccountTokenFilterPolicy限制

02 域环境

主机A winsrv2012
主机B win10 192.168.18.149
用户test\admin为非rid500的主机B 本地管理员的普通域用户
用户test\uuser 为普通域用户

test\admin访问,可

20201105windows横向渗透中的令牌完整性限制1726

但非本地管理员的普通域用户还是会受LocalAccountTokenFilterPolicy限制

普通域用户test\uuser访问,拒绝访问
20201105windows横向渗透中的令牌完整性限制1800

域管理员用户则不受限制

由此可见remote UAC才是限制远程访问的主要原因