Удаление стандартных общих ресурсов C$, ADMIN$, IPC$
Ключевые слова: стандартные общие ресурсы, шары, C$, ADMIN$, IPC$, net share
Большинсто людей, работающих в локальных сетях, даже не подозревают о том, что можно обратиться к их диску C: и посмотреть их личные документы. Большинство людей считают: раз я не ставил общий доступ к ресурсам на моем компьютере, то другие не смогут туда залезть. Как бы не так :). Достаточно вам ввести к командной строке («Пуск -> Выполнить -> cmd»)
чтобы убедиться, что у вашего компьютера есть такие «расшаренные» ресурсы, как c$, admin$, ipc$ и другие в этом же духе.
Если кто-либо в вашей сети обладает правами администратора, то он может запросто посмотреть ваш диск. Например, ваш компьютер в локальном домене организации носит имя “my_pc”. В таком случае для доступа к вашему диску C: достаточно ввести путь в проводнике “\my_pcc$”. Попробуйте сами сделать это. Если у вас есть права администратора, то введите подобную команду, заменив имя своего компьютра на имя компьютера соседа.
Для чего я все это рассказываю? Чтобы вы поняли, насколько вы «открыты» другим по-умолчанию. Конечно, это только один из аспектов вашей безопасности при работе в сети, но им тоже нельзя пренебрегать. Итак, как отключить все это безобразие?
Если удалить эти ресурсы через «Управление компьютером» -> «Общие папки», то после перезагрузки они появятся снова. Полностью отключить скрытые ресурсы можно только с помощью правки реестра. Откройте раздел
HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters
Добавьте или измените следующие значения:
Операционная система | Параметр | Тип | Значение |
Windows 2000 Server | AutoShareServer | REG_DWORD | 0 |
Windows 2000 Professional | AutoShareWks | REG_DWORD | 0 |
Однако, этот метод не уберёт sharing с IPC$. Для того что бы полностью избавиться от всех административных шарингов, создайте BAT или CMD файлик следующего содержания, и вставьте его в автозагрузку.
net share c$ /delete
net share admin$ /delete
net share ipc$ /delete
Если в вашей системе есть дополнительный диск D:, то можно добавить такую строку:
net share d$ /delete
Последние команды можно записать в исполняемый bat-файл (например, del_share.bat) и запускать в автозагрузке или вручную.
Еще раз повторюсь – узнать, какие общие ресурсы открыты на вашем компьютере можно командой “net share” из командной строки windows либо через «Управление компьютером» -> «Общие папки».
Также есть утилита LanSafety, которая сама сделает за вас все это.
Вот и все. Заметочка вышла небольшая, но, надеюсь, полезная.
Как включить административные общие ресурсы в ОС Windows 10, 8 или 7 (C$, D$, $admin и другие)
В некоторых случаях необходимо включить административные общие ресурсы на локальных жёстких дисках, обычно для административных целей. Административные общие ресурсы — это сетевые папки, которые создаются по умолчанию (также называются Admin shares или Administrative shares) для всех дисков (C$, D$ и т.д.) на компьютере Windows, которые по умолчанию скрыты и недоступны из сети.
Windows Vista и более новые версии Windows (Windows 7, 8 и 10) не позволяют локальным учётным записям получать доступ к административным общим ресурсам через сеть. В результате этого вы получаете сообщение об «отказе в доступе» всякий раз, когда вы пытаетесь подключиться с компьютера в сети к дефолтным административным ресурсам (например, к C$) на другой рабочей станции вашей локальной сети, или вы получаете следующее сообщение об ошибке: «Вход не выполнен: Windows не может войти в систему. Убедитесь, что ваше имя пользователя и пароль верны».
В этом руководстве вы найдёте инструкции о том, как успешно включить стандартные административные общие ресурсы локальных дисков на компьютере под управлением Windows 10, 8.1, 8 или 7.
Как включить стандартные общие административные ресурсы — C$ — в ОС Windows 10, 8 или 7
Важное замечание: чтобы получить доступ к общим ресурсам администратора, необходимо убедиться, что компьютеры Хост* и Гость** принадлежат к одной и той же рабочей группе или домену (оба имеют одинаковое имя рабочей группы или домена).
* Хост-компьютер = компьютер с активированными общими ресурсами администратора.
** Гостевой компьютер = любой другой компьютер в сети, который будет подключаться к общим ресурсам администратора на хост-компьютере.
Чтобы проверить, какое имя у вашего компьютера, откройте проводник, в нём найдите вкладку «Этот компьютер», вверху нажмите кнопку «Компьютер» и в открывшемся меню нажмите кнопку «Свойства»:
В новом открывшемся окне вы увидите «Имя компьютера» и «Рабочую группу»:
Шаг 1. Включите учётную запись администратора и установите пароль.
Если вы хотите получить доступ к общим ресурсам администратора на компьютере (хосте), используя учётную запись пользователя «Администратор», то вы должны включить и установить пароль для учётной записи администратора на этом компьютере. Для этого:
1. Нажмите клавиши Win+r, чтобы открыть окно запуска команды.
2. Введите lusrmgr.msc и нажмите Enter.
3. Откройте Пользователи.
4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.
5. Снимите флажок «Отключить учётную запись» и нажмите ОК.
6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».
7. Укажите пароль для учётной записи администратора и нажмите «ОК».
Шаг 2. Общий доступ к файлам и принтерам
На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам.
Нажмите правой кнопкой мыши на значок сетевого соединения и нажмите «Открыть параметры сети и Интернет»:
В открывшемся окне нажмите на «Параметры общего доступа»:
Если вы хотите перейти к этим настройкам через «Панель управления», то путь такой: Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом\Дополнительные параметры общего доступа
В новом окне настройки разбиты на три раздела:
- Частная
- Гостевая или общедоступная
- Все сети
Пометка «(текущий профиль)» означает, что в данный момент используется именно этот профиль.
Нам нужно изменить настройки для той сети, которая отмечена как «(текущий профиль)», а также в разделе «Все сети».
Переходим в Частная (текущий профиль):
Первая настройка: Сетевой обнаружение (Если включено сетевое обнаружение, этот компьютер может видеть другие компьютеры и устройства в сети и виден другим компьютерам). В ней выберите «Включить сетевое обнаружение» и поставьте галочку «Включить автоматическую настройку на сетевых устройствах».
Вторая настройка: Общий доступ к файлам и принтерам (Если общий доступ к файлам и принтерам включён, то файлы и принтеры, к которым разрешён общий доступ на этом компьютере, будут доступны другим пользователям в сети). Здесь выберите «Включить общий доступ к файлам и принтерам».
Вас также могут заинтересовать статьи:
Шаг 3. Включите общий доступ к файлам и принтерам в брандмауэре Windows
Следующий шаг — включить «Общий доступ к файлам и принтерам» через брандмауэр Windows. (на хост-компьютере)
Проверьте, что сетевой доступ к файлам и принтерам включён в файерволе. Для этого нажмите Win+r, введите там firewall.cpl.
Во вкладке «Разрешение взаимодействия с приложениями или компонентами в брандауэре защитника Windows»
найдите «Общий доступ к файлам и принтерам» и убедитесь, что стоит галочка в столбце «Частная» — если его там нет, то нажмите кнопку «Изменить параметры», поставьте галочку и нажмите ОК.
Заключение
Теперь вы сможете получить доступ к общим дискам администратора на главном компьютере, с любого другого компьютера в вашей сети (Гостевой компьютер), введя в поле Открыть (или Win+r) имя (или IP-адрес)) хост-машины и букву диска, к которому вы хотите получить доступ, за которым следует символ доллара ($).
Например, если вы хотите получить доступ к диску «C:\» на «hackware-mial», введите в поле «Открыть»: \\hackware-mial\C$
Если появится окно запроса имени пользователя и пароля, то в качестве имени введите «Администратор» и пароль администратора на удалённом компьютере.
Персональный блог Толика Панкова
Стихи, рассказы, философия, IT, политика, панкизм, раздолбайство и болтовня.
Не выспавшийся после бурной ночи Николай Валуев обвенчал Ксению Собчак и двойника генерального прокурора Ю. Чайки
Отключение стандартных (скрытых) общих ресурсов в Windows 7 (XP, 2000)
А также игры с BAT-файлами.
В Windows 7 (кроме домашней версии), а также и в более ранних (Vista, XP, 2000) версиях присутствуют т.н. стандартные (или скрытые) общие (расшаренные, сетевые) ресурсы, «админские шары». Туда входят локальные диски (имена, например C$, D$, E$ ), обнаруженные во время установки, «удаленный Admin» ( ADMIN$ ) — каталог операционной системы (например C:\Windows ), и специальный ресурс «удаленный IPC» ( IPC$ ). Все эти ресурсы доступны из локальной сети. При обычном просмотре компьютера в локальной сети, например, через «Сетевое окружение» или в проводнике их не видно, но пользователь, обладающий правами администратора, вполне может получить к ним доступ. В Windows XP или 2000 с этим была большая беда и неприятность, особенно в XP, и особенно, если она была установлена с настройками по умолчанию, а безопасности не было уделено должного внимания. Доступ к этим скрытым ресурсам мог получить любой пользователь в локальной сети, знающий логин администратора, если пароль администратора не был установлен. Часто пароль на основную админскую запись — « Администратор » банально забывали установить, даже если создавали отдельного пользователя с админскими правами и паролем.
В Windows 7 с этим вроде бы стало получше: Если на ПК, к которому мы пытаемся подключиться, установлена Windows 7 со включенным контролем учетных записей, подключиться к общим ресурсам можно только используя встроенную учетную запись «администратор». Данная учетка должна быть разблокирована и иметь пароль. Подключение под любым другим пользователем, даже обладающем правами локального админа, не пройдет. [1]
Просмотр расшаренных ресурсов.
Первый вариант. Идем в Пуск —> Все программы —> Администрирование —>Управление компьютером (или нажимаем Win+R и вводим команду compmgmt.msc /s ) и выбираем в появившемся окне в левой колонке Общие папки, а потом Общие ресурсы. Должно отобразиться что-то типа этого:
Другой вариант, ввести в консоли команду net share .
Должно получиться что-то типа такого (понятно, что у вас буквы дисков будут другие):
Специальный ресурс IPC$
Вот что об этом ресурсе говорит официальная справка:
Общий ресурс IPC$ также известен, как подключение пустых сеансов. С помощью этих сеансов Windows позволяет анонимным пользователям выполнять определенные операции, например получать имена учетных записей домена и список общих сетевых ресурсов.
Общий ресурс IPC$ создается службой Windows Server. Этот особый общий ресурс существует для обеспечения последующих именованных каналов подключения к серверу. Именованные каналы сервера создаются для компонентов, встроенных в операционную систему и приложений или служб, которые установлены в системе. При создании именованного канала процессу задается уровень безопасности, связанный с каналом и затем это гарантирует, что доступ предоставлен только для указанных пользователей или групп. [2] [3]
Проще говоря, если IPC$ удалить, то другой компьютер не сможет посмотреть, есть ли на вашем компьютере расшаренные ресурсы. Так же могут отвалиться некоторые системные сервисы. На практике, у меня отвалился доступ только к 1С «Склад» (7.7), который и был мне не особо нужен, давно хотел откосить от забивания и проверки накладных и от материальной ответственности :). Но не стоит так делать на «сервере» 7.7, где в самом простом случае никакого сервера нет, а просто базы лежат в расшаренной папке — скорее всего, отвалится все к penis canis. 🙂
Внимание! Если просто удалить эти ресурсы через Управление компьютером, то при следующей перезагрузке ресурсы восстанут, и придется опять выливать воду из чайника.
Отключение доступа к стандартным ресурсам через Реестр
На мой взгляд, в XP и ниже это делать надо обязательно, в семерке можно обойтись, но если вы параноик, или, как меня, вас достала какая-нибудь комиссия (да, ФСТЭК и РКН, вдругорядь, не penis canis), то это опять же надо делать.
Необходимо в ключе Реестра
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
добавить следующие значения:
AutoShareServer и AutoShareWks типа REG_DWORD со значением 0 (Windows XP/2000 Proffessional/2000 Server). Вообще где-то надо один, где-то второй, но если добавить оба — ничего страшного случиться не должно. Для семерки тоже должно работать. [4] [5] [6]
После добавления делаем перезагрузку.
Минусы:
— не отключить доступ к IPC$
— вырубается доступ ко всем скрытым шарам, а иногда такую корову полезно иметь самому, для некоторых дисков, и без установки стороннего ПО.
Плюсы:
+ Вырубается быстро и самое основное.
Отключение доступа через BAT/CMD файл
С одной стороны все довольно просто — можно насовать в файл однотипных команд типа
net share c$ /delete , но так, согласитесь, некрасиво, особенно, если этих самых админских шар десяток, компов сотня, а еще что-то надо кое-где оставить себе любимому. Но на то нам и командные файлы, чтоб сделать «все как ты захочешь».
Покажу на примере самого простого случая — надо удалить все шары, вместе с не удаляемой через Реестр IPC$ . Пример простой, но развивая можно улучшить и углУбить под вашу задачу.
Конечно, язык командных файлов Windows жутко беден, по сравнению с огромными возможностями shell Linux, ИМХО, даже с помощью простенькой sh и BisyBox можно сделать то же самое, и даже гораздо больше, намного удобнее. Но это была секунда ворчания — оседлали корову, придется ехать на ней.
Получение и перебор всех значений
Для перебора всех значений (строк) из определенного списка, в BAT/CMD существует оператор (по правилам MS правильнее говорить «внутренняя команда») FOR , которая на самом деле ведет себя как foreach в «больших» языках программирования, т.е. перебирает список/массив данных, пока тот не лопнет кончится.
Общий синтаксис:
FOR %переменная IN (набор) DO команда [параметры] [7]
Чтобы вся магия у нас получилась, перед использованием FOR выполним такую команду:
Обычно, в командных файлах команда FOR используется не только для разбора данных, но и их обработки, что требует использования переменных внутри цикла FOR. И здесь возникает проблема — изменения значений переменных не происходит, т.е. их применение внутри скобок невозможно. Подобное явление вызвано не логическими предпосылками, а всего лишь определенными особенностями реализации командного процессора CMD.EXE [7]
Использование Setlocal EnableDelayedExpansion позволяет использование переменных внутри цикла FOR , правда, не совсем. Но об этом далее.
Теперь разберемся откуда брать список. FOR может обрабатывать вывод заданной команды, если использовать его таким образом:
FOR /F %переменная IN (набор) DO (
command1 [parameters]
command2
. . .
)
и вместо набор вставить ‘команда’ , где:
‘команда’ — любая команда Windows, выводящая на консоль некую информацию (не забудьте одинарные кавычки).
/F — указание команде FOR обрабатывать список значений, файлов или вывод команды.
В параметрах команды FOR можно задать разделитель полей. Для этого нужно указать в качестве параметра следующую конструкцию:
delims=xxx — набор разделителей между обрабатываемыми элементами строк. По умолчанию, в качестве разделителей используются пробелы и знаки табуляции. [7]
Если разделитель не задать, то FOR дойдет до первого пробела или табуляции, все остальное выкинет, и перейдет к следующей строке. Т.е. в нашем случае получим:
Внезапно, почти то, что нам надо!
А надо нам отключить админские шары, а они выделяются на общем фоне — у них внутри неонка в конце имени $ . Надо теперь отделить зерна от плевел.
Ищем подстроку в строке
Итак:
1. создадим переменную при помощи SET , и присвоим ей исходный текст set V1=mother (имена переменных учитывают регистр, имена команд нет).
2. Сделаем следующее:
set V2=%V1:her=%
где her — подстрока, которую надо найти. Если в переменной V1 будет подстрока her , то в переменной V2 окажется подстрока moth (т.е. содержимое переменной V2 без указанной подстроки).
Чтобы проверить, содержит ли строка из переменной V1 подстроку, заданную в пункте 2, надо сравнить результирующие строки. Если они НЕ равны — строка V1 содержит подстроку her .
Внезапное НО. Или то, о чем упоминал ранее.
Оказывается, IF внутри FOR не работает, точнее не принимает переменных, не в виде % ITEM% , не в виде %%ITEM%% , не в виде !ITEM! . Как только я не перепробовал (может дурак все-таки я, кто знает — поправьте). Но пока не поправили, пришлось ухищряться.
В BAT-файле можно создавать подпрограммы, кривые, косые, но подпрограммы.
Вызываются они так call :метка параметр1 параметр2 .
После окончания основного файла делается так. Ставится метка подпрограммы, далее идут команды, в конце ставим еще одну метку, например :eof .
В конце основной программы ставим goto :eof
Параметры, переданные этой недоподпрограмме, внутри видятся точно также, как и внешние параметры BAT-файла, т.е. %1 , %2 . Только в подпрограмме.
После выполнения подпрограммы начинает выполняться следующая команда после call , у нас это новая итерация цикла.
А в подпрограмме мы как раз и производим сравнение, и если нашли символ $ — запускаем команду удаления ресурса:
Можно скопировать код с PasteBin [10] или Mega.nz [11]
С автозагрузкой получается странная штука, на форумах подобный батник советуют просто кинуть в автозапуск и забыть. Может на XP/2000 так и сработает, но на Windows 7 тут кардинальное отличие.
1. Такой батник надо запускать от администратора (пользователя из группы « Администраторы «)
2. Будет заебно заставлять главбуха каждую загрузку подтверждать UAC
3. Сразу дерево почему-то не жужжит, скорее всего, потому что сетевой подсистеме требуется время на запуск, который происходит после входа пользователя в систему. А до этого команда net не работает.
Но тут на помощь пришел опять «Планировщик заданий».
Как в статье про запуск программы без сообщений UAC от имени администратора [12] [13], мы также добавляем наш батник в «Планировщик заданий», но на этот раз, создавая задание, переходим еще и на вкладку «Триггеры«. Добавляем триггер, и откладываем запуск задачи (батника) на 30 секунд. Значение 30 секунд установлено исключительно экспериментально и не на совсем говенной машине, возможно, вам потребуется больше. Ставьте минуту/две.
Источники, литература, дополнительные ссылки и код.