关闭windows默认ipc$共享需从三方面协同限制:一是设restrictanonymous=1禁用匿名访问,阻止空会话枚举;二是设autoshareserver=0和autosharewks=0关闭c$、admin$等关联共享;三是禁用server服务(影响较大)。
关闭 windows 系统的默认 ipc$ 共享,核心目标是阻断未授权的远程进程通信通道,降低被利用进行空连接、密码爆破或横向渗透的风险。它不能单独“删除”,而需从访问控制、服务依赖和系统行为三方面协同限制。
限制匿名访问(最直接有效)
IPC$ 本身无法彻底删除(Server 服务运行时系统强制存在),但可禁止未登录用户的探测和枚举:
- 以管理员身份打开注册表编辑器(regedit)
- 定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 找到或新建一个名为 RestrictAnonymous 的 DWORD 值
- 将其数值数据设为 1(不是 0)
设置后重启生效。此举将阻止攻击者通过空会话(null session)获取用户列表、共享名、组信息等敏感枚举结果,大幅削弱 IPC$ 利用价值。
禁用自动创建的关联共享(切断常见攻击路径)
很多 IPC$ 攻击后续会尝试映射 C$、ADMIN$ 等管理共享。关闭这些配套共享,等于拆掉跳板:
- 打开注册表,进入:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- 新建 DWORD 值 AutoShareServer,设为 0 → 关闭 C$、D$ 等磁盘根目录共享
- 新建 DWORD 值 AutoShareWks,设为 0 → 关闭 ADMIN$、PRINT$ 等管理共享
修改后需重启,或重启 Server 服务(net stop server && net start server)使配置生效。
关闭 Server 服务(最彻底,但影响大)
IPC$ 由 Server 服务提供。停用该服务可完全禁用所有 SMB 共享(含 IPC$):
- 运行 services.msc,找到 “Server” 服务
- 右键 → 属性 → 启动类型设为 “已禁用”,点击 “停止”
注意:这会同时禁用文件共享、打印机共享、远程管理工具(如某些 PowerShell 远程命令)、以及部分域控或备份软件依赖的功能。仅推荐在非域环境、无共享需求的独立终端或加固型服务器上使用。
补充加固建议
单靠关闭 IPC$ 不足以防御完整攻击链,建议同步执行:
- 关闭不必要的端口:用防火墙规则禁用入站 TCP 139 和 445 端口(尤其对外网网卡)
- 禁用 Telnet 服务(若启用):防止攻击者上传后通过 at 命令+Telnet 实现持久化
- 设置强密码策略:避免弱口令被用于建立带凭据的 IPC$ 连接
- 定期检查共享状态:命令行运行 net share,确认无残留的 $ 共享项











