Короткий ответ

Административные шары C$, ADMIN$, IPC$ нужны для управления, но приём подключений с любой WS-042 под локальным/доменным админом — путь бокового перемещения. Сужайте: кто может ходить на remote SAM и admin shares (группа jump-хостов / «Remote SAM» SDDL), сеть (firewall 445 только admin-VLAN), уникальные локальные пароли (LAPS), меньше NTLM. Не ставьте AutoShareServer=0 на всём парке вслепую — умрут агенты backup/инвентаризации.

IPC$ полностью «закрыть» нельзя без поломки SMB. Цель — не уничтожить шары, а кто и откуда.

Симптомы и как отличить

  • С пользовательского ПК dir \\SRV-APP01\C$ открывается под helpdesk-учёткой.
  • Инструменты инвентаря тянут локальных админов со всех станций (remote SAM).
  • 5140/5145 к ADMIN$ с неожиданных IP.
  • Сканер: administrative shares enabled — само по себе не finding без контекста.
КартинаИное
Пользовательская шара FinanceNTFS/share ACL, не C$
WinRM вместо SMBWinRM
SMBv1SMBv1
Domain Users в Administratorsправа

Возможные причины

  1. Любой локальный админ парка с общим паролем.
  2. Domain Admins на ежедневных ПК.
  3. Нет RestrictRemoteSAM / «Network access: Restrict clients allowed to make remote calls to SAM».
  4. Firewall 445 Any на Domain профиле.
  5. Агенты требуют C$ и их поставили как «все компьютеры = админы».

Диагностика

На сервере:

Get-SmbShare | Format-Table Name, Path, Description
Get-SmbSession | Format-Table ClientComputerName, ClientUserName, ShareName, Dialect
Get-SmbShareAccess -Name 'C$','ADMIN$' -ErrorAction SilentlyContinue

Политика Remote SAM (реестр RestrictRemoteSAM в HKLM\SYSTEM\CurrentControlSet\Control\Lsa — SDDL; задавайте через GPO Security Options, не руками без бэкапа):

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' | Select-Object RestrictAnonymous, RestrictRemoteSAM, ForceGuest
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' |
  Select-Object AutoShareWks, AutoShareServer, NullSessionPipes, NullSessionShares

Firewall:

Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Get-NetFirewallAddressFilter |
  Format-Table InstanceID, RemoteAddress

Аудит доступа к шарам (если включён Object Access / detailed share): ищите 5140 с WS-042 на ADMIN$.

Решение

Сценарий A. Ограничить источник 445

На серверах: inbound 445/135/RPC только с admin-подсети jump (10.0.10.0/24 подставьте). Пользовательские шары — отдельные правила на 445 с пользовательских VLAN, если файловый сервер должен служить людям. Не открывайте ADMIN$ с пользовательского VLAN.

# идея: сузить прежние Any-правила File and Printer Sharing, не выключать профиль
Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Set-NetFirewallRule -RemoteAddress 10.0.10.0/24

На файловом сервере с пользовательскими шарами так нельзя тупо для всей группы правил — разделите правила: пользовательские share vs admin. Иначе отрежете \\fs01\Finance.

Сценарий B. RestrictRemoteSAM

GPO: Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options → Network access: Restrict clients allowed to make remote calls to SAM.

Значение — SDDL, разрешающий Administrators и вашу группу CONTOSO\SAM-Remote-Readers (jump/сканеры инвентаря). Эталон SDDL берите из документации Microsoft «Restrict clients allowed to make remote calls to SAM» / Security Baseline для вашей ОС, не из случайного комментария.

Пилот OU станций: злоумышленник с одной WS-042 не перечисляет локальных админов соседа.

Сценарий C. Не выключать AutoShareServer без списка

AutoShareServer=0 убирает C$/ADMIN$. SCCM/некоторые backup/Remote Registry сценарии падают. Если политика «никаких admin shares»: замените управление на WinRM HTTPS и агенты без C$, проверьте вендоров, затем пилот.

Сценарий D. Учётные данные

Даже узкий firewall бесполезен, если с jump работают DA-учётки с пользовательских ПК. Совместите с разделением учёток и уникальным LAPS (PTH против C$).

На DC01 не оставляйте 445 с пользовательских VLAN на интерфейсе, где живёт LDAP: разведите NIC/правила. С WS-042 проверка \\DC01\C$ должна быть отказом; с jump — успех только для уполномоченных. RestrictRemoteSAM на станциях режет инвентарь, который ходил «под каждым локальным админом»: переведите инвентарь на jump-учётку в SDDL. Backup-сервер вне allow-list 445 — типичная причина «починили шары, умер Veeam»: добавьте CIDR медиа, не Any. Не ставьте AutoShareServer=0 на FS, пока агенты явно не мигрировали на WinRM.

Проверяйте оба пути: SMB к пользовательской шаре с VLAN пользователей жив, SMB к C$ с WS-042 мёртв. Если оба мертвы — вы сузили не те правила на файловом сервере contoso.example.

Как проверить, что проблема устранена

С WS-042 под обычным админом станции:

Get-SmbShare -CimSession SRV-APP01 -ErrorAction SilentlyContinue
dir \\SRV-APP01\C$

Ожидание: отказ. С jump-сервера в admin-сети — успех для уполномоченной учётки. Remote SAM enumeration с станции — отказ, с jump — успех. Backup job зелёный. Пользовательские шары на FS живы.

Если не помогло

  • Агент backup ходит с медиа-сервера вне allow-list — добавьте CIDR, не Any.
  • RestrictRemoteSAM сломал легитимный инвентарь — добавьте его компьютер/группу в SDDL, не удаляйте политику.
  • Пользователи потеряли \\fs\share — вы сузили не те правила; верните пользовательский 445 на FS.
  • IPC$ в сканере как finding — объясните риск vs функциональность, сужайте SAM/учётки.

Профилактика

  • Мониторинг 5140 ADMIN$ с Workstations OU.
  • Новые серверы в GPO Remote SAM + firewall admin-VLAN.
  • Запрет админских консолей на WS-042.
  • Часть hardening.

FAQ

Нужны ли PRINT$ / IPC$?

PRINT$ — для печати. IPC$ — именованные каналы SMB. Не выключайте IPC$ «как admin share».

Remote Registry

Часто рядом по риску. Если не нужен — служба Manual, доступ узкий. Не путайте с RestrictRemoteSAM, но планируйте вместе.

UAC remote restrictions (LocalAccountTokenFilterPolicy)

Фильтр удалённых локальных админов (кроме RID 500) — слой против PTH локальными учётками. Не ставьте LocalAccountTokenFilterPolicy=1 на парк «чтобы скрипты жили», это ослабление. Предпочтительны доменные учётки jump + LAPS для консоли.

Можно ли оставить C$ только на DC?

На DC admin shares тоже сужайте сетью. Не открывайте C$ DC пользовательскому VLAN.

Event 5140 нет

Нужен аудит File Share. Включите точечно, иначе будете слепы.

WinRM вместо C$

Да как цель управления. Пока агенты на C$ — двойной мир, документируйте.