攻击者可以利用Windows内核内置的某些命名管道获取远程会话信息,比如建立SMB会话的客户机、用户名信息。
对于XP、XP SP1,可能需要安装MS05-007/KB888302安全补丁。对于2000,可能需要安装SP4之后的那个累积安全补丁包。
即使安装了上述安全补丁,攻击者仍有可能利用SMB会话枚举远程会话,这取决于服务端的配置细节。
可以尝试如下命令关闭Server服务以彻底解决同类问题:
net stop server
sc config lanmanserver start= demand
注意,请事先确认服务器确实不需要Server服务!
解决方法
建议您采取以下措施以降低威胁:
* 可以限制匿名用户对Windows NT/2000/XP系统的LSA组件的访问,这可以避免匿名用户通过LSA获取系统的一些公开信息,例如共享列表信息。
具体方法可参考如下步骤:
<1> Windows NT
通过增加或修改键值"RestrictAnonymous",可以防止匿名用户通过一些
win32 API调用(例如NetShareEnum,NetUserEnum)来列举用户名和共享名。
在“开始 > 运行...”或者命令行窗口中运行注册表编辑器(regedt32.exe), 找到下列键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
增加或者修改键值"RestrictAnonymous":
键值: RestrictAnonymous
类型: REG_DWORD
数据: 0x1 (十六进制)
重启系统使注册表修改生效。
<2> Windows 2000
在“开始 > 运行...”或者命令行窗口中运行注册表编辑器(regedt32.exe), 找到下列键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
增加或者修改键值"RestrictAnonymous"
键值: RestrictAnonymous
类型: REG_DWORD
数据: 0x2 (十六进制)
重启系统使注册表修改生效。
或者您也可以使用下面的方法:
打开控制面版 -- 管理工具 -- 本地安全策略(如果是域控制器则是“域安全策略”),
在其中的本地策略 -- 安全选项中设置“对匿名连接的额外限制”,
选择“没有显式匿名权限就无法访问”,重启系统。
<3> Windows XP
打开控制面版 -- 管理工具 -- 本地安全策略(如果是域控制器则是“域安全策略”),
在其中的本地策略 -- 安全选项中
选择“网络访问:不允许匿名列举SAM帐号和共享”,双击,选择“已启用”。
重启系统。
* 如果您并不需要提供网络共享服务,可以完全关闭共享。
windows2000和XP下面关闭共享的办法是:
在控制面版 - 网络和拨号连接 - 高级 (菜单栏) - 高级设置中
选择本地连接的绑定 - 去掉“Microsoft网络的文件和打印机共享”。
Windows NT下面关闭共享的办法是:
网上邻居 - 属性(右键) - 绑定 - 选择所有协议 - 禁用WINS客户
* 在网关设备或边界防火墙上过滤对内网主机下列端口的访问:
135/TCP
135/UDP
137/UDP
138/UDP
139/TCP
445/TCP
445/UDP
注意这不能防止内部恶意用户的攻击。如需防止内部恶意用户的攻击,需要安装主机防火墙软件或者启用Windows自带的TCP/IP筛选机制来过滤上述端口。
利用SMB会话可以枚举远程会话
原文:https://www.cnblogs.com/mrhonest/p/10892895.html