萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

隱藏後門之關閉系統預設共享資源:徹底封鎖 C$/D$/ADMIN$/IPC$ 等管理共享

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)
  • 合規要求: 等保三級、PCI DSS、GDPR、NIST 800-53 均要求「關閉非必要共享、最小權限」

方案一:登錄表修改 —— 永久停用自動建立 (推薦)


# 以管理員身分執行 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$ (僅顯示手動建立的共享)。

方案二:群組原則部署 —— 企業統一管控

  1. gpmc.msc → 新增/編輯 GPO「Disable Administrative Shares」
  2. 電腦設定 → 原則 → 管理範本 → 網路 → Lanman Server → 「停用伺服器上的管理共享」/「停用工作站上的管理共享」 → 已啟用
  3. 連結至目標 OU (如「工作站」、「伺服器」),gpupdate /force 生效
  4. 優點:集中管理、防篡改、可稽核、新機器自動套用

方案三:批次檔 + 啟動腳本 (舊版相容/臨時方案)


@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-Service
SCM 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 進行現代化、加密、可稽核的遠端管理。僅在極少數舊版相容場景下,以「最小權限、網路隔離、審計日誌」為前提選擇性開啟。這才是企業級環境的專業標準。

copyright © 萬盛學電腦網 all rights reserved