Windows 為了方便遠端管理,預設會在每個 NTFS 分區根目錄建立 管理共享 (Administrative Shares):C$, D$, ADMIN$ (對應 %SystemRoot%), IPC$ (命名管道/進程間通訊)。這些共享**不顯示在「我的電腦」或「檔案總管」中**,但任何知道密碼的使用者均可透過 \\IP\C$ 直接存取整個磁碟。若帳號密碼脆弱、或遭遇 SMB Relay / Pass-the-Hash / 暴力破解,這些共享即成為攻擊者的「高速公路」。本文提供三種永久停用方案,並說明副作用與替代管理方式。
net use \\target\C$ /user:domain\user pass → 遍歷全盤、植入惡意碼、竊取 SAM/NTDS.dit、部署勒索軟體IPC$ 允許匿名/已驗證枚舉共享、會話、使用者、群組、登錄表 (遠端 Registry)
# 以管理員身分執行 PowerShell
$paths = @(
'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters'
)
foreach ($p in $paths) {
# AutoShareServer: 伺服器版 (預設 1=啟用) -> 0=停用
# AutoShareWks: 工作站版 (預設 1=啟用) -> 0=停用
Set-ItemProperty -Path $p -Name 'AutoShareServer' -Value 0 -Type DWord -Force
Set-ItemProperty -Path $p -Name 'AutoShareWks' -Value 0 -Type DWord -Force
}
# 重啟 Server 服務生效
Restart-Service LanmanServer -Force
驗證: net share 不再顯示 C$, D$, ADMIN$ (僅顯示手動建立的共享)。
gpmc.msc → 新增/編輯 GPO「Disable Administrative Shares」gpupdate /force 生效
@echo off
rem 停用並刪除現有管理共享
net share C$ /delete /y
net share D$ /delete /y
net share E$ /delete /y
net share F$ /delete /y
net share ADMIN$ /delete /y
net share IPC$ /delete /y
rem 註冊表永久停用 (需重啟 Server 服務)
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v AutoShareServer /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v AutoShareWks /t REG_DWORD /d 0 /f
net stop Server & net start Server
將此腳本部署為啟動腳本 (GPO → 電腦設定 → Windows 設定 → 指令碼 → 啟動) 或排程任務 (系統啟動時,最高權限)。
| 受影響功能 | 影響說明 | 替代方案 |
|---|---|---|
| 遠端檔案管理 (複製/刪除/修改檔案) | 無法透過 \\IP\C$ 直接操作 |
WinRM/PowerShell Remoting (Kerberos/憑證認證、加密傳輸) SCCM/Intune/Ansible 套件分發 SFTP/SCP (OpenSSH Server) |
| 遠端註冊表編輯 (regedit → 連接網路註冊表) | IPC$ + Remote Registry 服務失效 |
PowerShell Remoting Invoke-Command { Set-ItemProperty ... }Group Policy Preferences 統一設定 |
| 遠端服務管理 (services.msc / sc.exe / PowerShell) | 需 RPC + IPC$ + SCM | PowerShell Remoting Get/Start/Stop/Restart-ServiceSCM over WinRM |
| 遠端事件檢視器 / 效能監視器 / 磁碟管理 | 依賴 RPC + IPC$ + Admin$ | Windows Admin Center (WAC) — 瀏覽器式管理閘道,HTTPS + Kerberos/憑證 PowerShell / WMI / CIM 遠端查詢 |
| 軟體部署/修補 (GPO 軟體安裝、WSUS、SCCM) | 部分舊式部署依賴 Admin$/IPC$ | SCCM/Intune/WSUS 客戶端主動拉取、WinRM/SSH 推送腳本 |
| 簇集/高可用性心跳 | 叢集節點間可能使用 Admin$/IPC$ | 專用叢集網路 保留必要共享,或改用 SMB 3.0+ 多通道/專用網段 |
若特定伺服器 (如檔案伺服器、備份伺服器) 確需管理共享,可採用 「預設關閉 + 白名單開啟」:
# 1. 全域關閉 (GPO/註冊表)
# 2. 目標伺服器本地例外:建立自訂共享並設定精細權限
net share AdminTools=C:\AdminTools /grant:DOMAIN\Admins,FULL /grant:DOMAIN\BackupOperators,READ /caching:none
# 3. 防火牆限制:僅允許管理工作站/堡壘機 IP 存取 445 埠
New-NetFirewallRule -DisplayName "Allow Admin SMB from Bastion" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 -RemoteAddress 10.0.10.10/32 -Profile Domain,Private
# 本地驗證
net share
Get-SmbShare | Where-Object { $_.Name -like '*$' -and $_.Name -ne 'IPC$' } # 應無輸出
# 遠端驗證 (應失敗/拒絕存取)
net use \\TARGET_IP\C$ /u:DOMAIN\USER PASS
Enter-PSSession -ComputerName TARGET_IP -Credential (Get-Credential) # WinRM 應正常
最佳實務: **預設關閉所有管理共享**,改用 PowerShell Remoting / WinRM / Windows Admin Center / SCCM / Intune / SSH 進行現代化、加密、可稽核的遠端管理。僅在極少數舊版相容場景下,以「最小權限、網路隔離、審計日誌」為前提選擇性開啟。這才是企業級環境的專業標準。