admin$是windows系统指向c:windows的隐藏管理共享,非漏洞但暴露于不可信网络会扩大攻击面;应通过禁用自动创建(autoshareserver=0)、防火墙限源、禁用匿名会话、启用审计等分层加固,而非简单删除。
管理 windows 系统隐藏管理共享(如 admin$)的安全性,核心在于“控制访问”而非简单禁用——它本身不是漏洞,但暴露在不可信网络中会显著扩大攻击面。微软设计它的初衷是为管理员提供远程系统维护通道,关键是要确保只有可信人员、可信路径能使用它。
明确 ADMIN$ 的作用和风险点
ADMIN$ 是指向系统根目录(通常是 C:Windows)的隐藏共享,仅对本地 Administrators 组成员开放。它不用于日常文件共享,而是支撑远程服务管理、组策略更新、软件部署等后台任务。风险主要来自:
- 攻击者若已获取一个本地管理员账户密码,可直接通过
\IPADMIN$挂载并读写系统文件 - 配合 IPC$ 建立空会话或暴力爆破后,可能绕过部分身份验证环节
- 勒索病毒、横向移动工具常利用该共享投递恶意 payload 或执行命令
推荐的安全加固措施
不建议完全删除 ADMIN$,而应分层收紧:
-
关闭不必要的默认共享自动创建:修改注册表
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters,新建或修改AutoShareServer(DWORD)值为0。重启后,C$、D$、ADMIN$ 不再随系统启动自动生成 -
限制网络访问范围:使用 Windows 防火墙设置入站规则,只允许特定管理网段(如
192.168.10.0/24)访问 TCP/UDP 445 和 139 端口;拒绝其他所有来源 -
禁用匿名/空会话枚举:在
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa下设置restrictanonymous=1,并确认restrictanonymousSAM=1,防止未认证用户探测共享列表 -
审计与监控:启用 Windows 安全日志中的“对象访问”审核策略,对 ADMIN$ 目录开启“成功+失败”的句柄创建事件(需配合 SACL 设置),并在事件查看器中关注
Event ID 4663
替代方案:减少对 ADMIN$ 的依赖
很多传统远程管理操作已有更安全的替代方式:
- 用 WinRM over HTTPS 替代基于 SMB 的远程 PowerShell,支持证书双向认证
- 用 Remote Server Administration Tools (RSAT) 配合域策略集中管理,避免直连终端机 ADMIN$
- 部署专用管理跳板机,所有远程维护必须先登录跳板机,再从该机发起对目标的 ADMIN$ 访问
- 对非域环境,可考虑禁用 Server 服务(
sc config lanmanserver start= disabled),但需确认无依赖服务(如打印共享、WMI over SMB)
检测是否已被异常利用
快速自查方法:
- 运行
net session查看当前活跃的 SMB 会话,识别来源 IP 是否可疑 - 执行
net use检查本机是否意外映射了远程 ADMIN$(尤其注意脚本或计划任务自动挂载) - 检查
C:WindowsSystem32winevtLogsSecurity.evtx中近期是否有大量4624(登录成功)+4663(ADMIN$ 文件访问)关联事件 - 用
Get-SmbConnection | Where-Object {$_.ShareName -eq 'ADMIN$'}(PowerShell)确认当前连接详情











