在企业的内网安全防御中,通常会将横向移动技术作为指标,进行有针对性的检测。尽管如此,还是有不少攻击者巧妙地避开了层层关卡,在Windows环境中横向移动。针对这些高级攻击者,该如何应对呢?在使用IPC,WMIC等进行横向移动时,如果使用RID非500的管理员用户,有时会拒绝访问,是什么原因?
本文由锦行科技的安全研究团队提供,站在攻击者的视角分析windows内的横向移动,帮助大家深入了解横向移动的全过程以应对该种攻击。
Kb2871997
网传Kb2871997 是限制远程访问的主要原因,测试一下
01 工作组环境下
① 主机B:win7 ,192.168.18.156 ,未打Kb2871997补丁
用户 win7 非500的主机B本地管理员账户
使用Administrator访问,可
用户Win7访问。拒绝访问
② 主机B安装Kb2871997补丁
Administrator访问,可
用户Win 7访问,拒绝访问
02 域环境
主机B 192.168.18.156 安装了Kb2871997补丁
用户test\User为主机B本地管理员的普通域用户
用户test\User访问,可
由安装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 拒绝访问
Schtasks 拒绝访问
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
再次访问,可
schtasks ,可
若要限制500用户administrator的远程登录,那就是直接把FilterAdministratorToken设置为1,路径为:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 1 /f
再用Administrator连接就拒绝访问了
在域环境中,本地管理员用户的域账户不受LocalAccountTokenFilterPolicy限制
02 域环境
主机A winsrv2012
主机B win10 192.168.18.149
用户test\admin为非rid500的主机B 本地管理员的普通域用户
用户test\uuser 为普通域用户
test\admin访问,可
但非本地管理员的普通域用户还是会受LocalAccountTokenFilterPolicy限制
普通域用户test\uuser访问,拒绝访问
域管理员用户则不受限制
由此可见remote UAC才是限制远程访问的主要原因